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

A szintek betöltését és kezelését leíró függvényeket tartlmazó modul. Részletek...

#include "szintek.h"
#include "egyeb.h"
#include "toplista.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include "econio.h"
#include "debugmalloc.h"

Függvények

Szintek szintek_betolt (void)
 Betölti a "levels.fs" fájlból a szinteket egy dinamikusan foglalt, háromdimenziós tömbbe. Részletek...
 
void jatek_indul (int szint, int pont)
 Elindítja a játékot a megadott szintről és a megadott kezdőponttal. Részletek...
 
static int kovi_szint (Szintek meretek, int *idealis)
 A paraméterben megadot szint indítása. Részletek...
 
static void palya_nyomtat (Pozicio p, Szintek meretek, int time)
 Konzolba nyomtatja az aktuális pályát. Részletek...
 
static void palya_vegso_nyomtat (Pozicio p, Szintek meretek, int time, bool **idealis)
 A palya_nyomtat() függvényhez hasonlóan kinyomtatja a képernyőre a pályát, de nem csak a játkos útvonalával, hanem az ideális útvonallal is. Részletek...
 
static bool checkif_building (Pozicio p, Szintek meretek)
 Megnézi, hogy a játékos éppen épület mezőn áll-e, vagy a pályán kívül van-e. Részletek...
 
static bool checkif_finish (Pozicio p, Szintek meretek)
 Megnézi, hogy a játékos éppen a cél mezőn áll-e (bal alsó sarok) Részletek...
 

Részletes leírás

A szintek betöltését és kezelését leíró függvényeket tartlmazó modul.

Függvények dokumentációja

◆ checkif_building()

static bool checkif_building ( Pozicio  p,
Szintek  meretek 
)
static

Megnézi, hogy a játékos éppen épület mezőn áll-e, vagy a pályán kívül van-e.

Akkor ad vissza igazat, ha a játékos olyan mezőn áll, ahol nem állhatna.

Paraméterek
pJátékos jelenlegi pozíciója
meretekA Szintek méreteit és tömbjét tartalmazó struktúra
Visszatérési érték
Igaz, ha épület mezőn vagy a pályán kívül áll a játékos, különben hamis

◆ checkif_finish()

static bool checkif_finish ( Pozicio  p,
Szintek  meretek 
)
static

Megnézi, hogy a játékos éppen a cél mezőn áll-e (bal alsó sarok)

Paraméterek
pJátékos jelenlegi pozíciója
meretekA Szintek méreteit és tömbjét tartalmazó struktúra
Visszatérési érték
Igaz, ha a játékos a célban van, egyébként hamis.

◆ jatek_indul()

void jatek_indul ( int  szint,
int  pont 
)

Elindítja a játékot a megadott szintről és a megadott kezdőponttal.

Végigviszi a játékost az összes szinten a kovi_szint() függvénnyel, ha a játékos nem lép ki közben. Miután az összes szinttel végzett, betölti a toplistát és új eredményt vesz fel az uj_eredmeny() függvénnyel. Végül kiírja a toplistát a képernyőre, és felszabadítja az elfoglalt memóriaterületeket a toplista_nyomtat() függvénnyel.

Paraméterek
szintErről a szintről fog indulni a játék, 0-tól indexelve
pontEnnyi ponttal kezdi a játékos a játékot. Mindkettő 0, ha új játékot kezd a felhasználó.

◆ kovi_szint()

static int kovi_szint ( Szintek  meretek,
int *  idealis 
)
static

A paraméterben megadot szint indítása.

Folyamatosan nyomtatja a térképet, számolja az eltelt időt és a lépéseket, valamit mozgatja a játékos karakterét. Egészen addig, amíg az idő lejár vagy a játékos eléri a célt. Ekkor meghatározza a legrövidebb útvonalat a legrovidebb() fügvénnyel, és meg is mutatja a játékosnak. A szint futása közben ESC nyomására kilép a programból a kilep() fuggvénnyel.

Paraméterek
meretekA Szintek méreteit és tömbjét tartalmazó struktúra
idealisPointer egy integerre, ahova menti a függvény az adott szint ideális útvonalának hosszát.
Visszatérési érték
A szerzett pontok száma

◆ palya_nyomtat()

static void palya_nyomtat ( Pozicio  p,
Szintek  meretek,
int  time 
)
static

Konzolba nyomtatja az aktuális pályát.

Paraméterek
pPozicio struktúr, a játékos jelenlegi x és y pozíciója.
meretekA Szintek méreteit és tömbjét tartalmazó struktúra
timeHátralevő idő másodpercben

◆ palya_vegso_nyomtat()

static void palya_vegso_nyomtat ( Pozicio  p,
Szintek  meretek,
int  time,
bool **  idealis 
)
static

A palya_nyomtat() függvényhez hasonlóan kinyomtatja a képernyőre a pályát, de nem csak a játkos útvonalával, hanem az ideális útvonallal is.

Paraméterek
pA játékos pozíciója
meretekA Szintek méreteit és tömbjét tartalmazó struktúra
timeHátralévő idő másodpercben (ilyenkor ez már fix, nem változik)
idealisKétdimenziós bool tömb, aminek minden mezője pontosan akkor igaz, ha az ideális útvonal átmegy azon a mezőn.

◆ szintek_betolt()

Szintek szintek_betolt ( void  )

Betölti a "levels.fs" fájlból a szinteket egy dinamikusan foglalt, háromdimenziós tömbbe.

Ha a fájlt nem tudja megnyitni, vagy érvénytelen, akkor kilép a programból a kilep() függvénnyel.

Visszatérési érték
A Szintek méreteit és tömbjét tartalmazó struktúra