Створити гру ''шахмати'' на мові С++
Реалізувати інтерфейс дошки
Реалізувати переміщення пішака
Ответы
Ответ:
#include <iostream>
#include <vector>
class ChessBoard {
private:
const int SIZE = 8;
char board[8][8];
public:
ChessBoard() {
// Initialize the board with empty spaces
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
board[i][j] = ' ';
}
}
}
void display() {
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
std::cout << board[i][j] << "|";
}
std::cout << std::endl;
}
}
bool isValidMove(int fromX, int fromY, int toX, int toY) {
if (fromX < 0 || fromX >= SIZE || fromY < 0 || fromY >= SIZE ||
toX < 0 || toX >= SIZE || toY < 0 || toY >= SIZE) {
return false;
}
// Implement specific rules for the pawn's movement
if (board[fromX][fromY] == 'P') {
if (fromX == toX && toY == fromY + 1) {
return true;
}
}
return false;
}
void movePiece(int fromX, int fromY, int toX, int toY) {
if (isValidMove(fromX, fromY, toX, toY)) {
board[toX][toY] = board[fromX][fromY];
board[fromX][fromY] = ' ';
}
}
};
int main() {
ChessBoard board;
// Place a pawn on the board
board.movePiece(1, 0, 3, 0);
board.display();
// Move the pawn
board.movePiece(3, 0, 4, 0);
std::cout << "\nAfter moving the pawn:\n";
board.display();
return 0;
}
Объяснение: