states.c 804 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "states.h"
  2. State current_state = MENU;
  3. void switch_to_state(State new_state, Game_Data *data)
  4. {
  5. switch (new_state)
  6. {
  7. case GAME:
  8. init_game(data);
  9. break;
  10. case TITLE:
  11. init_title(data);
  12. break;
  13. case MENU:
  14. init_menu(data);
  15. break;
  16. case GAME_OVER:
  17. init_game_over(data);
  18. break;
  19. }
  20. }
  21. void update(Game_Data *data)
  22. {
  23. switch(current_state)
  24. {
  25. case GAME:
  26. update_game(data);
  27. break;
  28. case TITLE:
  29. update_title(data);
  30. break;
  31. case MENU:
  32. update_menu(data);
  33. break;
  34. case GAME_OVER:
  35. update_game_over(data);
  36. break;
  37. }
  38. }
  39. void draw(Game_Data *data)
  40. {
  41. switch(current_state)
  42. {
  43. case GAME:
  44. draw_game(data);
  45. break;
  46. case TITLE:
  47. draw_title(data);
  48. break;
  49. case MENU:
  50. draw_menu(data);
  51. break;
  52. case GAME_OVER:
  53. draw_game_over(data);
  54. break;
  55. }
  56. }