Advertisement
Guest User

Untitled

a guest
Apr 10th, 2020
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.09 KB | None | 0 0
  1. #include "board.h"
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <string>
  7.  
  8. char** make_default()
  9. {
  10.     char** board = new char*[8];
  11.     for (int i = 0; i < 8; ++i) {
  12.         board[i] = new char[8];
  13.     }
  14.     board[0][0] = 'c';
  15.     board[0][1] = 'h';
  16.     board[0][2] = 'e';
  17.     board[0][3] = 'q';
  18.     board[0][4] = 'k';
  19.     board[0][5] = 'e';
  20.     board[0][6] = 'h';
  21.     board[0][7] = 'c';
  22.     for (int i = 0; i < 8; ++i) {
  23.         board[1][i] = 'p';
  24.         board[6][i] = 'P';
  25.     }
  26.     for (int i = 2; i < 6; ++i) {
  27.         for (int j = 0; j < 8; ++j) {
  28.             board[i][j] = ' ';
  29.         }
  30.     }
  31.     board[7][0] = 'C';
  32.     board[7][1] = 'H';
  33.     board[7][2] = 'E';
  34.     board[7][3] = 'K';
  35.     board[7][4] = 'Q';
  36.     board[7][5] = 'E';
  37.     board[7][6] = 'H';
  38.     board[7][7] = 'C';
  39.     return board;
  40. }
  41.  
  42. bool print(char** board)
  43. {
  44.     FILE* out = fopen("board.txt", "w");
  45.     if (out == NULL) {
  46.         return false;
  47.     }
  48.     for (int i = 0; i < 8; ++i) {
  49.         fprintf(out, "%s", board[i]);
  50.         fprintf(out, "\n");
  51.     }
  52.     fclose(out);
  53.     return true;
  54. }
  55.  
  56. void chess_move(char** board)
  57. {
  58.     bool flag = true;
  59.     while (flag) {
  60.         std::cout << "enter turns" << std::endl;
  61.         std::string str;
  62.         int i, j, k, l;
  63.         std::cin >> str; // e2-e4
  64.         i = str[0] - 97;
  65.         j = str[1] - 49;
  66.         // std::cout << i << "  " << j << "  " << board[j][i] << std::endl;
  67.         if (i < 0 || i > 7 || j < 0 || j > 7
  68.             || (board[j][i] != 'P' && board[j][i] != 'p')) {
  69.             std::cout << "invalid input" << std::endl;
  70.             continue;
  71.         }
  72.         k = str[3] - 97;
  73.         l = str[4] - 49;
  74.         if (k < 0 || k > 7 || l < 0 || l > 7 || board[l][k] != ' ') {
  75.             std::cout << "invalid input" << std::endl;
  76.             continue;
  77.         }
  78.         board[l][k] = board[j][i];
  79.         board[j][i] = ' ';
  80.         flag = false;
  81.     }
  82. }
  83.  
  84. void clear(char** board)
  85. {
  86.     for (int i = 0; i < 8; ++i) {
  87.         delete[] board[i];
  88.     }
  89.     delete[] board;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement