Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 7:8d63dc3948c1
- Parent:
- 6:7d0e05c39c22
- Child:
- 9:03aa2479b941
diff -r 7d0e05c39c22 -r 8d63dc3948c1 main.cpp
--- 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;
-}