Útvonalválaszt-O
Függvények
egyeb.c fájlreferencia

Egyéb függvényeket tartalmazó modul. Ide tartozik többek között a megkezdett játékok mentése és betöltése, a dinamikus tömbök foglalása és szabdítása, valamint a kilépő függvény. Részletek...

#include "egyeb.h"
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include "debugmalloc.h"

Függvények

int szam_beolvas (int min, int max)
 Bekér a felhasználótól egy számot. Részletek...
 
void jatek_ment (int pont, Szintek meretek)
 Fájlba ment egy játékot. Részletek...
 
int jatek_betolt (int *szint, int *pont)
 Betölt egy korábban lementett játékot fájlból, majd törli a fájlból ezt a mentést. Részletek...
 
void segitseg (void)
 Kiírja a segítséget a képernyőre. Részletek...
 
Cella *** cella_tomb_foglal (Szintek meretek)
 Foglal egy dinamikus, háromdimenziós tömböt. Részletek...
 
Csucs *** csucs_tomb_foglal (Szintek meretek)
 Foglal egy dinamikus, kétdimenziós tömböt, aminek minden eleme egy csúcsra mutató pointer lesz, ezeket mind NULL-ra állítja. Részletek...
 
bool ** bool_tomb_foglal (Szintek meretek)
 Foglal egy dinamikus, kétdimenziós tömböt, aminek minden eleme egy boolean érték, ezeket mind hamisra állítja. Részletek...
 
void cella_tomb_szabadit (Szintek meretek)
 Felszabadítja a meretek struktúra dinamukis tömbjét. Részletek...
 
void kilep (int code, char mes[100], Szintek meretek)
 Kilép a programból a megadott hibakóddal és hibaüzenettel, és azt az errorlog.txt fájlba is menti. Részletek...
 
int menu (void)
 Kiírja a menü opcióit, majd bekéri a felhasználó választását a szam_beolvas() függvénnyel. Részletek...
 

Részletes leírás

Egyéb függvényeket tartalmazó modul. Ide tartozik többek között a megkezdett játékok mentése és betöltése, a dinamikus tömbök foglalása és szabdítása, valamint a kilépő függvény.

Függvények dokumentációja

◆ bool_tomb_foglal()

bool** bool_tomb_foglal ( Szintek  meretek)

Foglal egy dinamikus, kétdimenziós tömböt, aminek minden eleme egy boolean érték, ezeket mind hamisra állítja.

Paraméterek
meretekA Szintek méreteit és tömbjét tartalmazó struktúra
Visszatérési érték
A foglalt tömb, amit a hívónak kell felszabadítania

◆ cella_tomb_foglal()

Cella*** cella_tomb_foglal ( Szintek  meretek)

Foglal egy dinamikus, háromdimenziós tömböt.

Ha nincs elég memória, kilép, az eddig foglalt területeket felszabadítva.

Paraméterek
meretekA Szintek méreteit és tömbjét tartalmazó struktúra
Visszatérési érték
A dinamikus tömb, amit a meghívónak kell felszabadítania a cella_tomb_szabadit() függvénnyel.

◆ cella_tomb_szabadit()

void cella_tomb_szabadit ( Szintek  meretek)

Felszabadítja a meretek struktúra dinamukis tömbjét.

Paraméterek
meretekA Szintek méreteit és tömbjét tartalmazó struktúra

◆ csucs_tomb_foglal()

Csucs*** csucs_tomb_foglal ( Szintek  meretek)

Foglal egy dinamikus, kétdimenziós tömböt, aminek minden eleme egy csúcsra mutató pointer lesz, ezeket mind NULL-ra állítja.

Paraméterek
meretekA Szintek méreteit és tömbjét tartalmazó struktúra
Visszatérési érték
A foglalt tömb, amit a hívónak kell felszabadítania

◆ jatek_betolt()

int jatek_betolt ( int *  szint,
int *  pont 
)

Betölt egy korábban lementett játékot fájlból, majd törli a fájlból ezt a mentést.

Paraméterek
szintEbbe a változóba menti a teljesített szintek számát
pontEbbe a változóba menti az eddigi pontszámot
Visszatérési érték
0, ha sikeres a betöltés, 1 ha sikertelen (nem volt mentés, vagy érvénytelen)

◆ jatek_ment()

void jatek_ment ( int  pont,
Szintek  meretek 
)

Fájlba ment egy játékot.

Paraméterek
pontEddig szerzett pontok
meretekA Szintek méreteit és tömbjét tartalmazó struktúra

◆ kilep()

void kilep ( int  code,
char  mes[100],
Szintek  meretek 
)

Kilép a programból a megadott hibakóddal és hibaüzenettel, és azt az errorlog.txt fájlba is menti.

Felszabadítja a dinamikus tömböt, hacsak annak pointere nem NULL. Ha úgy akarjuk meghívni a függvényt, hogy a meretek.terkep már fel lett szabadítva, vagy még nincs lefoglalva, akkor a meretek paraméternek adjunk (Szintek) {NULL}-t! Mivel 2-es (memóriahiány) kóddal sokszor van meghívva a függvény, ennek a hibaüzenete itt van megadva, ilyenkor mes lehet NULL. Figyelem! Ez a függvény egyes IDE-kben sok figyelmeztetést okozhat. Ha ez a függvény valahol meg lett hívva, akkor ott biztosan véget ér a program futása, hiszen ennek a függvénynek exit() a vége. Így ezen függvény meghívása után fellépő figyelmeztetések nem okozhatnak problémát, hiszen oda már nem is fog eljutni a program.

Paraméterek
codeA hibakód
mesA hibaüzenet, maximum 100 karakter.
meretekA Szintek méreteit és tömbjét tartalmazó struktúra

◆ menu()

int menu ( void  )

Kiírja a menü opcióit, majd bekéri a felhasználó választását a szam_beolvas() függvénnyel.

Visszatérési érték
a felhasználó választása az opciók közül

◆ segitseg()

void segitseg ( void  )

Kiírja a segítséget a képernyőre.

◆ szam_beolvas()

int szam_beolvas ( int  min,
int  max 
)

Bekér a felhasználótól egy számot.

Ha az nincs [min, max]-ban, akkor újra kér. Egyébként visszaadja a számot. Az InfoC-s tutorial alapján.

Paraméterek
minVárt szám alsó korlátja
maxVárt szám felső korlátja
Visszatérési érték
Felhasználó választása, ami garantáltan [min, max]-ban van