# Pravidlá hry Bridžik

Tento dokument popisuje pravidlá hry tak, ako sú implementované v hernom jadre
(`bridzik.py`). Slúži ako referencia pre hráčov aj vývojárov.

## Karty

Hrá sa s **32-kartovým balíčkom** sedmových (slovenských/nemeckých) kariet.

### Farby (4)

| Názov v kóde | Slovenský názov |
| ------------ | --------------- |
| `HEARTS`     | červeň          |
| `LEAVES`     | zeleň           |
| `ACORNS`     | žaluď           |
| `BELLS`      | guľa            |

**Červeň je vždy tromf (adut).** Červeň prebíja každú inú farbu.

### Hodnoty (8) — od najnižšej po najvyššiu

`sedmička (7) < osmička (8) < deviatka (9) < desiatka (10) < dolník < horník < kráľ < eso`

V kóde: `C7 < C8 < C9 < C10 < LOWER < UPPER < KING < ACE`.

## Štruktúra hry

Hru hrajú **4 hráči** (očíslovaní 0, 1, 2, 3). Celá hra má pevnú štruktúru:

- **Hra** = 4 **série** (séria 0 až 3).
- **Séria** = 8 **kôl** (kolo 0 až 7).
- **Kolo** = `8 − číslo_kola` **kopiek** (zdvihov).

V každom kole dostane každý hráč `8 − číslo_kola` kariet, takže počet kariet
postupne klesá:

| Číslo kola | Kariet na hráča | Počet kopiek v kole |
| ---------: | --------------: | ------------------: |
| 0          | 8               | 8                   |
| 1          | 7               | 7                   |
| 2          | 6               | 6                   |
| 3          | 5               | 5                   |
| 4          | 4               | 4                   |
| 5          | 3               | 3                   |
| 6          | 2               | 2                   |
| 7          | 1               | 1                   |

Celá hra teda obsahuje 4 × 8 = 32 kôl.

## Rozdávanie

Na začiatku každého kola sa balíček zamieša. Z vrchu sa odloží `4 × číslo_kola`
kariet a zvyšok sa rozdá: každý zo 4 hráčov dostane `8 − číslo_kola` kariet.

## Kto začína

- **Sériu** otvára hráč s rovnakým číslom, ako je číslo série (séria 0 → hráč 0,
  séria 1 → hráč 1, …).
- **Kolo** otvára hráč `(prvý_hráč_série + číslo_kola) mod 4`, čiže začínajúci
  hráč sa medzi kolami posúva.

## Priebeh kola

Každé kolo má dve fázy: **tipovanie** a následne **hranie kariet**.

### 1. Tipovanie (bridžik)

Hráči postupne (počnúc začínajúcim hráčom kola, v smere poradia) zadávajú **tip** —
koľko kopiek (zdvihov) v tomto kole získajú.

- Tip musí byť v rozsahu `0` až `počet kopiek v kole` (`8 − číslo_kola`).
- **Pravidlo bridžika:** posledný (štvrtý) tipujúci hráč nesmie zadať taký tip,
  pri ktorom by sa **súčet všetkých štyroch tipov rovnal počtu kopiek** v kole.
  Inými slovami, súčet tipov sa nikdy nesmie presne rovnať počtu zdvihov — vždy
  musí niekto „prebrať" alebo „nedobrať".
- Každý hráč zadáva tip iba raz a iba keď je na rade.

### 2. Hranie kariet

Po dokončení tipovania sa hrá `8 − číslo_kola` kopiek (zdvihov).

- **Prvú kopku** otvára hráč s **najvyšším tipom**. Pri zhode tipov začína ten,
  kto je skôr v poradí (počítané od začínajúceho hráča kola).
- **Každú ďalšiu kopku** otvára **víťaz predchádzajúcej kopky**.

#### Povinnosť priznať farbu

Keď je na stole vynesená (prvá) karta kopky, ďalší hráči musia dodržať:

1. Ak má hráč farbu vynesenej karty → **musí priznať farbu** (zahrať kartu tej
   istej farby).
2. Ak farbu vynesenej karty nemá, ale má **červeň** → **musí zahrať červeň**
   (tromf).
3. Ak nemá ani vynesenú farbu, ani červeň → môže zahrať **ľubovoľnú** kartu.

Hráč môže zahrať len kartu, ktorú má v ruke, a iba keď je na rade.

#### Vyhodnotenie kopky

Po zahraní všetkých 4 kariet sa určí víťaz kopky:

- **Červeň prebíja** každú inú farbu. Ak v kopke padla aspoň jedna červeň,
  vyhráva **najvyššia červeň**.
- Ak nepadla žiadna červeň, vyhráva **najvyššia karta vynesenej farby**.
- Karty iných farieb (ktoré nie sú ani vynesená farba, ani červeň) kopku
  vyhrať nemôžu.

Víťaz kopky vynáša do nasledujúcej kopky.

## Bodovanie

Body sa počítajú po každom dokončenom kole:

- Ak sa hráčov **tip presne zhoduje** s počtom kopiek, ktoré v kole získal,
  dostane **`10 + tip`** bodov.
- Ak sa tip nezhoduje (získal viac alebo menej kopiek), dostane **0 bodov**.

Príklad: hráč tipoval 3 a získal presne 3 kopky → 13 bodov. Ak by získal 2 alebo
4 kopky → 0 bodov.

Celkové skóre hráča je súčet bodov zo všetkých kôl všetkých sérií. Vyhráva hráč
s najvyšším celkovým súčtom po dohraní všetkých 4 sérií.

## Ukončenie

- **Kolo** je ukončené, keď sú odohrané všetky kopky.
- **Séria** je ukončená po 8 kolách.
- **Hra** je ukončená po 4 sériách.
