Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <string>
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement