first documentation

master
thunic 2 years ago
parent 915390cef2
commit efbaf1c7b5

@ -7,7 +7,16 @@
#include "spielfeld.h" #include "spielfeld.h"
#include "main.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) { int** generateGameBoard(int size) {
// Speicher für das Spielfeld reservieren // Speicher für das Spielfeld reservieren
int** gameBoard = (int**)malloc(size * sizeof(int*)); int** gameBoard = (int**)malloc(size * sizeof(int*));
@ -25,12 +34,28 @@ int** generateGameBoard(int size) {
return gameBoard; 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 random_int(void) {
uint32_t z; uint32_t z;
HAL_RNG_GenerateRandomNumber(&hrng, &z); HAL_RNG_GenerateRandomNumber(&hrng, &z);
return 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) { void placeBombs(int** gameBoard, int size, int numBombs) {
// Zufälligen Seed initialisieren // Zufälligen Seed initialisieren
srand(random_int()); 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) { void displayGameBoardUART(int** gameBoard, int size, int numBombs, int numFlags) {
// Leere den Empfangspuffer der UART-Schnittstelle // Leere den Empfangspuffer der UART-Schnittstelle
clearSerialBuffer(&huart2); 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); HAL_UART_Transmit(&huart2, (uint8_t*)buffer, offset, 100);
} }
/*
* Werden nicht benutzt
*
*/
void freeGameBoard(int** gameBoard, int size) { void freeGameBoard(int** gameBoard, int size) {
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
free(gameBoard[i]); free(gameBoard[i]);
@ -122,6 +161,10 @@ void freeGameBoard(int** gameBoard, int size) {
free(gameBoard); free(gameBoard);
} }
/*
* Werden nicht benutzt
*
*/
void freeHiddenGameBoard(int** hiddenGameBoard, int size) { void freeHiddenGameBoard(int** hiddenGameBoard, int size) {
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
free(hiddenGameBoard[i]); free(hiddenGameBoard[i]);
@ -129,6 +172,17 @@ void freeHiddenGameBoard(int** hiddenGameBoard, int size) {
free(hiddenGameBoard); 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** createHiddenGameBoard(int** gameBoard, int size) {
int** hiddenGameBoard = (int**)malloc(size * sizeof(int*)); int** hiddenGameBoard = (int**)malloc(size * sizeof(int*));
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {

Loading…
Cancel
Save