Bingshuo Chen
/
Monster_copy_copy
27
Monster/monster.cpp@1:48a028c4089e, 2021-04-09 (annotated)
- Committer:
- cbs27
- Date:
- Fri Apr 09 06:34:43 2021 +0000
- Revision:
- 1:48a028c4089e
- Parent:
- 0:ef959ad27a16
- Child:
- 2:9a31febe6d2f
..;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cbs27 | 0:ef959ad27a16 | 1 | #include "monster.h" |
cbs27 | 0:ef959ad27a16 | 2 | |
cbs27 | 0:ef959ad27a16 | 3 | Monster::Monster() {} |
cbs27 | 1:48a028c4089e | 4 | /* |
cbs27 | 1:48a028c4089e | 5 | void Monster::monster_main(N5110 &lcd, DigitalIn &button_A, DigitalIn &button_B, DigitalIn &button_C, DigitalIn &button_D, |
cbs27 | 1:48a028c4089e | 6 | DigitalOut led1, DigitalOut led2, DigitalOut led3) { |
cbs27 | 1:48a028c4089e | 7 | |
cbs27 | 1:48a028c4089e | 8 | } |
cbs27 | 1:48a028c4089e | 9 | */ |
cbs27 | 1:48a028c4089e | 10 | void Monster::monster_main(N5110 &lcd, DigitalIn &button_A, DigitalIn &button_B, DigitalIn &button_C, DigitalIn &button_D, |
cbs27 | 1:48a028c4089e | 11 | DigitalOut led1, DigitalOut led2, DigitalOut led3) { |
cbs27 | 0:ef959ad27a16 | 12 | |
cbs27 | 0:ef959ad27a16 | 13 | //设置人物初始位置 |
cbs27 | 0:ef959ad27a16 | 14 | monster_x0 = 4; |
cbs27 | 0:ef959ad27a16 | 15 | monster_y0 = 19; |
cbs27 | 0:ef959ad27a16 | 16 | |
cbs27 | 0:ef959ad27a16 | 17 | //设置反派位置 |
cbs27 | 0:ef959ad27a16 | 18 | monster_x1 = 23; |
cbs27 | 0:ef959ad27a16 | 19 | monster_y1 = 19; |
cbs27 | 0:ef959ad27a16 | 20 | turn1 = 0; |
cbs27 | 0:ef959ad27a16 | 21 | |
cbs27 | 0:ef959ad27a16 | 22 | monster_x2 = 18; |
cbs27 | 0:ef959ad27a16 | 23 | monster_y2 = 37; |
cbs27 | 0:ef959ad27a16 | 24 | turn2 = 0; |
cbs27 | 0:ef959ad27a16 | 25 | |
cbs27 | 0:ef959ad27a16 | 26 | monster_x3 = 68; |
cbs27 | 0:ef959ad27a16 | 27 | monster_y3 = 37; |
cbs27 | 0:ef959ad27a16 | 28 | turn3 = 0; |
cbs27 | 0:ef959ad27a16 | 29 | |
cbs27 | 0:ef959ad27a16 | 30 | //开启宝石 |
cbs27 | 1:48a028c4089e | 31 | int temp_jewels_x[7] = {41,46,2,7,12,38,43}; |
cbs27 | 1:48a028c4089e | 32 | int temp_jewels_y[7] = {21,21,39,39,39,36,36}; |
cbs27 | 1:48a028c4089e | 33 | |
cbs27 | 1:48a028c4089e | 34 | for (int i=0; i<7; i++) { |
cbs27 | 1:48a028c4089e | 35 | jewels_on[i] = 1; |
cbs27 | 1:48a028c4089e | 36 | jewels_x[i] = temp_jewels_x[i]; |
cbs27 | 1:48a028c4089e | 37 | jewels_y[i] = temp_jewels_y[i]; |
cbs27 | 1:48a028c4089e | 38 | } |
cbs27 | 0:ef959ad27a16 | 39 | |
cbs27 | 0:ef959ad27a16 | 40 | while(1) { |
cbs27 | 0:ef959ad27a16 | 41 | |
cbs27 | 0:ef959ad27a16 | 42 | lcd.clear(); |
cbs27 | 0:ef959ad27a16 | 43 | |
cbs27 | 0:ef959ad27a16 | 44 | //画背景 |
cbs27 | 0:ef959ad27a16 | 45 | this->drawbackground1(lcd); |
cbs27 | 0:ef959ad27a16 | 46 | this->drawscores(lcd); |
cbs27 | 0:ef959ad27a16 | 47 | |
cbs27 | 0:ef959ad27a16 | 48 | //画宝石和反派 |
cbs27 | 0:ef959ad27a16 | 49 | this->draw_jewels(lcd); |
cbs27 | 0:ef959ad27a16 | 50 | this->draw_blackmonsters(lcd); |
cbs27 | 0:ef959ad27a16 | 51 | |
cbs27 | 0:ef959ad27a16 | 52 | //画人物 |
cbs27 | 0:ef959ad27a16 | 53 | this->draw_monster(lcd, button_A, button_B, button_C, button_D); |
cbs27 | 0:ef959ad27a16 | 54 | |
cbs27 | 1:48a028c4089e | 55 | //失去生命 |
cbs27 | 1:48a028c4089e | 56 | this->loss_life(lcd); |
cbs27 | 1:48a028c4089e | 57 | |
cbs27 | 1:48a028c4089e | 58 | //画生命 |
cbs27 | 1:48a028c4089e | 59 | this->drawlifes(lcd, led1, led2, led3); |
cbs27 | 1:48a028c4089e | 60 | |
cbs27 | 0:ef959ad27a16 | 61 | lcd.refresh(); |
cbs27 | 1:48a028c4089e | 62 | |
cbs27 | 1:48a028c4089e | 63 | if (monster_x0 >84) { |
cbs27 | 1:48a028c4089e | 64 | this->monster_main(lcd, button_A, button_B, button_C, button_D, led1, led2, led3); |
cbs27 | 1:48a028c4089e | 65 | } |
cbs27 | 1:48a028c4089e | 66 | |
cbs27 | 1:48a028c4089e | 67 | if (lifes <= 0) { |
cbs27 | 1:48a028c4089e | 68 | break; |
cbs27 | 1:48a028c4089e | 69 | } |
cbs27 | 0:ef959ad27a16 | 70 | |
cbs27 | 1:48a028c4089e | 71 | thread_sleep_for(15); |
cbs27 | 0:ef959ad27a16 | 72 | } |
cbs27 | 1:48a028c4089e | 73 | |
cbs27 | 1:48a028c4089e | 74 | //游戏结束 |
cbs27 | 1:48a028c4089e | 75 | this->game_over(lcd,button_A); |
cbs27 | 1:48a028c4089e | 76 | |
cbs27 | 0:ef959ad27a16 | 77 | } |
cbs27 | 0:ef959ad27a16 | 78 | |
cbs27 | 0:ef959ad27a16 | 79 | |
cbs27 | 0:ef959ad27a16 | 80 | void Monster::drawbackground1(N5110 &lcd) { |
cbs27 | 0:ef959ad27a16 | 81 | |
cbs27 | 0:ef959ad27a16 | 82 | lcd.drawLine(0,8,84,8,2); |
cbs27 | 0:ef959ad27a16 | 83 | lcd.drawRect(23,26,26,4,FILL_BLACK); |
cbs27 | 0:ef959ad27a16 | 84 | lcd.drawRect(0,44,84,4,FILL_BLACK); |
cbs27 | 0:ef959ad27a16 | 85 | lcd.drawRect(28,40,26,4,FILL_BLACK); |
cbs27 | 0:ef959ad27a16 | 86 | lcd.drawRect(67,22,17,11,FILL_TRANSPARENT); |
cbs27 | 0:ef959ad27a16 | 87 | |
cbs27 | 0:ef959ad27a16 | 88 | } |
cbs27 | 0:ef959ad27a16 | 89 | |
cbs27 | 1:48a028c4089e | 90 | //画生命 |
cbs27 | 1:48a028c4089e | 91 | void Monster::drawlifes(N5110 &lcd, DigitalOut led1, DigitalOut led2, DigitalOut led3) { |
cbs27 | 0:ef959ad27a16 | 92 | |
cbs27 | 0:ef959ad27a16 | 93 | for(int i=1; i<=lifes; i++) { |
cbs27 | 0:ef959ad27a16 | 94 | |
cbs27 | 0:ef959ad27a16 | 95 | lcd.drawSprite(7*i-4,2,4,5,(int *)shapHeart); |
cbs27 | 0:ef959ad27a16 | 96 | |
cbs27 | 0:ef959ad27a16 | 97 | } |
cbs27 | 1:48a028c4089e | 98 | switch (lifes) { |
cbs27 | 1:48a028c4089e | 99 | case 3: |
cbs27 | 1:48a028c4089e | 100 | led1 = 1; |
cbs27 | 1:48a028c4089e | 101 | led2 = 1; |
cbs27 | 1:48a028c4089e | 102 | led3 = 1; |
cbs27 | 1:48a028c4089e | 103 | break; |
cbs27 | 1:48a028c4089e | 104 | |
cbs27 | 1:48a028c4089e | 105 | case 2: |
cbs27 | 1:48a028c4089e | 106 | led1 = 1; |
cbs27 | 1:48a028c4089e | 107 | led2 = 1; |
cbs27 | 1:48a028c4089e | 108 | led3 = 0; |
cbs27 | 1:48a028c4089e | 109 | break; |
cbs27 | 1:48a028c4089e | 110 | |
cbs27 | 1:48a028c4089e | 111 | case 1: |
cbs27 | 1:48a028c4089e | 112 | led1 = 1; |
cbs27 | 1:48a028c4089e | 113 | led2 = 0; |
cbs27 | 1:48a028c4089e | 114 | led3 = 0; |
cbs27 | 1:48a028c4089e | 115 | break; |
cbs27 | 1:48a028c4089e | 116 | |
cbs27 | 1:48a028c4089e | 117 | default: |
cbs27 | 1:48a028c4089e | 118 | led1 = 0; |
cbs27 | 1:48a028c4089e | 119 | led2 = 0; |
cbs27 | 1:48a028c4089e | 120 | led3 = 0; |
cbs27 | 1:48a028c4089e | 121 | break; |
cbs27 | 1:48a028c4089e | 122 | } |
cbs27 | 0:ef959ad27a16 | 123 | |
cbs27 | 0:ef959ad27a16 | 124 | } |
cbs27 | 0:ef959ad27a16 | 125 | |
cbs27 | 0:ef959ad27a16 | 126 | void Monster::drawscores(N5110 &lcd) { |
cbs27 | 0:ef959ad27a16 | 127 | |
cbs27 | 0:ef959ad27a16 | 128 | char score_buffer[14]; |
cbs27 | 0:ef959ad27a16 | 129 | sprintf(score_buffer,"%d",score); |
cbs27 | 0:ef959ad27a16 | 130 | lcd.printString(score_buffer,60,0); |
cbs27 | 0:ef959ad27a16 | 131 | |
cbs27 | 0:ef959ad27a16 | 132 | } |
cbs27 | 0:ef959ad27a16 | 133 | |
cbs27 | 0:ef959ad27a16 | 134 | //画反派 |
cbs27 | 0:ef959ad27a16 | 135 | void Monster::draw_blackmonsters(N5110 &lcd) { |
cbs27 | 0:ef959ad27a16 | 136 | |
cbs27 | 0:ef959ad27a16 | 137 | |
cbs27 | 0:ef959ad27a16 | 138 | //画反派1 |
cbs27 | 0:ef959ad27a16 | 139 | if (turn1 == 0) { |
cbs27 | 0:ef959ad27a16 | 140 | |
cbs27 | 0:ef959ad27a16 | 141 | monster_x1 += 1; |
cbs27 | 0:ef959ad27a16 | 142 | lcd.drawSprite(monster_x1,monster_y1,7,7,(int *)blackMonster); |
cbs27 | 0:ef959ad27a16 | 143 | |
cbs27 | 0:ef959ad27a16 | 144 | if (monster_x1 >= 43) { |
cbs27 | 0:ef959ad27a16 | 145 | turn1 = 1; |
cbs27 | 0:ef959ad27a16 | 146 | } |
cbs27 | 0:ef959ad27a16 | 147 | |
cbs27 | 0:ef959ad27a16 | 148 | } |
cbs27 | 0:ef959ad27a16 | 149 | |
cbs27 | 0:ef959ad27a16 | 150 | if (turn1 == 1) { |
cbs27 | 0:ef959ad27a16 | 151 | |
cbs27 | 0:ef959ad27a16 | 152 | monster_x1 -= 1; |
cbs27 | 0:ef959ad27a16 | 153 | lcd.drawSprite(monster_x1,monster_y1,7,7,(int *)blackMonster); |
cbs27 | 0:ef959ad27a16 | 154 | |
cbs27 | 0:ef959ad27a16 | 155 | if (monster_x1 <= 23) { |
cbs27 | 0:ef959ad27a16 | 156 | turn1 = 0; |
cbs27 | 0:ef959ad27a16 | 157 | } |
cbs27 | 0:ef959ad27a16 | 158 | |
cbs27 | 0:ef959ad27a16 | 159 | } |
cbs27 | 0:ef959ad27a16 | 160 | |
cbs27 | 0:ef959ad27a16 | 161 | //画反派2 |
cbs27 | 0:ef959ad27a16 | 162 | if (turn2 == 0) { |
cbs27 | 0:ef959ad27a16 | 163 | |
cbs27 | 0:ef959ad27a16 | 164 | monster_x2 += 1; |
cbs27 | 0:ef959ad27a16 | 165 | lcd.drawSprite(monster_x2,monster_y2,7,7,(int *)blackMonster); |
cbs27 | 0:ef959ad27a16 | 166 | |
cbs27 | 0:ef959ad27a16 | 167 | if (monster_x2 >= 20) { |
cbs27 | 0:ef959ad27a16 | 168 | turn2 = 1; |
cbs27 | 0:ef959ad27a16 | 169 | } |
cbs27 | 0:ef959ad27a16 | 170 | |
cbs27 | 0:ef959ad27a16 | 171 | } |
cbs27 | 0:ef959ad27a16 | 172 | |
cbs27 | 0:ef959ad27a16 | 173 | if (turn2 == 1) { |
cbs27 | 0:ef959ad27a16 | 174 | |
cbs27 | 0:ef959ad27a16 | 175 | monster_x2 -= 1; |
cbs27 | 0:ef959ad27a16 | 176 | lcd.drawSprite(monster_x2,monster_y2,7,7,(int *)blackMonster); |
cbs27 | 0:ef959ad27a16 | 177 | |
cbs27 | 0:ef959ad27a16 | 178 | if (monster_x2 <= 1) { |
cbs27 | 0:ef959ad27a16 | 179 | turn2 = 0; |
cbs27 | 0:ef959ad27a16 | 180 | } |
cbs27 | 0:ef959ad27a16 | 181 | |
cbs27 | 0:ef959ad27a16 | 182 | } |
cbs27 | 0:ef959ad27a16 | 183 | |
cbs27 | 0:ef959ad27a16 | 184 | //画反派3 |
cbs27 | 0:ef959ad27a16 | 185 | if (turn3 == 0) { |
cbs27 | 0:ef959ad27a16 | 186 | |
cbs27 | 0:ef959ad27a16 | 187 | monster_x3 += 1; |
cbs27 | 0:ef959ad27a16 | 188 | lcd.drawSprite(monster_x3,monster_y3,7,7,(int *)blackMonster); |
cbs27 | 0:ef959ad27a16 | 189 | |
cbs27 | 0:ef959ad27a16 | 190 | if (monster_x3 >= 75) { |
cbs27 | 0:ef959ad27a16 | 191 | turn3 = 1; |
cbs27 | 0:ef959ad27a16 | 192 | } |
cbs27 | 0:ef959ad27a16 | 193 | |
cbs27 | 0:ef959ad27a16 | 194 | } |
cbs27 | 0:ef959ad27a16 | 195 | |
cbs27 | 0:ef959ad27a16 | 196 | if (turn3 == 1) { |
cbs27 | 0:ef959ad27a16 | 197 | |
cbs27 | 0:ef959ad27a16 | 198 | monster_x3 -= 1; |
cbs27 | 0:ef959ad27a16 | 199 | lcd.drawSprite(monster_x3,monster_y3,7,7,(int *)blackMonster); |
cbs27 | 0:ef959ad27a16 | 200 | |
cbs27 | 0:ef959ad27a16 | 201 | if (monster_x3 <= 56) { |
cbs27 | 0:ef959ad27a16 | 202 | turn3 = 0; |
cbs27 | 0:ef959ad27a16 | 203 | } |
cbs27 | 0:ef959ad27a16 | 204 | |
cbs27 | 0:ef959ad27a16 | 205 | } |
cbs27 | 0:ef959ad27a16 | 206 | |
cbs27 | 0:ef959ad27a16 | 207 | } |
cbs27 | 0:ef959ad27a16 | 208 | |
cbs27 | 0:ef959ad27a16 | 209 | //画宝石 |
cbs27 | 0:ef959ad27a16 | 210 | void Monster::draw_jewels(N5110 &lcd) { |
cbs27 | 0:ef959ad27a16 | 211 | |
cbs27 | 1:48a028c4089e | 212 | for (int i=0; i<7; i++) { |
cbs27 | 1:48a028c4089e | 213 | |
cbs27 | 1:48a028c4089e | 214 | if (jewels_on[i] == 1) { |
cbs27 | 1:48a028c4089e | 215 | lcd.drawSprite(jewels_x[i],jewels_y[i],3,3,(int *)shapStar); |
cbs27 | 1:48a028c4089e | 216 | } |
cbs27 | 1:48a028c4089e | 217 | |
cbs27 | 0:ef959ad27a16 | 218 | } |
cbs27 | 0:ef959ad27a16 | 219 | |
cbs27 | 0:ef959ad27a16 | 220 | } |
cbs27 | 0:ef959ad27a16 | 221 | |
cbs27 | 0:ef959ad27a16 | 222 | //画人物 |
cbs27 | 0:ef959ad27a16 | 223 | void Monster::draw_monster(N5110 &lcd, DigitalIn &button_A, DigitalIn &button_B, DigitalIn &button_C, DigitalIn &button_D) { |
cbs27 | 0:ef959ad27a16 | 224 | |
cbs27 | 0:ef959ad27a16 | 225 | if (button_A.read() == 1) { |
cbs27 | 0:ef959ad27a16 | 226 | monster_x0 += 1; |
cbs27 | 0:ef959ad27a16 | 227 | } |
cbs27 | 0:ef959ad27a16 | 228 | else if (button_B.read() == 1) { |
cbs27 | 0:ef959ad27a16 | 229 | monster_y0 -= 1; |
cbs27 | 0:ef959ad27a16 | 230 | } |
cbs27 | 0:ef959ad27a16 | 231 | else if (button_C.read() == 1) { |
cbs27 | 0:ef959ad27a16 | 232 | monster_x0 -= 1; |
cbs27 | 0:ef959ad27a16 | 233 | } |
cbs27 | 0:ef959ad27a16 | 234 | else if (button_D.read() == 1) { |
cbs27 | 0:ef959ad27a16 | 235 | monster_y0 += 1; |
cbs27 | 0:ef959ad27a16 | 236 | } |
cbs27 | 0:ef959ad27a16 | 237 | |
cbs27 | 0:ef959ad27a16 | 238 | //向右超出 |
cbs27 | 0:ef959ad27a16 | 239 | if (monster_x0 > 84) { |
cbs27 | 1:48a028c4089e | 240 | level += 1; |
cbs27 | 0:ef959ad27a16 | 241 | } |
cbs27 | 0:ef959ad27a16 | 242 | //向左限定 |
cbs27 | 0:ef959ad27a16 | 243 | if (monster_x0 < 0) { |
cbs27 | 0:ef959ad27a16 | 244 | monster_x0 = 0; |
cbs27 | 0:ef959ad27a16 | 245 | } |
cbs27 | 0:ef959ad27a16 | 246 | //向上限定 |
cbs27 | 0:ef959ad27a16 | 247 | if (monster_y0 < 9) { |
cbs27 | 0:ef959ad27a16 | 248 | monster_y0 = 9; |
cbs27 | 0:ef959ad27a16 | 249 | } |
cbs27 | 0:ef959ad27a16 | 250 | //向下限定 |
cbs27 | 0:ef959ad27a16 | 251 | if (monster_y0 > 37) { |
cbs27 | 0:ef959ad27a16 | 252 | monster_y0 = 37; |
cbs27 | 0:ef959ad27a16 | 253 | } |
cbs27 | 1:48a028c4089e | 254 | //障碍限定 |
cbs27 | 0:ef959ad27a16 | 255 | if (monster_x0 > 20 && monster_x0 < 56 && monster_y0 > 33) { |
cbs27 | 0:ef959ad27a16 | 256 | monster_y0 = 33; |
cbs27 | 0:ef959ad27a16 | 257 | } |
cbs27 | 0:ef959ad27a16 | 258 | |
cbs27 | 1:48a028c4089e | 259 | if (monster_x0 > 16 && monster_x0 < 49) { |
cbs27 | 1:48a028c4089e | 260 | if (monster_y0 > 19 && monster_y0 < 29) { |
cbs27 | 1:48a028c4089e | 261 | monster_y0 = 19; |
cbs27 | 1:48a028c4089e | 262 | } |
cbs27 | 1:48a028c4089e | 263 | if (monster_y0 == 29) { |
cbs27 | 1:48a028c4089e | 264 | monster_y0 = 30; |
cbs27 | 1:48a028c4089e | 265 | } |
cbs27 | 1:48a028c4089e | 266 | } |
cbs27 | 1:48a028c4089e | 267 | |
cbs27 | 1:48a028c4089e | 268 | |
cbs27 | 0:ef959ad27a16 | 269 | lcd.drawSprite(monster_x0,monster_y0,6,7,(int *)whiteMonster); |
cbs27 | 0:ef959ad27a16 | 270 | |
cbs27 | 1:48a028c4089e | 271 | //是否碰到宝石 |
cbs27 | 1:48a028c4089e | 272 | for (int i=0; i<7; i++) { |
cbs27 | 1:48a028c4089e | 273 | if (abs(monster_x0-jewels_x[i]+2) <= 4 && abs(monster_y0-jewels_y[i]+2) <= 4) { |
cbs27 | 1:48a028c4089e | 274 | score += 1; |
cbs27 | 1:48a028c4089e | 275 | jewels_x[i] = 100; |
cbs27 | 1:48a028c4089e | 276 | jewels_y[i] = 100; |
cbs27 | 1:48a028c4089e | 277 | } |
cbs27 | 1:48a028c4089e | 278 | } |
cbs27 | 1:48a028c4089e | 279 | } |
cbs27 | 1:48a028c4089e | 280 | //失去生命 |
cbs27 | 1:48a028c4089e | 281 | void Monster::loss_life(N5110 &lcd) { |
cbs27 | 1:48a028c4089e | 282 | |
cbs27 | 1:48a028c4089e | 283 | if (abs(monster_x0-monster_x1) < 7 && abs(monster_y0-monster_y1) < 6) { |
cbs27 | 1:48a028c4089e | 284 | lifes -= 1; |
cbs27 | 1:48a028c4089e | 285 | turn1 = 0; |
cbs27 | 1:48a028c4089e | 286 | monster_x1 = 100; |
cbs27 | 1:48a028c4089e | 287 | monster_y1 = 100; |
cbs27 | 1:48a028c4089e | 288 | thread_sleep_for(100); |
cbs27 | 1:48a028c4089e | 289 | } |
cbs27 | 1:48a028c4089e | 290 | else if (abs(monster_x0-monster_x2) < 7 && abs(monster_y0-monster_y2) < 6) { |
cbs27 | 1:48a028c4089e | 291 | lifes -= 1; |
cbs27 | 1:48a028c4089e | 292 | turn1 = 0; |
cbs27 | 1:48a028c4089e | 293 | monster_x2 = 100; |
cbs27 | 1:48a028c4089e | 294 | monster_y2 = 100; |
cbs27 | 1:48a028c4089e | 295 | thread_sleep_for(100); |
cbs27 | 1:48a028c4089e | 296 | } |
cbs27 | 1:48a028c4089e | 297 | else if (abs(monster_x0-monster_x3) < 7 && abs(monster_y0-monster_y3) < 6) { |
cbs27 | 1:48a028c4089e | 298 | lifes -= 1; |
cbs27 | 1:48a028c4089e | 299 | turn1 = 0; |
cbs27 | 1:48a028c4089e | 300 | monster_x3 = 100; |
cbs27 | 1:48a028c4089e | 301 | monster_y3 = 100; |
cbs27 | 1:48a028c4089e | 302 | thread_sleep_for(100); |
cbs27 | 1:48a028c4089e | 303 | } |
cbs27 | 1:48a028c4089e | 304 | } |
cbs27 | 1:48a028c4089e | 305 | |
cbs27 | 1:48a028c4089e | 306 | //游戏结束 |
cbs27 | 1:48a028c4089e | 307 | void Monster::game_over(N5110 &lcd, DigitalIn &button_A) { |
cbs27 | 1:48a028c4089e | 308 | |
cbs27 | 1:48a028c4089e | 309 | //最高分数 |
cbs27 | 1:48a028c4089e | 310 | if (score > best_score) { |
cbs27 | 1:48a028c4089e | 311 | best_score = score; |
cbs27 | 1:48a028c4089e | 312 | } |
cbs27 | 1:48a028c4089e | 313 | |
cbs27 | 1:48a028c4089e | 314 | //结束界面 |
cbs27 | 1:48a028c4089e | 315 | thread_sleep_for(100); |
cbs27 | 1:48a028c4089e | 316 | lcd.clear(); |
cbs27 | 1:48a028c4089e | 317 | lcd.printString("GAME OVER",16,1); |
cbs27 | 1:48a028c4089e | 318 | lcd.printString("PRESS A OUT",0,5); |
cbs27 | 1:48a028c4089e | 319 | lcd.refresh(); |
cbs27 | 1:48a028c4089e | 320 | |
cbs27 | 1:48a028c4089e | 321 | while (button_A == 0) { |
cbs27 | 1:48a028c4089e | 322 | |
cbs27 | 1:48a028c4089e | 323 | } |
cbs27 | 1:48a028c4089e | 324 | main(); |
cbs27 | 0:ef959ad27a16 | 325 | |
cbs27 | 0:ef959ad27a16 | 326 | } |
cbs27 | 0:ef959ad27a16 | 327 | |
cbs27 | 0:ef959ad27a16 | 328 |