pvjc25/du8/game.h
2025-06-12 13:00:33 +02:00

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