Guest User

arduboy code

a guest
Apr 21st, 2021
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. //DinoSmasher
  2.  
  3. #include <Arduboy2.h>
  4. Arduboy2 arduboy;
  5. #define GAME_TITLE 0
  6. #define GAME_PLAY 1
  7. #define GAME_OVER 2
  8. #define GAME_HIGH 3
  9.  
  10. int gamestate = GAME_TITLE;
  11.  
  12. #define WORLD_WIDTH 20
  13. #define WORLD_HEIGHT 4
  14. int world[WORLD_HEIGHT][WORLD_WIDTH] = {
  15. { 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
  16. { 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1 },
  17. { 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0 },
  18. { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0 }
  19. };
  20.  
  21. void drawworld() {
  22. for (int y = 0; y < WORLD_HEIGHT; y++) {
  23. for (int x = 0; x < WORLD_WIDTH; x++) {
  24. arduboy.print(world[y][x]);
  25. }
  26. arduboy.print("\n");
  27. }
  28. }
  29.  
  30. void titlescreen() {
  31. arduboy.setCursor(0, 0);
  32. arduboy.print("Title Screen\n");
  33. if (arduboy.justPressed(A_BUTTON)) {
  34. gamestate = GAME_PLAY;
  35. }
  36. }
  37. void gameplay() {
  38. arduboy.setCursor(0, 0);
  39. arduboy.print("Gameplay\n");
  40. drawworld();
  41. if (arduboy.justPressed(A_BUTTON)) {
  42. gamestate = GAME_OVER;
  43. }
  44. }
  45. void gameoverscreen() {
  46. arduboy.setCursor(0, 0);
  47. arduboy.print("Game Over Screen\n");
  48. if (arduboy.justPressed(A_BUTTON)) {
  49. gamestate = GAME_HIGH;
  50. }
  51. }
  52. void highscorescreen() {
  53. arduboy.setCursor(0, 0);
  54. arduboy.print("High Score Screen\n");
  55. if (arduboy.justPressed(A_BUTTON)) {
  56. gamestate = GAME_TITLE;
  57. }
  58. }
  59.  
  60.  
  61. void gameloop() {
  62.  
  63. switch(gamestate) {
  64.  
  65. case GAME_TITLE:
  66. titlescreen();
  67. break;
  68.  
  69. case GAME_PLAY:
  70. gameplay();
  71. break;
  72.  
  73. case GAME_OVER:
  74. gameoverscreen();
  75. break;
  76.  
  77. case GAME_HIGH:
  78. highscorescreen();
  79. break;
  80.  
  81. }
  82.  
  83. }
  84.  
  85. void setup() {
  86.  
  87. arduboy.begin();
  88. arduboy.setFrameRate(45);
  89. arduboy.display();
  90. arduboy.initRandomSeed();
  91. arduboy.clear();
  92.  
  93. }
  94.  
  95. void loop() {
  96.  
  97. if(!(arduboy.nextFrame())) {
  98. return;
  99. }
  100.  
  101. arduboy.pollButtons();
  102. arduboy.clear();
  103. gameloop();
  104. arduboy.display();
  105. }
Advertisement
Add Comment
Please, Sign In to add comment