> Hru spouštěj z adresáře projektu – soubor `hodnoty.csv` (bodovací tabulka)
Případně bez instalace (s nainstalovaným `tabulate`) přes `python -m kostky`,
> se načítá relativní cestou vůči aktuálnímu adresáři.
nebo izolovaně jako CLI nástroj přes `pipx install .`.
> Pro vývoj: `pip install -e ".[dev]"` – editovatelná instalace včetně `mypy`
> a `ruff`.
## Jak se hraje
## Jak se hraje
@@ -31,42 +34,45 @@ python main.py
### Průběh tahu
### Průběh tahu
Na začátku tahu uvidíš cílové skóre, kdo je na tahu (a jeho celkové skóre)
Na začátku tahu uvidíš, kdo je na tahu (s jeho skóre a cílem), a hod šesti
a hod šesti kostkami s očíslovanými pozicemi:
kostkami s písmennými pozicemi:
```
```
Vítězné skóre: 10000.
Na tahu je Anna (0/10000).
Na tahu je Anna (0).
1, 5, 3, 2, 6, 4
1, 5, 3, 2, 6, 4
^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
1 2 3 4 5 6
a b c d e f
```
```
Pak zvolíš jednu z akcí:
Pak zvolíš jednu z akcí:
| Vstup | Akce |
| 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. |
| `pozice kostek` | Odložíš vybrané kostky k vyhodnocení– písmeny (např. `a`, `cd`, `abcdef`). 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. |
| `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. |
| `k` | Ukončíš tah, připíšeš si nasbírané skóre a předáš tah dalšímu hráči. |
| `exit` | Předčasně ukončíš celou hru. |
Odkládat můžeš i víc kombinací po sobě – po každém vyhodnocení pokračuješ se
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í.
zbývajícími kostkami a body se v rámci tahu sčítají.
### Smůla, hot dice a výhra
### Smůla, hot dice, vynulování a výhra
- **Smůla (bust):** když čerstvý hod neobsahuje žádnou bodující kombinaci,
- **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.
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ý
- **Hot dice:** když se ti podaří odložit všech šest kostek, dostaneš čerstvý
hod šesti kostkami a pokračuješ ve stejném tahu.
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
- **Vynulování:** tři po sobě jdoucí nulové tahy vynulují tvé celkové skóre.
cílového skóre. Vyhrává osamocený lídr nad limitem; při shodě na první
Počet aktuálních nul se vedle skóre ukazuje jako `x` / `xx`.
příčce se hraje dál.
- **Výhra:** po dokončení každého kola vyhrává osamocený lídr nad cílovým
skóre; při shodě na první příčce se hraje dál. Na konci se vypíše výsledková
tabulka s pořadím všech hráčů.
## Bodování
## Bodování
Kompletní tabulka je v souboru [`hodnoty.csv`](hodnoty.csv). Kombinace se
Kompletní tabulka je v souboru [`kostky/hodnoty.csv`](kostky/hodnoty.csv).
vyhodnocuje podle hodnot odložených kostek – na jejich pořadí nezáleží.
Kombinace se vyhodnocuje podle hodnot odložených kostek – na jejich pořadí
nezáleží.
### Stejné kostky
### Stejné kostky
@@ -76,7 +82,7 @@ vyhodnocuje podle hodnot odložených kostek – na jejich pořadí nezáleží.
" - Zadejte kombinaci kostek k ponechání (dojde k jejich vyhodnocení): "
" - Zadejte kombinaci kostek k ponechání (dojde k jejich vyhodnocení): "
"[pozice kostek] (např. 1 nebo 34 nebo 123456).\n"
"[pozice kostek] (např. a nebo cd nebo abcdef).\n"
" - Hodit znovu: [h].\n"
" - Hodit znovu: [h].\n"
f" - Ukončit hod a ponechat si skóre z tohoto hodu ({score}): [k].\n"
f" - Ukončit hod a ponechat si skóre z tohoto hodu ({score}): [k].\n"
" - Ukončit hru: [exit].\n"
" - Ukončit hru: [exit].\n"
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.