From 972951067261e62353faaf8d5fabe13c899266e2 Mon Sep 17 00:00:00 2001 From: sautax Date: Sat, 18 Aug 2018 16:51:36 +0200 Subject: [PATCH] added menu and controls edit mode not working yet --- binaries/game_of_life/game_of_life.bin | Bin 53644 -> 54796 bytes game_of_life/game_of_life.ino | 137 +++++++++++++----- .../game_of_life.ino.gamebuino_meta.bin | Bin 53644 -> 0 bytes game_of_life/update.ino | 2 +- 4 files changed, 105 insertions(+), 34 deletions(-) delete mode 100755 game_of_life/game_of_life.ino.gamebuino_meta.bin diff --git a/binaries/game_of_life/game_of_life.bin b/binaries/game_of_life/game_of_life.bin index a58382fbf98d6712903255ea9fe22343c40f23ee..75b3942df760073ad9b6c7f51d857f68012f8850 100755 GIT binary patch delta 9382 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 K>I1&;@BaY<6)5=t diff --git a/game_of_life/game_of_life.ino b/game_of_life/game_of_life.ino index a8fb73b..09f50ca 100644 --- a/game_of_life/game_of_life.ino +++ b/game_of_life/game_of_life.ino @@ -1,9 +1,25 @@ #include -Color colors[10] = {BLACK, BLUE, LIGHTBLUE, LIGHTGREEN, GREEN, BEIGE, YELLOW, ORANGE, RED, WHITE}; +const char* entriesEoff[] = { + "Enter Edit mode", + "Clear grid", + "Randomize grid", + "Return", +}; +const char* entriesEon[] = { + "Quit Edit mode", + "Clear grid", + "Randomize grid", + "Return", +}; +bool Emode = false; + +Color colors[10] = {BLACK, BLUE, LIGHTBLUE, LIGHTGREEN, GREEN, BEIGE, YELLOW, ORANGE, RED, WHITE}; + +bool Play = true; uint8_t grid[80][64] ; unsigned long time = 0 ; uint16_t temp = 0 ; @@ -20,9 +36,67 @@ void setup() { void loop() { while (!gb.update()); - updateG(); - gb.display.clear(); + if (gb.buttons.pressed(BUTTON_A)) { + if (Emode) { + + } else { + if (Play) { + const char* text = "Paused" ; + gb.gui.popup( text, 25); + Play = false; + } else { + const char* text = "Playing" ; + gb.gui.popup( text, 25); + Play = true; + } + } + + } + if (gb.buttons.pressed(BUTTON_HOME)) { + Play = false; + uint8_t entry; + if (Emode) { + entry = gb.gui.menu("--Menu--", entriesEon, 4); + if (entry == 0) { + Emode = 0; + const char* text = "Emode OFF, Playing" ; + gb.gui.popup( text, 25); + } + } else { + entry = gb.gui.menu("--Menu--", entriesEoff, 4); + if (entry == 0) { + Emode = 1; + const char* text = "Edit mode ON" ; + gb.gui.popup( text, 25); + } + } + switch (entry) { + case 1 : + for (int x = 0; x < 80; x++) { + for (int y = 0; y < 64; y++) { + grid[x][y] = 0; + const char* text = "Cleared !" ; + gb.gui.popup( text, 25); + } + } + break; + case 2 : + for (int x = 0; x < 80; x++) { + for (int y = 0; y < 64; y++) { + grid[x][y] = random(0, 2); + const char* text = "Randomized !" ; + gb.gui.popup( text, 25); + } + } + break; + } + Play = true; + } + gb.display.clear(); + if (Play && !Emode) { + updateG(); + } for (int x = 0; x < 80; x++) { for (int y = 0; y < 64; y++) { gb.display.setColor(colors[grid[x][y]]); @@ -30,40 +104,37 @@ void loop() { } } + /* + // debug hud + uint16_t ram = gb.getFreeRam(); + uint8_t load = gb.getCpuLoad(); + if (load > 85) { + gb.display.setColor(RED); + } else { + gb.display.setColor(LIGHTBLUE); + } + gb.display.fillRect(0, 0, 29, 7); + gb.display.fillRect(43, 0, 40 , 7); + gb.display.setColor(GREEN); + gb.display.fillRect(31, 0, 9 , 7); + gb.display.setColor(WHITE); - -/* - // debug hud - uint16_t ram = gb.getFreeRam(); - uint8_t load = gb.getCpuLoad(); - if (load > 85) { - gb.display.setColor(RED); - } else { - gb.display.setColor(LIGHTBLUE); - } - - gb.display.fillRect(0, 0, 29, 7); - gb.display.fillRect(43, 0, 40 , 7); - gb.display.setColor(GREEN); - gb.display.fillRect(31, 0, 9 , 7); - gb.display.setColor(WHITE); - - gb.display.setCursor(1, 1); - gb.display.setFontSize(1); - gb.display.print("CPU:"); - gb.display.print(load); - gb.display.println("%"); + gb.display.setCursor(1, 1); + gb.display.setFontSize(1); + gb.display.print("CPU:"); + gb.display.print(load); + gb.display.println("%"); - gb.display.setCursor(32, 1); - temp = millis() - time ; - gb.display.print(1000 / temp); - time = millis(); - gb.display.setCursor(44, 1); + gb.display.setCursor(32, 1); + temp = millis() - time ; + gb.display.print(1000 / temp); + time = millis(); + gb.display.setCursor(44, 1); - gb.display.print("RAM:"); - gb.display.println(ram); -*/ + gb.display.print("RAM:"); + gb.display.println(ram); + */ } diff --git a/game_of_life/game_of_life.ino.gamebuino_meta.bin b/game_of_life/game_of_life.ino.gamebuino_meta.bin deleted file mode 100755 index a58382fbf98d6712903255ea9fe22343c40f23ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53644 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 0) { if (n > 3 || n < 2) { temp[x][y] = 0;