timer
This commit is contained in:
parent
ed92ecdb27
commit
4e7970f53f
48
assets/asset
Normal file
48
assets/asset
Normal file
@ -0,0 +1,48 @@
|
||||
#define tile_0_width 8
|
||||
#define tile_0_height 8
|
||||
static uint8_t tile_0_bits[] = {
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
|
||||
#define tile_1_width 8
|
||||
#define tile_1_height 8
|
||||
static uint8_t tile_1_bits[] = {
|
||||
0x00, 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x00, };
|
||||
#define tile_2_width 8
|
||||
#define tile_2_height 8
|
||||
static uint8_t tile_2_bits[] = {
|
||||
0x00, 0x1C, 0x20, 0x20, 0x18, 0x04, 0x3C, 0x00, };
|
||||
#define tile_3_width 8
|
||||
#define tile_3_height 8
|
||||
static uint8_t tile_3_bits[] = {
|
||||
0x00, 0x1C, 0x20, 0x20, 0x18, 0x20, 0x1C, 0x00, };
|
||||
#define tile_4_width 8
|
||||
#define tile_4_height 8
|
||||
static uint8_t tile_4_bits[] = {
|
||||
0x00, 0x04, 0x14, 0x14, 0x3C, 0x10, 0x10, 0x00, };
|
||||
#define tile_5_width 8
|
||||
#define tile_5_height 8
|
||||
static uint8_t tile_5_bits[] = {
|
||||
0x00, 0x3C, 0x04, 0x1C, 0x20, 0x20, 0x1C, 0x00, };
|
||||
#define tile_6_width 8
|
||||
#define tile_6_height 8
|
||||
static uint8_t tile_6_bits[] = {
|
||||
0x00, 0x18, 0x24, 0x04, 0x1C, 0x24, 0x18, 0x00, };
|
||||
#define tile_7_width 8
|
||||
#define tile_7_height 8
|
||||
static uint8_t tile_7_bits[] = {
|
||||
0x00, 0x3C, 0x20, 0x20, 0x10, 0x08, 0x08, 0x00, };
|
||||
#define tile_8_width 8
|
||||
#define tile_8_height 8
|
||||
static uint8_t tile_8_bits[] = {
|
||||
0x00, 0x18, 0x24, 0x18, 0x24, 0x24, 0x18, 0x00, };
|
||||
#define tile_flag_width 8
|
||||
#define tile_flag_height 8
|
||||
static uint8_t tile_flag_bits[] = {
|
||||
0xFF, 0x81, 0xB9, 0x89, 0x89, 0x9D, 0x81, 0xFF, };
|
||||
#define tile_mine_width 8
|
||||
#define tile_mine_height 8
|
||||
static uint8_t tile_mine_bits[] = {
|
||||
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, };
|
||||
#define tile_uncleared_width 8
|
||||
#define tile_uncleared_height 8
|
||||
static uint8_t tile_uncleared_bits[] = {
|
||||
0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, };
|
4
assets/tile_0.xbm
Normal file
4
assets/tile_0.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_0_width 8
|
||||
#define tile_0_height 8
|
||||
static char tile_0_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, };
|
4
assets/tile_1.xbm
Normal file
4
assets/tile_1.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_1_width 8
|
||||
#define tile_1_height 8
|
||||
static uint8_t tile_1_bits[] = {
|
||||
0x00, 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x00, };
|
4
assets/tile_2.xbm
Normal file
4
assets/tile_2.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_2_width 8
|
||||
#define tile_2_height 8
|
||||
static uint8_t tile_2_bits[] = {
|
||||
0x00, 0x1C, 0x20, 0x20, 0x18, 0x04, 0x3C, 0x00, };
|
4
assets/tile_3.xbm
Normal file
4
assets/tile_3.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_3_width 8
|
||||
#define tile_3_height 8
|
||||
static uint8_t tile_3_bits[] = {
|
||||
0x00, 0x1C, 0x20, 0x20, 0x18, 0x20, 0x1C, 0x00, };
|
4
assets/tile_4.xbm
Normal file
4
assets/tile_4.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_4_width 8
|
||||
#define tile_4_height 8
|
||||
static uint8_t tile_4_bits[] = {
|
||||
0x00, 0x04, 0x14, 0x14, 0x3C, 0x10, 0x10, 0x00, };
|
4
assets/tile_5.xbm
Normal file
4
assets/tile_5.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_5_width 8
|
||||
#define tile_5_height 8
|
||||
static uint8_t tile_5_bits[] = {
|
||||
0x00, 0x3C, 0x04, 0x1C, 0x20, 0x20, 0x1C, 0x00, };
|
4
assets/tile_6.xbm
Normal file
4
assets/tile_6.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_6_width 8
|
||||
#define tile_6_height 8
|
||||
static uint8_t tile_6_bits[] = {
|
||||
0x00, 0x18, 0x24, 0x04, 0x1C, 0x24, 0x18, 0x00, };
|
4
assets/tile_7.xbm
Normal file
4
assets/tile_7.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_7_width 8
|
||||
#define tile_7_height 8
|
||||
static uint8_t tile_7_bits[] = {
|
||||
0x00, 0x3C, 0x20, 0x20, 0x10, 0x08, 0x08, 0x00, };
|
4
assets/tile_8.xbm
Normal file
4
assets/tile_8.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_8_width 8
|
||||
#define tile_8_height 8
|
||||
static uint8_t tile_8_bits[] = {
|
||||
0x00, 0x18, 0x24, 0x18, 0x24, 0x24, 0x18, 0x00, };
|
4
assets/tile_flag.xbm
Normal file
4
assets/tile_flag.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_flag_width 8
|
||||
#define tile_flag_height 8
|
||||
static uint8_t tile_flag_bits[] = {
|
||||
0xFF, 0x81, 0xB9, 0x89, 0x89, 0x9D, 0x81, 0xFF, };
|
4
assets/tile_mine.xbm
Normal file
4
assets/tile_mine.xbm
Normal file
@ -0,0 +1,4 @@
|
||||
#define tile_mine_width 8
|
||||
#define tile_mine_height 8
|
||||
static uint8_t tile_mine_bits[] = {
|
||||
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, };
|
@ -1,4 +1,4 @@
|
||||
#define tile_uncleared_width 8
|
||||
#define tile_uncleared_height 8
|
||||
static char tile_uncleared_bits[] = {
|
||||
static uint8_t tile_uncleared_bits[] = {
|
||||
0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, };
|
||||
|
@ -57,6 +57,7 @@ typedef struct {
|
||||
int flags_set;
|
||||
bool game_started;
|
||||
bool showing_dialog;
|
||||
uint32_t game_started_tick;
|
||||
} Minesweeper;
|
||||
|
||||
static void input_callback(InputEvent* input_event, FuriMessageQueue* event_queue) {
|
||||
@ -81,7 +82,18 @@ static void render_callback(Canvas* const canvas, void* ctx) {
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str_aligned(canvas, 0, 0, AlignLeft, AlignTop, string_get_cstr(tempStr));
|
||||
string_clear(tempStr);
|
||||
|
||||
int seconds = 0;
|
||||
int minutes = 0;
|
||||
if (minesweeper_state->game_started) {
|
||||
uint32_t ticks_elapsed = furi_get_tick() - minesweeper_state->game_started_tick;
|
||||
seconds = (int) ticks_elapsed / furi_kernel_get_tick_frequency();
|
||||
minutes = (int) seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
}
|
||||
string_printf(tempStr, "%01d:%02d", minutes, seconds);
|
||||
canvas_draw_str_aligned(canvas, 128, 0, AlignRight, AlignTop, string_get_cstr(tempStr));
|
||||
string_clear(tempStr);
|
||||
|
||||
for (int y = 0; y < PLAYFIELD_HEIGHT; y++) {
|
||||
for (int x = 0; x < PLAYFIELD_WIDTH; x++) {
|
||||
if ( x == minesweeper_state->cursor_x && y == minesweeper_state->cursor_y) {
|
||||
@ -226,6 +238,7 @@ static void setup_playfield(Minesweeper* minesweeper_state) {
|
||||
minesweeper_state->mines_left = MINECOUNT;
|
||||
minesweeper_state->fields_cleared = 0;
|
||||
minesweeper_state->flags_set = 0;
|
||||
minesweeper_state->game_started_tick = furi_get_tick();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user