first documentation

master
thunic 2 years ago
parent 915390cef2
commit efbaf1c7b5

@ -7,7 +7,16 @@
#include "spielfeld.h"
#include "main.h"
/*
* Beschreibung:
* Diese Funktion generiert ein Spielfeld mit der angegebenen Größe und initialisiert alle Zellen als leere Zellen.
*
* Parameter:
* size: Die Größe des Spielfelds (Anzahl der Zeilen/Spalten).
*
* Rückgabewert:
* Zeiger auf das erstellte Spielfeld (int**).
*/
int** generateGameBoard(int size) {
// Speicher für das Spielfeld reservieren
int** gameBoard = (int**)malloc(size * sizeof(int*));
@ -25,12 +34,28 @@ int** generateGameBoard(int size) {
return gameBoard;
}
/*
* Beschreibung:
* Diese Funktion generiert eine zufällige ganze Zahl mithilfe des HAL-RNG-Moduls.
*
* Rückgabewert:
* Eine zufällige ganze Zahl (uint32_t).
*/
uint32_t random_int(void) {
uint32_t z;
HAL_RNG_GenerateRandomNumber(&hrng, &z);
return z;
}
/*
* Beschreibung:
* Diese Funktion platziert die Bomben zufällig auf dem Spielfeld und berechnet dann die Anzahl der umliegenden Bomben für jede Zelle.
*
* Parameter:
* gameBoard: Das Spielfeld, auf dem die Bomben platziert werden sollen.
* size: Die Größe des Spielfelds.
* numBombs: Die Anzahl der Bomben, die platziert werden sollen.
*/
void placeBombs(int** gameBoard, int size, int numBombs) {
// Zufälligen Seed initialisieren
srand(random_int());
@ -72,6 +97,16 @@ void placeBombs(int** gameBoard, int size, int numBombs) {
}
}
/*
* Beschreibung:
* Diese Funktion zeigt das Spielfeld auf der UART-Schnittstelle an.
*
* Parameter:
* gameBoard: Das Spielfeld, das angezeigt werden soll.
* size: Die Größe des Spielfelds.
* numBombs: Die Gesamtanzahl der Bomben auf dem Spielfeld.
* numFlags: Die Anzahl der Flaggen, die auf dem Spielfeld platziert wurden.
*/
void displayGameBoardUART(int** gameBoard, int size, int numBombs, int numFlags) {
// Leere den Empfangspuffer der UART-Schnittstelle
clearSerialBuffer(&huart2);
@ -115,6 +150,10 @@ void displayGameBoardUART(int** gameBoard, int size, int numBombs, int numFlags)
HAL_UART_Transmit(&huart2, (uint8_t*)buffer, offset, 100);
}
/*
* Werden nicht benutzt
*
*/
void freeGameBoard(int** gameBoard, int size) {
for (int i = 0; i < size; i++) {
free(gameBoard[i]);
@ -122,6 +161,10 @@ void freeGameBoard(int** gameBoard, int size) {
free(gameBoard);
}
/*
* Werden nicht benutzt
*
*/
void freeHiddenGameBoard(int** hiddenGameBoard, int size) {
for (int i = 0; i < size; i++) {
free(hiddenGameBoard[i]);
@ -129,6 +172,17 @@ void freeHiddenGameBoard(int** hiddenGameBoard, int size) {
free(hiddenGameBoard);
}
/*
* Beschreibung:
* Diese Funktion erstellt ein verdecktes Spielfeld mit der angegebenen Größe.
*
* Parameter:
* gameBoard: Das Spielfeld, für das ein verdecktes Spielfeld erstellt werden soll.
* size: Die Größe des Spielfelds.
*
* Rückgabewert:
* Ein Zeiger auf das erstellte verdeckte Spielfeld (int**).
*/
int** createHiddenGameBoard(int** gameBoard, int size) {
int** hiddenGameBoard = (int**)malloc(size * sizeof(int*));
for (int i = 0; i < size; i++) {

Loading…
Cancel
Save