Dependencies:   mbed

Committer:
ale_carb0ni
Date:
Tue May 26 16:52:17 2020 +0000
Revision:
3:c61d0c70eda4
Parent:
2:7fa08670b1fc
Child:
4:17d5b53b8815
fast snake, working good

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ale_carb0ni 0:25d71a181bcd 1 #include "mbed.h"
ale_carb0ni 0:25d71a181bcd 2 #include "Gamepad.h"
ale_carb0ni 0:25d71a181bcd 3 #include "N5110.h"
ale_carb0ni 0:25d71a181bcd 4 #include <vector>
ale_carb0ni 2:7fa08670b1fc 5 #include "Menu.h"
ale_carb0ni 2:7fa08670b1fc 6 #include "Game.h"
ale_carb0ni 0:25d71a181bcd 7
ale_carb0ni 0:25d71a181bcd 8 N5110 lcd;
ale_carb0ni 0:25d71a181bcd 9 Gamepad pad;
ale_carb0ni 2:7fa08670b1fc 10 Menu menu(lcd,pad);
ale_carb0ni 3:c61d0c70eda4 11
ale_carb0ni 0:25d71a181bcd 12
ale_carb0ni 0:25d71a181bcd 13 //prototypes
ale_carb0ni 0:25d71a181bcd 14 void init();
ale_carb0ni 2:7fa08670b1fc 15 void game_function();
ale_carb0ni 1:a084ee340d74 16
ale_carb0ni 3:c61d0c70eda4 17 //variables
ale_carb0ni 3:c61d0c70eda4 18 int g_check = 0;
ale_carb0ni 3:c61d0c70eda4 19
ale_carb0ni 0:25d71a181bcd 20 // functions
ale_carb0ni 0:25d71a181bcd 21 int main()
ale_carb0ni 0:25d71a181bcd 22 {
ale_carb0ni 0:25d71a181bcd 23 init();
ale_carb0ni 0:25d71a181bcd 24
ale_carb0ni 2:7fa08670b1fc 25 lcd.clear();
ale_carb0ni 2:7fa08670b1fc 26 menu.initscreen();
ale_carb0ni 3:c61d0c70eda4 27
ale_carb0ni 2:7fa08670b1fc 28 while(1) {
ale_carb0ni 3:c61d0c70eda4 29 if (g_check == 2 || g_check == 0) {
ale_carb0ni 3:c61d0c70eda4 30 menu.menu_screen();
ale_carb0ni 3:c61d0c70eda4 31 game_function();
ale_carb0ni 3:c61d0c70eda4 32 } else if ( g_check == 1) {
ale_carb0ni 3:c61d0c70eda4 33 game_function();
ale_carb0ni 2:7fa08670b1fc 34 }
ale_carb0ni 0:25d71a181bcd 35 }
ale_carb0ni 0:25d71a181bcd 36 }
ale_carb0ni 0:25d71a181bcd 37 void init()
ale_carb0ni 0:25d71a181bcd 38 {
ale_carb0ni 0:25d71a181bcd 39 lcd.init();
ale_carb0ni 0:25d71a181bcd 40 pad.init();
ale_carb0ni 0:25d71a181bcd 41 }
ale_carb0ni 0:25d71a181bcd 42
ale_carb0ni 3:c61d0c70eda4 43 void game_function()
ale_carb0ni 3:c61d0c70eda4 44 {
ale_carb0ni 3:c61d0c70eda4 45 Game game;
ale_carb0ni 3:c61d0c70eda4 46 game.movement(pad);
ale_carb0ni 3:c61d0c70eda4 47 game.draw(lcd, pad);
ale_carb0ni 3:c61d0c70eda4 48 while(1) {
ale_carb0ni 3:c61d0c70eda4 49 lcd.clear();
ale_carb0ni 3:c61d0c70eda4 50 //printf("clear\n");
ale_carb0ni 3:c61d0c70eda4 51 game.movement(pad);
ale_carb0ni 3:c61d0c70eda4 52 //printf("movement\n");
ale_carb0ni 3:c61d0c70eda4 53 game.draw(lcd, pad);
ale_carb0ni 3:c61d0c70eda4 54 //printf("draw\n");
ale_carb0ni 3:c61d0c70eda4 55 if (game.death(lcd, pad) == 2) {
ale_carb0ni 3:c61d0c70eda4 56 g_check = 2;
ale_carb0ni 3:c61d0c70eda4 57 break;
ale_carb0ni 3:c61d0c70eda4 58 } else if (game.death(lcd, pad) == 1) {
ale_carb0ni 3:c61d0c70eda4 59 g_check = 1;
ale_carb0ni 3:c61d0c70eda4 60 break;
ale_carb0ni 3:c61d0c70eda4 61 }
ale_carb0ni 3:c61d0c70eda4 62 //printf("death\n");
ale_carb0ni 3:c61d0c70eda4 63 game.point(lcd, pad);
ale_carb0ni 3:c61d0c70eda4 64 //printf("point\n");
ale_carb0ni 3:c61d0c70eda4 65 lcd.refresh();
ale_carb0ni 3:c61d0c70eda4 66 wait(0.18);
ale_carb0ni 3:c61d0c70eda4 67 }
ale_carb0ni 3:c61d0c70eda4 68 }
ale_carb0ni 3:c61d0c70eda4 69