mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-13 06:08:35 -07:00
feat: Chess v1.8
This commit is contained in:
78
applications/external/chess/flipchess.h
vendored
Normal file
78
applications/external/chess/flipchess.h
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
#pragma once
|
||||
|
||||
#include <furi.h>
|
||||
#include <furi_hal.h>
|
||||
#include <furi_hal_random.h>
|
||||
#include <gui/gui.h>
|
||||
#include <input/input.h>
|
||||
#include <stdlib.h>
|
||||
#include <notification/notification_messages.h>
|
||||
#include <gui/view_dispatcher.h>
|
||||
#include <gui/modules/submenu.h>
|
||||
#include <gui/scene_manager.h>
|
||||
#include <gui/modules/variable_item_list.h>
|
||||
#include <gui/modules/text_input.h>
|
||||
#include "scenes/flipchess_scene.h"
|
||||
#include "views/flipchess_startscreen.h"
|
||||
#include "views/flipchess_scene_1.h"
|
||||
|
||||
#define FLIPCHESS_VERSION "v1.8.0"
|
||||
|
||||
#define TEXT_BUFFER_SIZE 96
|
||||
#define TEXT_SIZE (TEXT_BUFFER_SIZE - 1)
|
||||
|
||||
typedef struct {
|
||||
Gui* gui;
|
||||
NotificationApp* notification;
|
||||
ViewDispatcher* view_dispatcher;
|
||||
Submenu* submenu;
|
||||
SceneManager* scene_manager;
|
||||
VariableItemList* variable_item_list;
|
||||
TextInput* text_input;
|
||||
FlipChessStartscreen* flipchess_startscreen;
|
||||
FlipChessScene1* flipchess_scene_1;
|
||||
// Settings options
|
||||
int haptic;
|
||||
int white_mode;
|
||||
int black_mode;
|
||||
// Startscreen options
|
||||
uint8_t sound;
|
||||
// Main menu options
|
||||
uint8_t import_game;
|
||||
// Text input
|
||||
uint8_t input_state;
|
||||
char import_game_text[TEXT_BUFFER_SIZE];
|
||||
char input_text[TEXT_BUFFER_SIZE];
|
||||
} FlipChess;
|
||||
|
||||
typedef enum {
|
||||
FlipChessViewIdStartscreen,
|
||||
FlipChessViewIdMenu,
|
||||
FlipChessViewIdScene1,
|
||||
FlipChessViewIdSettings,
|
||||
FlipChessViewIdTextInput,
|
||||
} FlipChessViewId;
|
||||
|
||||
typedef enum {
|
||||
FlipChessHapticOff,
|
||||
FlipChessHapticOn,
|
||||
} FlipChessHapticState;
|
||||
|
||||
typedef enum {
|
||||
FlipChessPlayerHuman = 0,
|
||||
FlipChessPlayerAI1 = 1,
|
||||
FlipChessPlayerAI2 = 2,
|
||||
FlipChessPlayerAI3 = 3,
|
||||
} FlipChessPlayerMode;
|
||||
|
||||
typedef enum { FlipChessTextInputDefault, FlipChessTextInputGame } FlipChessTextInputState;
|
||||
|
||||
typedef enum {
|
||||
FlipChessStatusNone = 0,
|
||||
FlipChessStatusMovePlayer = 1,
|
||||
FlipChessStatusMoveAI = 2,
|
||||
FlipChessStatusMoveUndo = 3,
|
||||
FlipChessStatusReturn = 10,
|
||||
FlipChessStatusLoadError = 11,
|
||||
FlipChessStatusSaveError = 12,
|
||||
} FlipChessStatus;
|
||||
Reference in New Issue
Block a user