#include #include #include using namespace std; const string PAWN = "O"; void init_board(int board[8][8]); int get_row(string kind_of_move); int get_column(string kind_of_move); void draw_board(int board[8][8], bool is_white_move); void clr_screen() { printf("\033[H\033[J"); } // czyszczenie ekranu void draw_white_field(); void draw_black_field(); void draw_white_pawn(); void draw_black_pawn(); int main(int argc, char const *argv[]) { // 0- biale pole, 1-czarne puste pole, 2 -czarny pion , 3 - bialy pion int board[8][8]; bool is_white_move = true; int white_pawns = 12; int black_pawns = 12; int col_from = 0; int row_from = 0; int col_to = 0; int row_to = 0; init_board(board); while (white_pawns > 0 && black_pawns > 0) { draw_board(board, is_white_move); // pobranie ruchu col_from = get_column("skad"); row_from = get_row("skad"); col_to = get_column("dokad"); row_to = get_row("dokad"); } } int get_row(string kind_of_move) { cout << "Podaj numer wiersza "<< kind_of_move <<" chcesz ruszyć " << endl; int row; cin >> row; return row--; } int get_column(string kind_of_move) { cout << "Podaj literę kolumny "<< kind_of_move <<" chcesz się ruszyć" << endl; char temp; cin >> temp; return toupper(temp) - 65; } void init_board(int board[8][8]) { for (int row = 0; row < 8; row++) { for (int col = 0; col < 8; col++) { if ((row + col) % 2 == 0) { board[row][col] = 0; } else { if (row < 3) { board[row][col] = 2; } else if (row > 4) { board[row][col] = 3; } else { board[row][col] = 1; } } } } } void draw_board(int board[8][8], bool is_white_move) { clr_screen(); if (is_white_move) { cout << "Ruch wykonuja biale" << endl; } else { cout << "Ruch wykonuja czarne" << endl; } cout << endl; cout << " ABCDEFGH" << endl; for (int row = 0; row < 8; row++) { printf("\033[37m"); cout << row + 1 << " "; for (int col = 0; col < 8; col++) { if (board[row][col] == 0) { draw_white_field(); } else if (board[row][col] == 1) { draw_black_field(); } else if (board[row][col] == 2) { draw_black_pawn(); } else if (board[row][col] == 3) { draw_white_pawn(); } } cout << endl; } } void draw_white_field() { printf("\033[37m"); cout << "#"; } void draw_black_field() { printf("\033[30m"); cout << " "; } void draw_white_pawn() { printf("\033[37m"); cout << PAWN; } void draw_black_pawn() { printf("\033[31m"); cout << PAWN; }