38 lines
1.6 KiB
C
38 lines
1.6 KiB
C
#ifndef GAME_H_
|
|
#define GAME_H_
|
|
|
|
#include "world.h"
|
|
|
|
typedef enum { V_MENU, HRAJE_SA, BOSS_VAROVANIE, BOSS_SOUBOJ, KONIEC_HRY_PREHRA, KONIEC_HRY_VYHRA } StavProgramu;
|
|
typedef enum { LAHKA, STREDNA, TAZKA } Obtiaznost;
|
|
typedef enum { TYP_ASTEROID, TYP_STIHAC, TYP_TANK, TYP_MINA } TypNepriatela;
|
|
typedef enum { VZOR_SWEEP, VZOR_MINIONS } BossAttackPattern;
|
|
#define MAX_NEPRIATELIA 60
|
|
#define MAX_STRELY 50
|
|
#define MAX_BARIERY 15
|
|
#define BOSS_HP 30
|
|
#define CAS_DO_BOSSA 1200
|
|
|
|
typedef struct { double x, y, rychlost_x, rychlost_y; int aktivny; } PohybujuciObjekt;
|
|
typedef struct { PohybujuciObjekt data; } Strela;
|
|
typedef struct { PohybujuciObjekt data; TypNepriatela typ; int hp, farba, casovac; double pociatocne_x; } Nepriatel;
|
|
typedef struct { PohybujuciObjekt data; int zivotnost; } Bariera;
|
|
typedef struct { PohybujuciObjekt data; } Hrac;
|
|
typedef struct { int aktivny; PohybujuciObjekt data; int hp, smer_pohybu, casovac_utoku, casovac_fazy; BossAttackPattern aktualny_vzor; } Boss;
|
|
|
|
typedef struct {
|
|
Hrac hrac; Nepriatel nepriatelia[MAX_NEPRIATELIA]; Strela strely_hrac[MAX_STRELY];
|
|
Strela strely_boss[MAX_STRELY]; Bariera bariery[MAX_BARIERY]; Boss boss;
|
|
int skore, zivoty, casovac_herneho_cyklu, menu_vyber;
|
|
StavProgramu stav_programu; Obtiaznost obtiaznost;
|
|
int combo_pocitadlo, combo_casovac, stit_casovac, boss_varovanie_casovac, bariera_spawn_casovac;
|
|
int sirka_obrazovky, vyska_obrazovky;
|
|
} StavHry;
|
|
|
|
void inicializuj_hru(StavHry *stav, int sirka, int vyska);
|
|
void spracuj_vstup(StavHry *stav, int klavesa);
|
|
void aktualizuj_stav(StavHry *stav);
|
|
void vykresli_stav(StavHry *stav);
|
|
|
|
#endif
|