Reviewed-on: david/kostky#19
kostky
Textová (CLI) hra v kostky pro více hráčů – varianta klasického Farkle („tisícovky“). Běží celá v terminálu a je napsaná v čistém Pythonu bez externích závislostí.
Požadavky
- Python 3.7+ (hra se spoléhá na zachování pořadí klíčů ve slovníku)
- Žádné externí balíčky – používá se jen standardní knihovna
(
random,os,re,csv,collections,typing)
Spuštění
git clone https://gitea.spacilovi.eu/david/kostky.git
cd kostky
python main.py
Hru spouštěj z adresáře projektu – soubor
hodnoty.csv(bodovací tabulka) se načítá relativní cestou vůči aktuálnímu adresáři.
Jak se hraje
Začátek hry
- Zadej jméno prvního hráče (povinné, nesmí být prázdné).
- Přidávej další hráče; zadáním
xzadávání ukončíš. Jména musí být unikátní. - Zadej cílové skóre, nebo nech pole prázdné pro výchozích 10 000.
Průběh tahu
Na začátku tahu uvidíš cílové skóre, kdo je na tahu (a jeho celkové skóre) a hod šesti kostkami s očíslovanými pozicemi:
Vítězné skóre: 10000.
Na tahu je Anna (0).
1, 5, 3, 2, 6, 4
^ ^ ^ ^ ^ ^
1 2 3 4 5 6
Pak zvolíš jednu z akcí:
| Vstup | Akce |
|---|---|
pozice kostek |
Odložíš vybrané kostky k vyhodnocení (např. 1, 34, 123456). Hodnoty na zvolených pozicích musí dohromady tvořit některou kombinaci z bodovací tabulky. |
h |
Hodíš znovu zbývajícími kostkami. Povoleno až poté, co v tomto tahu odložíš aspoň jednu bodující kombinaci. |
k |
Ukončíš tah, připíšeš si nasbírané skóre a předáš tah dalšímu hráči. |
Odkládat můžeš i víc kombinací po sobě – po každém vyhodnocení pokračuješ se zbývajícími kostkami a body se v rámci tahu sčítají.
Smůla, hot dice a výhra
- Smůla (bust): když čerstvý hod neobsahuje žádnou bodující kombinaci, o body z tohoto tahu přijdeš a tah přechází na dalšího hráče.
- Hot dice: když se ti podaří odložit všech šest kostek, dostaneš čerstvý hod šesti kostkami a pokračuješ ve stejném tahu.
- Výhra: po dokončení každého kola se kontroluje, jestli někdo dosáhl cílového skóre. Vyhrává osamocený lídr nad limitem; při shodě na první příčce se hraje dál.
Bodování
Kompletní tabulka je v souboru hodnoty.csv. Kombinace se
vyhodnocuje podle hodnot odložených kostek – na jejich pořadí nezáleží.
Stejné kostky
| Kostka | ×1 | ×2 | ×3 | ×4 | ×5 | ×6 |
|---|---|---|---|---|---|---|
| 1 | 100 | 200 | 1000 | 2000 | 4000 | 8000 |
| 2 | – | – | 200 | 400 | 800 | 1600 |
| 3 | – | – | 300 | 600 | 1200 | 2400 |
| 4 | – | – | 400 | 800 | 1600 | 3200 |
| 5 | 50 | – | 500 | 1000 | 2000 | 4000 |
| 6 | – | – | 600 | 1200 | 2400 | 4800 |
(„–“ = daná kombinace samostatně neboduje.)
Postupky
| Kombinace | Body |
|---|---|
| 1-2-3-4-5 | 750 |
| 2-3-4-5-6 | 1000 |
| 1-2-3-4-5-6 | 1500 |
Licence
Projekt je licencovaný pod GPL-3.0.