This commit is contained in:
Matej Hajduk 2025-06-11 12:28:51 +02:00
parent f560dd6060
commit a82ba392aa

48
du8/README.md Normal file
View File

@ -0,0 +1,48 @@
## Ovládanie
- Pohyb: `W`, `A`, `S`, `D`
- Potvrdenie ťahu: medzerník
## Ukončenie hry
Hra končí, keď:
- jeden hráč získa 3 znaky v rade (vodorovne, zvisle alebo diagonálne),
- všetky polia sú zaplnené (remíza).
## Štruktúra a funkcie
### `GameState` štruktúra hry:
- `board`: 2D pole pre hernú plochu
- `board_size`: veľkosť (2,3,4)
- `num_players`: počet hráčov (1,2,3)
- `symbols`: pole znakov hráčov (napr. 'X', 'O', 'a')
- `mode`: herný režim
- `current_player`: index aktuálneho hráča
- `moves_made`: počet ťahov
### Kľúčové funkcie:
- `init_game()`: Inicializácia hracieho stavu
- `draw_game()`: Vykreslenie stavu cez `world*`
- `handle_input()`: Interakcia s hráčom (ovládanie)
- `computer_move()`: Jednoduchá AI
- `check_winner()`: Detekcia výhry
## Použitie knižnice `world`
Použili sme nasledujúce funkcie z `world.h`:
- `world_init()` *
- `world_clear()` *
- `world_print()` *
- `world_read_key()` *
- `world_set_cursor()` *
- `world_end()` *
Všetky volania NCURSES boli spravené výhradne cez knižnicu `world`.
## Zdroje
- [Knižnica world](https://github.com/hladek/world)
- Vlastné znalosti