Я пытаюсь запрограммировать простую настольную игру. В игре каждая часть имеет особую способность.
Вот определение платы: < /p>
struct Piece {
PieceType type;
int health;
int x, y;
bool abilityUsed; // Track if ability has been used
};
// Define the game board
const int BOARD_SIZE = 8;
Piece board[BOARD_SIZE][BOARD_SIZE];
// Initialize the board with empty cells
void initializeBoard() {
for (int i = 0; i < BOARD_SIZE; i++) {
for (int j = 0; j < BOARD_SIZE; j++) {
board[j] = { EMPTY, 0, i, j, false };
}
}
}
< /code>
В основном игровом цикле пользователя просят ввести координаты части, которую они хотят использовать способность: < /p>
else if (action == "ability") {
int x, y;
cout > x >> y;
useAbility(board[x][y]);
< /code>
Но проблема в том, что координаты изменяются после передачи функции использования: < /p>
void useAbility(Piece& piece) {
switch (piece.type) {
case MASTER:
cout
Подробнее здесь: https://stackoverflow.com/questions/794 ... o-function
Разлом сегментации и переносительные переменные для функционирования ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение