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.
Diff: MinerEngine/MinerEngine.cpp
- Revision:
- 13:3299ab0ff2f0
- Parent:
- 12:07a9f2140d9b
- Child:
- 14:3731b0791970
--- a/MinerEngine/MinerEngine.cpp Mon Apr 27 16:02:47 2020 +0000
+++ b/MinerEngine/MinerEngine.cpp Sun May 10 06:43:16 2020 +0000
@@ -74,6 +74,32 @@
{0,0,0,0,0,0,0,0},
};
+int man_state1[10][7] = {
+ {0,0,1,1,1,0,0},
+ {0,0,1,0,1,0,0},
+ {0,0,1,1,1,0,0},
+ {1,0,0,1,0,0,0},
+ {1,1,1,1,1,1,1},
+ {0,0,0,1,0,0,1},
+ {0,0,1,1,1,0,0},
+ {0,0,1,0,1,0,0},
+ {0,0,1,0,1,0,0},
+ {0,0,0,0,1,0,0},
+};
+
+int man_state2[10][7] = {
+ {0,0,1,1,1,0,0},
+ {0,0,1,0,1,0,0},
+ {0,0,1,1,1,0,0},
+ {0,0,0,1,0,0,1},
+ {1,1,1,1,1,1,1},
+ {1,0,0,1,0,0,0},
+ {0,0,1,1,1,0,0},
+ {0,0,1,0,1,0,0},
+ {0,0,1,0,1,0,0},
+ {0,0,1,0,0,0,0},
+};
+
void MinerEngine::init(int winch_width,int winch_height,int gold_num,int monster_speed)
{
// initialise the game parameters
@@ -94,6 +120,7 @@
_claw_get = 0;//是否已经碰到金子
_monster_collision=0;//是否撞到怪物
_now_score = 0;
+ _h = 37;
for (int i=0;i<9;i++) {
_gold_reached_num[i] = 0;
@@ -234,6 +261,10 @@
}
void MinerEngine::game_run(Gamepad &pad, N5110 &lcd) {
+ // while(_h>24) {
+ tunnel(lcd);
+ //}
+
int fps=12;
_monster_collision=0;
while(_monster_collision==0) {
@@ -407,6 +438,79 @@
while ( pad.check_event(Gamepad::START_PRESSED) == false) {
play_music(pad);
+ /*
+ int i = 0;
+ int n = 0;
+ int z = 1;
+ int j = 0;
+ int h = 37;
+ /////////
+
+ while(1) {
+ lcd.clear();
+ lcd.drawLine(41,24,18,47,1);
+ lcd.drawLine(42,24,19,47,1);
+
+ lcd.drawLine(43,24,66,47,1);
+ lcd.drawLine(42,24,65,47,1);
+
+
+ lcd.drawCircle(42,24,2+i,FILL_TRANSPARENT);
+ lcd.drawCircle(42,24,12+i,FILL_TRANSPARENT);
+ lcd.drawCircle(42,24,22+i,FILL_TRANSPARENT);
+ lcd.drawCircle(42,24,32+i,FILL_TRANSPARENT);
+
+
+ for(int k=0;k<23;k++) {
+ lcd.drawLine(42-k,25+k,42+k,25+k,0);
+ }
+
+ lcd.drawLine(38-n,24+n,46+n,24+n,1);
+ lcd.drawLine(38-n,25+n,46+n,25+n,1);
+
+ lcd.drawLine(30-n,32+n,54+n,32+n,1);
+ lcd.drawLine(30-n,33+n,54+n,33+n,1);
+
+ lcd.drawLine(22-n,40+n,62+n,40+n,1);
+ lcd.drawLine(22-n,41+n,62+n,41+n,1);
+
+ j++;
+ if (j==5) {
+ j=0;
+
+ if (h>24) {
+ h--;
+ }
+ else {
+ h=24;
+ }
+ }
+
+ if(z==1) {
+ lcd.drawSprite(39,h,10,7,(int *)man_state2);
+ lcd.refresh();
+
+ }
+ if(z==-1) {
+ lcd.drawSprite(39,h,10,7,(int *)man_state1);
+
+ lcd.refresh();
+ }
+
+ i++;
+ n++;
+ z=-z;
+ if (i==10) {
+ i=0;
+ }
+ if (n==8) {
+ n=0;
+ }
+ lcd.refresh();
+ wait(0.1);
+ }
+ ///////
+ */
}
screen_rollup(pad,lcd);
loading(pad,lcd);
@@ -539,3 +643,84 @@
}
}
+void MinerEngine::tunnel(N5110 &lcd) {
+ int i = 0;
+ int n = 0;
+ int z = 1;
+ int j = 0;
+
+ /////////
+
+ while(_h>24) {
+ lcd.clear();
+ lcd.drawLine(41,24,18,47,1);
+ lcd.drawLine(42,24,19,47,1);
+
+ lcd.drawLine(43,24,66,47,1);
+ lcd.drawLine(42,24,65,47,1);
+
+
+ lcd.drawCircle(42,24,2+i,FILL_TRANSPARENT);
+ lcd.drawCircle(42,24,12+i,FILL_TRANSPARENT);
+ lcd.drawCircle(42,24,22+i,FILL_TRANSPARENT);
+ lcd.drawCircle(42,24,32+i,FILL_TRANSPARENT);
+
+
+ for(int k=0;k<23;k++) {
+ lcd.drawLine(42-k,25+k,42+k,25+k,0);
+ }
+
+ lcd.drawLine(38-n,24+n,46+n,24+n,1);
+ lcd.drawLine(38-n,25+n,46+n,25+n,1);
+
+ lcd.drawLine(30-n,32+n,54+n,32+n,1);
+ lcd.drawLine(30-n,33+n,54+n,33+n,1);
+
+ lcd.drawLine(22-n,40+n,62+n,40+n,1);
+ lcd.drawLine(22-n,41+n,62+n,41+n,1);
+
+ j++;
+ if (j==5) {
+ j=0;
+
+ if (_h>24) {
+ _h--;
+ }
+ else {
+ _h=24;
+ }
+ }
+
+ if(z==1) {
+ lcd.drawSprite(39,_h,10,7,(int *)man_state2);
+ lcd.refresh();
+
+ }
+ if(z==-1) {
+ lcd.drawSprite(39,_h,10,7,(int *)man_state1);
+
+ lcd.refresh();
+ }
+
+ i++;
+ n++;
+ z=-z;
+ if (i==10) {
+ i=0;
+ }
+ if (n==8) {
+ n=0;
+ }
+ lcd.refresh();
+ wait(0.1);
+
+ }
+ lcd.clear();
+ lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
+ lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
+ lcd.printString(" WE ARE",2,1);
+ lcd.printString(" IN THE",2,2);
+ lcd.printString(" MINE!!!",2,3);
+ lcd.refresh();
+ wait(2);
+}