diff options
author | UnavailableDev <69792062+UnavailableDev@users.noreply.github.com> | 2023-04-03 09:52:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-03 09:52:40 +0200 |
commit | 0a014f39c375c0cf28de70ebaab6cb0a5266f3c2 (patch) | |
tree | 4ee2404a1e796e8803035dd9285debcfdcb7bbea /src/game_loop/gameplay.c | |
parent | d32a4942c7e16af5daf71a769906b17cb44de8e1 (diff) | |
parent | cc23564547b736125fe7e7869de277ea4d4455ab (diff) |
Merge branch 'lonkaars:dev' into dev
Diffstat (limited to 'src/game_loop/gameplay.c')
-rw-r--r-- | src/game_loop/gameplay.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/game_loop/gameplay.c b/src/game_loop/gameplay.c new file mode 100644 index 0000000..295eb5d --- /dev/null +++ b/src/game_loop/gameplay.c @@ -0,0 +1,47 @@ +#include "gameplay.h" + +// player struct + + +void hh_gameplay(hh_g_all_levels game, hh_e_game_state* hh_game_state){ + static hh_e_gameplay gameplay = hh_e_setup_screen; + + switch (gameplay) + { + case hh_e_setup_screen: + hh_setup_screen(game.level[game.current_level]); + gameplay = hh_e_play_level; + break; + case hh_e_play_level: + // todo: here come all the different functions for the gameplay + hh_player_actions(); + + + + + + if(game.level[game.current_level].hh_level_completed){ + gameplay = hh_e_level_complete; + } + break; + case hh_e_level_complete: + if(game.current_level < 3){ + game.current_level++; + gameplay = hh_e_setup_screen; + } + else { + gameplay = hh_e_game_over; + } + break; + case hh_e_game_over: + // todo make reset levels + hh_reset_levels(); + gameplay = hh_e_setup_screen; + *hh_game_state = hh_e_state_game_over; + break; + default: + break; + } + +} +void hh_reset_levels(){} |