flipchess.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #pragma once
  2. #include <furi.h>
  3. #include <furi_hal.h>
  4. #include <furi_hal_random.h>
  5. #include <gui/gui.h>
  6. #include <input/input.h>
  7. #include <stdlib.h>
  8. #include <notification/notification_messages.h>
  9. #include <gui/view_dispatcher.h>
  10. #include <gui/modules/submenu.h>
  11. #include <gui/scene_manager.h>
  12. #include <gui/modules/variable_item_list.h>
  13. #include <gui/modules/text_input.h>
  14. #include "scenes/flipchess_scene.h"
  15. #include "views/flipchess_startscreen.h"
  16. #include "views/flipchess_scene_1.h"
  17. #define FLIPCHESS_VERSION "v0.1.1"
  18. #define TEXT_BUFFER_SIZE 256
  19. typedef struct {
  20. Gui* gui;
  21. NotificationApp* notification;
  22. ViewDispatcher* view_dispatcher;
  23. Submenu* submenu;
  24. SceneManager* scene_manager;
  25. VariableItemList* variable_item_list;
  26. TextInput* text_input;
  27. FlipChessStartscreen* flipchess_startscreen;
  28. FlipChessScene1* flipchess_scene_1;
  29. // Settings options
  30. int haptic;
  31. int white_mode;
  32. int black_mode;
  33. // Main menu options
  34. int import_game;
  35. // Text input
  36. int input_state;
  37. char import_game_text[TEXT_BUFFER_SIZE];
  38. char input_text[TEXT_BUFFER_SIZE];
  39. } FlipChess;
  40. typedef enum {
  41. FlipChessViewIdStartscreen,
  42. FlipChessViewIdMenu,
  43. FlipChessViewIdScene1,
  44. FlipChessViewIdSettings,
  45. FlipChessViewIdTextInput,
  46. } FlipChessViewId;
  47. typedef enum {
  48. FlipChessHapticOff,
  49. FlipChessHapticOn,
  50. } FlipChessHapticState;
  51. typedef enum {
  52. FlipChessPlayerHuman = 0,
  53. FlipChessPlayerAI1 = 1,
  54. FlipChessPlayerAI2 = 2,
  55. FlipChessPlayerAI3 = 3,
  56. } FlipChessPlayerMode;
  57. typedef enum { FlipChessTextInputDefault, FlipChessTextInputGame } FlipChessTextInputState;
  58. typedef enum {
  59. FlipChessStatusSuccess = 0,
  60. FlipChessStatusReturn = 10,
  61. FlipChessStatusLoadError = 11,
  62. FlipChessStatusSaveError = 12,
  63. } FlipChessStatus;