https://github.com/jack-carling/scrabble
Interpretation of the classic game - multiplayer
https://github.com/jack-carling/scrabble
game multiplayer sse typescript
Last synced: 3 months ago
JSON representation
Interpretation of the classic game - multiplayer
- Host: GitHub
- URL: https://github.com/jack-carling/scrabble
- Owner: jack-carling
- Created: 2021-06-23T18:11:19.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-11-29T19:18:09.000Z (over 2 years ago)
- Last Synced: 2025-01-23T17:15:39.151Z (5 months ago)
- Topics: game, multiplayer, sse, typescript
- Language: Vue
- Homepage: https://crosswords-game.herokuapp.com/
- Size: 931 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Crosswords
## Screenshot
## About
Interpretation of the classic word game scrabble. Using the HTML Drag and Drop API, a dictionary API and Server Sent Events (SSE) to play multiplayer.
**Game is now available in both English and Swedish!**
Users start by creating a game room, choosing the number of players that will join (2-4) and choosing which language to play in. The user then shares the code with friends and the game commences when everyone has joined.
All players start with 7 tiles randomly generated by the server. There is a total of (EN: 100 / SV: 116) tiles at the start of each game. As long as there are tiles remaining, the server will restock each player’s rack by the end of their turn.
Words are checked against a dictionary and only valid words can be played. The first word has to have one tile on the star in the center of the board and players are only allowed to play horizontal or vertical. All tiles must connect with at least one other tile on the board throughout the game.
Scores are calculated by the point of each letter in combinations with premiums and/or other words formed.
Player(s) with the current highest score will have a golden trophy icon next to their name in the score board.
Turn based game prevents other players from interacting if it’s not their turn.
If a user disconnects and there are still more than two users in a game room the game can be continued. The game will clear the board of any of the disconnected user’s tiles that might happen to be in play if that user was in the middle of their turn.
A user can choose to skip or swap 1-7 tiles out of their rack instead of playing a turn. Swapping letters is only possible if there are at least seven left in total. Number of tiles left are indicated under the rack.
The game will end if one of the following happens:
- Everyone except one user disconnects
- If a user plays all of the remaining tiles in their rack and there are no tiles remaining
- If everyone skips their turn at least once when there are less than seven tiles remaining## Setup
```bash
# Install dependencies
npm install# Terminal 1: Frontend
npm run dev# Terminal 2: Backend
npm run server
```