๐Ÿ“ฆ Frooodle / rummy-tiles-io

๐Ÿ“„ README.md ยท 52 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52# Tile Rummy Multiplayer

Browser-based multiplayer Tile Rummy with room IDs and reconnects (same room ID + name).

Demo link: https://rummy-tiles-io.onrender.com/

## Dev setup

```bash
npm install
npm run dev:server
npm run dev:client
```

- Server runs on `http://localhost:3000`
- Vite client runs on `http://localhost:5173`
- The client auto-connects to port 3000 when running on 5173.

## Rules implemented

- Classic 106 tiles (two of each 1-13 in 4 colors + 2 jokers)
- Up to 5 players, 13 tiles each
- Initial meld: play at least 30 points from your hand before rearranging the table
- Full table rearrangement after initial meld (must keep all existing table tiles)
- Valid sets (same value, different colors) and runs (same color, consecutive)
- Jokers can represent any tile; scoring treats jokers as 30 points
- Round ends when a player empties their hand, or stalemate with empty deck

## Production build

```bash
npm install
npm run build
npm start
```

## Template scaffold

Use the adapter + room manager layout to build new IO games:

- Adapter contract: `docs/adapter-interface.md`
- Minimal scaffold: `templates/blank-game/README.md`
- New repo checklist: `docs/new-game-repo.md`
- Shared theme CSS: `client/src/ui/theme.css`

## Docker

```bash
docker build -t tile-rummy .
docker run -p 3000:3000 tile-rummy
```