diff --git a/Minesweeper/Core/Inc/spielfeld.h b/Minesweeper/Core/Inc/spielfeld.h index d1fddc0..b7e403f 100644 --- a/Minesweeper/Core/Inc/spielfeld.h +++ b/Minesweeper/Core/Inc/spielfeld.h @@ -28,6 +28,7 @@ typedef struct { #define BOMB_CELL -1 #define HIDDEN_CELL -2 #define NUMBER_CELL -3 +#define FLAG_CELL -4 int** generateGameBoard(int size); void placeBombs(int** gameBoard, int size, int numBombs); diff --git a/Minesweeper/Core/Src/spielfeld.c b/Minesweeper/Core/Src/spielfeld.c index 8e532b3..cb6c7e3 100644 --- a/Minesweeper/Core/Src/spielfeld.c +++ b/Minesweeper/Core/Src/spielfeld.c @@ -93,17 +93,17 @@ void displayGameBoardUART(int** gameBoard, int size) { for (int i = 0; i < size; i++) { offset += snprintf(buffer + offset, sizeof(buffer) - offset, "%2d ", i + 1); // Zeilennummer for (int j = 0; j < size; j++) { - if (gameBoard[i][j] == '*') { - offset += snprintf(buffer + offset, sizeof(buffer) - offset, "* "); // Bombe - } else if (gameBoard[i][j] == '.') { - offset += snprintf(buffer + offset, sizeof(buffer) - offset, ". "); // Leerzelle - } else if (gameBoard[i][j] == '#') { - offset += snprintf(buffer + offset, sizeof(buffer) - offset, "# "); // Verdeckte Zelle - } else if (hiddengameBoard[i][j] == '?') { - offset += snprintf(buffer + offset, sizeof(buffer) - offset, "? "); // Fragezeichen (Flagge) - } else { - offset += snprintf(buffer + offset, sizeof(buffer) - offset, "%c ", gameBoard[i][j]); // Zahl - } + if (gameBoard[i][j] == BOMB_CELL) { + offset += snprintf(buffer + offset, sizeof(buffer) - offset, "* "); // Bombe + } else if (gameBoard[i][j] == EMPTY_CELL) { + offset += snprintf(buffer + offset, sizeof(buffer) - offset, ". "); // Leerzelle + } else if (gameBoard[i][j] == HIDDEN_CELL) { + offset += snprintf(buffer + offset, sizeof(buffer) - offset, "# "); // Verdeckte Zelle + } else if (gameBoard[i][j] == FLAG_CELL) { + offset += snprintf(buffer + offset, sizeof(buffer) - offset, "? "); // Verdeckte Zelle + } else { + offset += snprintf(buffer + offset, sizeof(buffer) - offset, "%d ", gameBoard[i][j]); // Zahl + } } offset += snprintf(buffer + offset, sizeof(buffer) - offset, "\r\n"); } @@ -200,10 +200,10 @@ int** revealCell(int** gameBoard, int** hiddenGameBoard, int size, int row, int } void setFlag(int** hiddenGameBoard, int row, int col) { - if (hiddenGameBoard[row][col] = '?'){ - hiddenGameBoard[row][col] = '#'; + if (hiddenGameBoard[row][col] = FLAG_CELL){ + hiddenGameBoard[row][col] = HIDDEN_CELL; } else{ - hiddenGameBoard[row][col] = '?'; + hiddenGameBoard[row][col] = FLAG_CELL; } }