#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