ELEC2645 (2018/19) / Mbed 2 deprecated el16y2m

Dependencies:   mbed

Revision:
7:8d63dc3948c1
Parent:
6:7d0e05c39c22
Child:
9:03aa2479b941
--- a/main.cpp	Mon Apr 22 02:24:50 2019 +0000
+++ b/main.cpp	Tue Apr 23 17:56:57 2019 +0000
@@ -1,17 +1,10 @@
-#include "mbed.h"
-#include "Image.h"
-#include "Rotate.h"
-#include "Release.h"
-#include "Global_my.h"
-#include "Gamepad.h"
-#include "Draw.h"
-#define PI 3.1415
+#include "Level.h"
 
 Image Image;
 
 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
 
-
+Level Level;
 Rotate Rotate;
 Release Release;
 Detect detect;
@@ -20,17 +13,14 @@
 InterruptIn A(PTB9);
 InterruptIn B(PTD0);
 
-void A_isr();
-void B_isr();
 
 void init_K64F();
 
-volatile int g_A_flag = 0;
-volatile int g_B_flag = 0;
 
 
 int main()
 {
+   while(1) {
     // first need to initialise display
     lcd.init();
     // change set contrast in range 0.0 to 1.0
@@ -38,66 +28,18 @@
     lcd.setContrast(0.5);
    
     A.mode(PullDown);
-    A.rise(&A_isr);
     B.mode(PullDown);
-    B.rise(&B_isr);
-   
     // since SW2 has an external pull-up, we should disable to internal pull-down
     // resistor that is enabled by default using InterruptIn
-    Rotate.return_flag=1;
-    Rotate.return_angle=PI;
-    
-    while(1) {
-        int detector=A.read();
-        // these are default settings so not strictly needed
-        lcd.normalMode();      // normal colour mode
-        lcd.setBrightness(0.4); // put LED backlight on 50%
-        // x origin, y origin, rows, cols, sprite
-        if(g_A_flag) {
-            detector=1;
-        }
-
-         if(g_B_flag) {
-            g_A_flag=0;
-            detector=2;
-        }
-        
-        switch(detector) {
-            case 0 :
-                lcd.clear();
-                lcd.printString("Misery Miner!",0,0);
-                lcd.refresh();
-                wait(0.1);
-                break;
-            case 1 :
-                Rotate.rotate(lcd,Image, Rotate.return_angle, PI, Rotate.return_flag);
-                 //printf("f%", Rotate.return_angle);
-                 // int i=0;
-                // i=i+1
-                //int catched(i)=(n,n)
-                // int ii
-                //for (ii=0; ii<i; ii=ii+1)
-                // draw blank(i)
-                // end 
-                 break;
-             case 2 :
-                Release.release(Draw, detect, lcd,Image, Rotate.return_angle,  (int*)level_1_X,  (int*)level_1_Y);
-                 //printf("f%", Rotate.return_angle);
-                 g_A_flag = 1;
-                 g_B_flag = 0;
-                 break;     
-        }
-    
-    
+   switch(level) { 
+   case 1:
+   Level.level_1(Image, lcd, Rotate, Release, detect, Draw, A, B);
+   break;
+   
+   case 2:
+   Level.level_2(Image, lcd, Rotate, Release, detect, Draw, A, B);
+   break;
     }
 }
-
-void A_isr()
-{
-    g_A_flag = 1;
 }
 
-void B_isr()
-{
-    g_B_flag = 1;
-}