Albert Tan Mulligan Submission

Dependencies:   mbed

Revision:
4:b16b6078a432
Parent:
3:fcc9cf213a61
Child:
5:51fd6635141f
--- a/main.cpp	Mon May 18 11:38:28 2020 +0000
+++ b/main.cpp	Mon May 18 15:42:26 2020 +0000
@@ -15,6 +15,7 @@
 #include "Gamepad.h"
 #include "N5110.h"
 #include "Character.h"
+#include "Bullets.h"
 Serial pc(USBTX, USBRX);
 //STRUCTS
 struct State {
@@ -26,6 +27,8 @@
 Gamepad pad;
 N5110 lcd;
 Character p1;
+Bullets shot;
+
 //Variables
 State fsm[3] = {
         {0,{1,1}},
@@ -66,7 +69,8 @@
 void menu(){    
     //pc.printf("Menu Open");
     lcd.printString("    BoxHead    ",0,1);  
-    lcd.printString("  Press For \nWeapon\n and Start ",0,3);
+    lcd.printString("  Choose your",0,3);
+    lcd.printString("     Weapon",0,4);
     lcd.refresh();
         while (1) {
         //pc.printf("While Loop + %d", g_pad.Button_A_flag);
@@ -88,8 +92,8 @@
                 p1.init(40,22); 
                 return;
             }
+        sleep();
         }
-    sleep();
 }
                                                                          
 void GameRun(){
@@ -100,11 +104,26 @@
         //movement code
         dir = pad.get_direction();
         mag = pad.get_mag();
+        
+        if (pad.A_pressed()) {
+                shot.init(p1.get_x()+2, p1.get_y()+2, 1);
+        }
+        else if (pad.B_pressed()) {
+                shot.init(p1.get_x()+2, p1.get_y()+2, 2);
+        }        
+        else if (pad.Y_pressed()) {
+                shot.init(p1.get_x()+2, p1.get_y()+2, 3);
+        }
+        else if (pad.X_pressed()) {
+                shot.init(p1.get_x()+2, p1.get_y()+2, 0);
+        }
         p1.update(dir, mag);
-        lcd.clear();  
+        shot.update(p1.get_x()+2, p1.get_y()+2);
+        lcd.clear(); 
         p1.draw(lcd);
+        shot.draw(lcd);
         lcd.refresh();
-        wait(1.0f/10.0);
+        wait(1.0f/10.0f);
         if (pad.start_pressed()) {
             Current_State = fsm[Current_State].next_state[0];
             return;
@@ -113,7 +132,7 @@
     }
 }
 void Pause(){
-        lcd.printString("     PAUSED     ",0,1);  
+        lcd.printString("    PAUSED     ",0,1);  
         lcd.refresh();  
                 // put the MCU to sleep until an interrupt wakes it up
         if (pad.start_pressed()) {