Ciele cvičeniaCvičenie bude zamerané na prácu s dvojrozmerným (2R) poľom. Študenti si osvoja spôsob deklarácie a inicializácie 2R poľa a tiež si prehĺbia poznanie v problematike indexácie polí.
|
Odporúčaná literatúra a dôležité odkazy[1] KPI-FEI-TUKE: [2] KPI-FEI-TUKE: [3] [4] |
Úloha 1
Naprogramujte hru "piškvorky" .
Vstupné predpoklady:
Dôležité míľniky v procese developmentu
1. míľnik - kostra programu
#include <stdio.h> // deklarácie funkcii int is_won(const int size, const int player, const int grid[][size]); void draw(const int size, const int grid[][size]); void player_move(const int size, const int player, int grid[][size]); int main() { int size = 5; int player=1; int i, j; int grid[size][size]; for(i=0; i<size; i++) for(j=0; j<size; j++) { grid[i][j] = 0; } draw(size, grid); while(1) { if (is_won(5, 1, grid) || is_won(5, 2, grid)) // Ukončenie nekonečného cyklu funkciu is_won() je potrebné vyvinúť break; // tu sa bude volať funkcia pre vykreslenie hracieho poľa draw() // tu bude funkcia pre krok 1. alebo 2. hráča player_move() } return 0; } |
2. míľnik - Vykreslenie hracieho poľa
Vykreslenie hracieho poľa môžete skúšať na takto inicializovanom hracom poli
int grid[5][5] ={ {0 , 0, 1, 0, 0 }, {2 , 0, 0, 0, 0 }, {1 , 2, 0, 0, 0 }, {0 , 0, 1, 0, 1 }, {0 , 0, 2, 2, 0 }, }; |
Výsledok funkcie draw(const int size, const int grid[][size]) môže vyzerať takto:
+-------------------+ | | | X | | | +-------------------+ | O | | | X | | +-------------------+ | X | O | | | O | +-------------------+ | | | X | X | X | +-------------------+ | | | O | O | | +-------------------+ |