Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Sat Apr 25 10:41:47 2020 +0000
Revision:
6:3381131afe50
Parent:
5:58932f73fc35
Child:
7:5bb5cde8951a
engine::check_monster_collision finished

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ZhongYufan 1:9c7bb3db32bc 1 #include "MinerEngine.h"
ZhongYufan 1:9c7bb3db32bc 2
ZhongYufan 1:9c7bb3db32bc 3
ZhongYufan 1:9c7bb3db32bc 4 MinerEngine::MinerEngine()
ZhongYufan 1:9c7bb3db32bc 5 {
ZhongYufan 1:9c7bb3db32bc 6
ZhongYufan 1:9c7bb3db32bc 7 }
ZhongYufan 1:9c7bb3db32bc 8
ZhongYufan 1:9c7bb3db32bc 9 MinerEngine::~MinerEngine()
ZhongYufan 1:9c7bb3db32bc 10 {
ZhongYufan 1:9c7bb3db32bc 11
ZhongYufan 1:9c7bb3db32bc 12 }
ZhongYufan 1:9c7bb3db32bc 13
ZhongYufan 1:9c7bb3db32bc 14 int sprite[48][84] = {
ZhongYufan 1:9c7bb3db32bc 15 // *10 *20 *30 *40 *50 *60 *70 *80
ZhongYufan 1:9c7bb3db32bc 16 /*1 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 17 /*2 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 18 /*3 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 19 /*4 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 20 /*5 */ {1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 21 /*6 */ {1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 22 /*7 */ {1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 23 /*8 */ {1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 24 /*9 */ {1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 25 /*10 */ {1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 26 /*11 */ {1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 27 /*12 */ {1,1,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,0,1,1,0,0,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 28 /*13 */ {1,1,1,1,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,0,1,0,0,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 29 /*14 */ {1,1,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 30 /*15 */ {1,1,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 31 /*16 */ {1,1,1,1,0,0,0,1,0,0,1,1,1,0,0,1,1,0,1,1,1,1,0,1,0,0,0,1,1,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 32 /*17 */ {1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 33 /*18 */ {1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 34 /*19 */ {1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,0,0,1,1,0,0,0,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 35 /*20 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,1,1,1,1,0,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 36 /*21 */ {1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 37 /*22 */ {1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,1,0,1,0,1,1,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 38 /*23 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,1,1,1,1,1,1,1,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 39 /*24 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 40 /*25 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,1,1,1,1,0,1,1,1,1,0,1,0,1,1,1,0,0,0,0,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 41 /*26 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,1,1,0,0,1,1,1,1,0,1,0,1,1,1,1,0,0,0,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 42 /*27 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1 },
ZhongYufan 1:9c7bb3db32bc 43 /*28 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,1,1,1,1,1,0,1,0,1 },
ZhongYufan 1:9c7bb3db32bc 44 /*29 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,0,1 },
ZhongYufan 1:9c7bb3db32bc 45 /*30 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0 },
ZhongYufan 1:9c7bb3db32bc 46 /*31 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 47 /*32 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 48 /*33 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 49 /*34 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 50 /*35 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 51 /*36 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,0,1,1,1,0,1,0,0,1,0,0,1,1,0,0,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 52 /*37 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 53 /*38 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 54 /*39 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 55 /*40 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 56 /*41 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 57 /*42 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 58 /*43 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 59 /*44 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 60 /*45 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 61 /*46 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 62 /*47 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 63 /*48 */ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
ZhongYufan 1:9c7bb3db32bc 64 };
ZhongYufan 1:9c7bb3db32bc 65
ZhongYufan 1:9c7bb3db32bc 66 int arrow[8][8] = {
ZhongYufan 1:9c7bb3db32bc 67 {0,0,0,0,0,0,0,0},
ZhongYufan 1:9c7bb3db32bc 68 {0,0,0,0,0,0,0,0},
ZhongYufan 1:9c7bb3db32bc 69 {0,0,0,1,0,0,0,0},
ZhongYufan 1:9c7bb3db32bc 70 {0,0,1,0,0,0,0,0},
ZhongYufan 1:9c7bb3db32bc 71 {0,1,1,1,1,1,0,0},
ZhongYufan 1:9c7bb3db32bc 72 {0,0,1,0,0,0,0,0},
ZhongYufan 1:9c7bb3db32bc 73 {0,0,0,1,0,0,0,0},
ZhongYufan 1:9c7bb3db32bc 74 {0,0,0,0,0,0,0,0},
ZhongYufan 1:9c7bb3db32bc 75 };
ZhongYufan 1:9c7bb3db32bc 76
ZhongYufan 1:9c7bb3db32bc 77 void MinerEngine::init(int winch_width,int winch_height,int gold_num,int monster_speed)
ZhongYufan 1:9c7bb3db32bc 78 {
ZhongYufan 1:9c7bb3db32bc 79 // initialise the game parameters
ZhongYufan 1:9c7bb3db32bc 80 _winch_width = winch_width;
ZhongYufan 1:9c7bb3db32bc 81 _winch_height = winch_height;
ZhongYufan 1:9c7bb3db32bc 82 _gold_num = gold_num;
ZhongYufan 1:9c7bb3db32bc 83 _monster_speed = monster_speed;
ZhongYufan 1:9c7bb3db32bc 84
ZhongYufan 1:9c7bb3db32bc 85 _winch.init(_winch_height,_winch_width);
ZhongYufan 1:9c7bb3db32bc 86 _monster.init(_monster_speed);
ZhongYufan 1:9c7bb3db32bc 87 _claw.init(_winch_width);
ZhongYufan 1:9c7bb3db32bc 88 _gold.init(_gold_num);
ZhongYufan 1:9c7bb3db32bc 89
ZhongYufan 1:9c7bb3db32bc 90 _s = 1;
ZhongYufan 1:9c7bb3db32bc 91 _state = 0;
ZhongYufan 2:fe0dbd155c4b 92 _catching = 0;//是否正在抓取,x轴锁定
ZhongYufan 2:fe0dbd155c4b 93 _claw_get = 0;//是否已经碰到金子
ZhongYufan 6:3381131afe50 94 _monster_collision=0;是否撞到怪物
ZhongYufan 2:fe0dbd155c4b 95 _now_score = 0;
ZhongYufan 2:fe0dbd155c4b 96 _highest_score = 0;
ZhongYufan 1:9c7bb3db32bc 97 }
ZhongYufan 1:9c7bb3db32bc 98
ZhongYufan 1:9c7bb3db32bc 99
ZhongYufan 1:9c7bb3db32bc 100 ///////////////
ZhongYufan 1:9c7bb3db32bc 101 void MinerEngine::state_switch()
ZhongYufan 1:9c7bb3db32bc 102 {
ZhongYufan 1:9c7bb3db32bc 103 while(1){
ZhongYufan 1:9c7bb3db32bc 104 switch(_state) {
ZhongYufan 1:9c7bb3db32bc 105 case 0:
ZhongYufan 1:9c7bb3db32bc 106 menu(pad,lcd) ;
ZhongYufan 1:9c7bb3db32bc 107 break;
ZhongYufan 1:9c7bb3db32bc 108 case 1:
ZhongYufan 1:9c7bb3db32bc 109 instruction(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 110 break;
ZhongYufan 1:9c7bb3db32bc 111 case 2:
ZhongYufan 1:9c7bb3db32bc 112 options(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 113 break;
ZhongYufan 1:9c7bb3db32bc 114 case 3:
ZhongYufan 1:9c7bb3db32bc 115 game_run(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 116 break;
ZhongYufan 1:9c7bb3db32bc 117 case 4:
ZhongYufan 1:9c7bb3db32bc 118 game_over(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 119 break;
ZhongYufan 1:9c7bb3db32bc 120 }
ZhongYufan 1:9c7bb3db32bc 121 }
ZhongYufan 1:9c7bb3db32bc 122 }
ZhongYufan 1:9c7bb3db32bc 123
ZhongYufan 1:9c7bb3db32bc 124 int MinerEngine::get_select(Gamepad &pad) {
ZhongYufan 1:9c7bb3db32bc 125 if ( pad.check_event(Gamepad::Y_PRESSED) == true && _s >0) {
ZhongYufan 1:9c7bb3db32bc 126 _s--;
ZhongYufan 1:9c7bb3db32bc 127 }else if ( pad.check_event(Gamepad::A_PRESSED) == true && _s < 2) {
ZhongYufan 1:9c7bb3db32bc 128 _s++;
ZhongYufan 1:9c7bb3db32bc 129 }
ZhongYufan 1:9c7bb3db32bc 130 return _s;
ZhongYufan 1:9c7bb3db32bc 131 }
ZhongYufan 1:9c7bb3db32bc 132
ZhongYufan 1:9c7bb3db32bc 133 void MinerEngine::menu(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 134
ZhongYufan 1:9c7bb3db32bc 135 while ( pad.check_event(Gamepad::START_PRESSED) == false && pad.check_event(Gamepad::JOY_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 136 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 137 _s = get_select(pad); // get the selection
ZhongYufan 1:9c7bb3db32bc 138 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 139 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 140 lcd.printString(" Press Y or A",2,1); // print the instruction
ZhongYufan 1:9c7bb3db32bc 141 lcd.printString(" Instructions",4,2);
ZhongYufan 1:9c7bb3db32bc 142 lcd.printString(" Start Game",4,3);
ZhongYufan 1:9c7bb3db32bc 143 lcd.printString(" Options",4,4);
ZhongYufan 1:9c7bb3db32bc 144 if ( _s == 1 ) {
ZhongYufan 1:9c7bb3db32bc 145 lcd.drawSprite(65,24,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 146 }else if ( _s == 2) {
ZhongYufan 1:9c7bb3db32bc 147 lcd.drawSprite(65,32,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 148 }else if( _s == 0) {
ZhongYufan 1:9c7bb3db32bc 149 lcd.drawSprite(65,16,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 150 }
ZhongYufan 1:9c7bb3db32bc 151 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 152 }
ZhongYufan 1:9c7bb3db32bc 153 }
ZhongYufan 1:9c7bb3db32bc 154 if ( _s == 0 ){ // select the game
ZhongYufan 1:9c7bb3db32bc 155 //select(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 156 _state = 1;
ZhongYufan 1:9c7bb3db32bc 157 break;}
ZhongYufan 1:9c7bb3db32bc 158 else if ( _s == 1){
ZhongYufan 1:9c7bb3db32bc 159 _staet = 3;
ZhongYufan 1:9c7bb3db32bc 160 break;}
ZhongYufan 1:9c7bb3db32bc 161 else if (_s == 2){
ZhongYufan 1:9c7bb3db32bc 162 _state = 2;
ZhongYufan 1:9c7bb3db32bc 163 break;}
ZhongYufan 1:9c7bb3db32bc 164 }
ZhongYufan 1:9c7bb3db32bc 165 }
ZhongYufan 1:9c7bb3db32bc 166
ZhongYufan 1:9c7bb3db32bc 167 void MinerEngine::options(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 168 while ( pad.check_event(Gamepad::START_PRESSED) == false && pad.check_event(Gamepad::JOY_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 169 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 170 int _s = get_select(pad);
ZhongYufan 1:9c7bb3db32bc 171 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 172 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 173 lcd.printString(" Press Y or A",2,1);
ZhongYufan 1:9c7bb3db32bc 174 lcd.printString(" Easy",4,2);
ZhongYufan 1:9c7bb3db32bc 175 lcd.printString(" Normal",4,3);
ZhongYufan 1:9c7bb3db32bc 176 lcd.printString(" Hard",4,4);
ZhongYufan 1:9c7bb3db32bc 177 if ( _s == 0) {
ZhongYufan 1:9c7bb3db32bc 178 lcd.drawSprite(63,15,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 179 _monster_speed = 0.5; // change the speed_winch
ZhongYufan 1:9c7bb3db32bc 180 }else if ( _s == 1 ) {
ZhongYufan 1:9c7bb3db32bc 181 lcd.drawSprite(63,24,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 182 _monster_speed = 1.0;
ZhongYufan 1:9c7bb3db32bc 183 }else if ( _s == 2) {
ZhongYufan 1:9c7bb3db32bc 184 lcd.drawSprite(63,32,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 185 _monster_speed = 1.5;
ZhongYufan 1:9c7bb3db32bc 186 }
ZhongYufan 1:9c7bb3db32bc 187 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 188 }
ZhongYufan 1:9c7bb3db32bc 189 _state = 0;
ZhongYufan 1:9c7bb3db32bc 190 }
ZhongYufan 1:9c7bb3db32bc 191
ZhongYufan 1:9c7bb3db32bc 192 void MinerEngine::game_run(Gamepad &pad, N5110 &lcd){
ZhongYufan 1:9c7bb3db32bc 193 int fps = 8;
ZhongYufan 1:9c7bb3db32bc 194 while(1){
ZhongYufan 2:fe0dbd155c4b 195 readinput(pad);//get _d &_mag
ZhongYufan 1:9c7bb3db32bc 196 update(pad);
ZhongYufan 1:9c7bb3db32bc 197 check_goal(pad);
ZhongYufan 1:9c7bb3db32bc 198 print_scores(lcd);
ZhongYufan 1:9c7bb3db32bc 199 draw(lcd);
ZhongYufan 1:9c7bb3db32bc 200 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 201 wait(1.0f/fps);
ZhongYufan 1:9c7bb3db32bc 202 }
ZhongYufan 1:9c7bb3db32bc 203
ZhongYufan 1:9c7bb3db32bc 204
ZhongYufan 1:9c7bb3db32bc 205 }
ZhongYufan 1:9c7bb3db32bc 206 /////////////
ZhongYufan 2:fe0dbd155c4b 207 /////////////
ZhongYufan 2:fe0dbd155c4b 208
ZhongYufan 2:fe0dbd155c4b 209 void MinerEngine::check_gold_collision(Gamepad &pad)//只检查金子Y<=13
ZhongYufan 1:9c7bb3db32bc 210 {
ZhongYufan 2:fe0dbd155c4b 211 for (int i=0;i<9;i++) {
ZhongYufan 2:fe0dbd155c4b 212
ZhongYufan 2:fe0dbd155c4b 213 Vector2D gold_pos = _gold.get_pos(i);
ZhongYufan 2:fe0dbd155c4b 214
ZhongYufan 2:fe0dbd155c4b 215 if (gold_pos.y < 14) {
ZhongYufan 2:fe0dbd155c4b 216 _now_score++;
ZhongYufan 2:fe0dbd155c4b 217 _claw.add_now_score();
ZhongYufan 1:9c7bb3db32bc 218 pad.tone(1500.0,0.5);
ZhongYufan 1:9c7bb3db32bc 219 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 220 wait(0.5);
ZhongYufan 1:9c7bb3db32bc 221 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 222 }
ZhongYufan 1:9c7bb3db32bc 223 }
ZhongYufan 1:9c7bb3db32bc 224
ZhongYufan 1:9c7bb3db32bc 225 void MinerEngine::print_scores(N5110 &lcd)//显示左上角即时分
ZhongYufan 1:9c7bb3db32bc 226 //右上最高分
ZhongYufan 1:9c7bb3db32bc 227 {
ZhongYufan 1:9c7bb3db32bc 228 // get scores from winchs
ZhongYufan 2:fe0dbd155c4b 229 int highest_score = _winch.get_highest_score();
ZhongYufan 2:fe0dbd155c4b 230
ZhongYufan 2:fe0dbd155c4b 231 // print to LCD
ZhongYufan 1:9c7bb3db32bc 232 char buffer1[14];
ZhongYufan 2:fe0dbd155c4b 233 sprintf(buffer1,"%2d",_now_score);
ZhongYufan 1:9c7bb3db32bc 234 lcd.printString(buffer1,WIDTH/2 - 20,1); // font is 8 wide, so leave 4 pixel gape from middle assuming two digits
ZhongYufan 1:9c7bb3db32bc 235 char buffer2[14];
ZhongYufan 2:fe0dbd155c4b 236 sprintf(buffer2,"%2d",_highest_score);
ZhongYufan 1:9c7bb3db32bc 237 lcd.printString(buffer2,WIDTH/2 + 4,1);
ZhongYufan 1:9c7bb3db32bc 238 }
ZhongYufan 1:9c7bb3db32bc 239
ZhongYufan 1:9c7bb3db32bc 240 void MinerEngine::read_input(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 241 {
ZhongYufan 1:9c7bb3db32bc 242 _d = pad.get_direction();
ZhongYufan 1:9c7bb3db32bc 243 _mag = pad.get_mag();
ZhongYufan 1:9c7bb3db32bc 244 }
ZhongYufan 1:9c7bb3db32bc 245
ZhongYufan 1:9c7bb3db32bc 246 void MinerEngine::draw(N5110 &lcd)
ZhongYufan 1:9c7bb3db32bc 247 {
ZhongYufan 1:9c7bb3db32bc 248 // draw the elements in the LCD buffer
ZhongYufan 1:9c7bb3db32bc 249 // pitch
ZhongYufan 1:9c7bb3db32bc 250 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 251 //horizontal line
ZhongYufan 1:9c7bb3db32bc 252 lcd.drawLine(0,13,WIDTH,13,1);
ZhongYufan 1:9c7bb3db32bc 253 //score
ZhongYufan 1:9c7bb3db32bc 254 print_scores(lcd);
ZhongYufan 1:9c7bb3db32bc 255 // winchs
ZhongYufan 1:9c7bb3db32bc 256 _winch.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 257 _claw.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 258 _gold.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 259 _monster.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 260
ZhongYufan 1:9c7bb3db32bc 261 void MinerEngine::update(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 262 {
ZhongYufan 1:9c7bb3db32bc 263 check_goal(pad);
ZhongYufan 1:9c7bb3db32bc 264 _winch.update(_d,_mag);
ZhongYufan 2:fe0dbd155c4b 265 _claw.update(_d,_mag);
ZhongYufan 1:9c7bb3db32bc 266 _monster.update();
ZhongYufan 2:fe0dbd155c4b 267
ZhongYufan 1:9c7bb3db32bc 268 _gold.update();
ZhongYufan 1:9c7bb3db32bc 269
ZhongYufan 1:9c7bb3db32bc 270 check_monster_collision(pad);
ZhongYufan 1:9c7bb3db32bc 271 check_gold_collision(pad);
ZhongYufan 1:9c7bb3db32bc 272 }
ZhongYufan 1:9c7bb3db32bc 273
ZhongYufan 1:9c7bb3db32bc 274 void MinerEngine::check_monster_collision(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 275 {
ZhongYufan 1:9c7bb3db32bc 276 // read current claw attributes
ZhongYufan 1:9c7bb3db32bc 277 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 6:3381131afe50 278 int monster_x = _monster.get_pos();
ZhongYufan 1:9c7bb3db32bc 279
ZhongYufan 6:3381131afe50 280 while(_catching==1){
ZhongYufan 6:3381131afe50 281 if (monster_x==claw_pos.x && claw_pos.y>=22) {
ZhongYufan 6:3381131afe50 282 _monster_collision=1;
ZhongYufan 6:3381131afe50 283 state=4;
ZhongYufan 6:3381131afe50 284 pad.tone(750.0,0.1);// audio feedback
ZhongYufan 6:3381131afe50 285 }
ZhongYufan 1:9c7bb3db32bc 286 }
ZhongYufan 1:9c7bb3db32bc 287 }
ZhongYufan 1:9c7bb3db32bc 288
ZhongYufan 2:fe0dbd155c4b 289 void MinerEngine::check_claw_collision(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 290 {
ZhongYufan 1:9c7bb3db32bc 291 // read current claw attributes
ZhongYufan 1:9c7bb3db32bc 292 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 4:71d01af424c1 293
ZhongYufan 1:9c7bb3db32bc 294
ZhongYufan 4:71d01af424c1 295 for (int i=0;i<9;i++) {
ZhongYufan 4:71d01af424c1 296 Vector2D gold_pos = _gold.get_pos(i);
ZhongYufan 4:71d01af424c1 297 if ((claw_pos.x+3)-gold_pos.x<5&&
ZhongYufan 4:71d01af424c1 298 (claw_pos.x+3)-gold_pos.x>-5&&
ZhongYufan 4:71d01af424c1 299 (claw_pos.y+3)-gold_pos.y>-2) {
ZhongYufan 4:71d01af424c1 300
ZhongYufan 4:71d01af424c1 301 _claw_get=1;
ZhongYufan 4:71d01af424c1 302 _gold.gold_caught(i);
ZhongYufan 4:71d01af424c1 303 pad.tone(1000.0,0.1); // audio feedback
ZhongYufan 1:9c7bb3db32bc 304 }
ZhongYufan 4:71d01af424c1 305 }
ZhongYufan 1:9c7bb3db32bc 306 }
ZhongYufan 1:9c7bb3db32bc 307
ZhongYufan 2:fe0dbd155c4b 308 void MinerEngine::claw_down(){
ZhongYufan 2:fe0dbd155c4b 309 _catching = 1;
ZhongYufan 4:71d01af424c1 310 _claw.set_velocity(1);
ZhongYufan 4:71d01af424c1 311 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 2:fe0dbd155c4b 312
ZhongYufan 2:fe0dbd155c4b 313 if (claw_pos.y>HEIGHT-4||_claw_get==1) {
ZhongYufan 2:fe0dbd155c4b 314 _claw_get==0;
ZhongYufan 2:fe0dbd155c4b 315 claw.set_velocity(-1);
ZhongYufan 2:fe0dbd155c4b 316 }
ZhongYufan 2:fe0dbd155c4b 317
ZhongYufan 2:fe0dbd155c4b 318 if (claw_pos.y<=14) {
ZhongYufan 4:71d01af424c1 319 _claw.set_velocity(0);
ZhongYufan 2:fe0dbd155c4b 320 _catching = 0;
ZhongYufan 2:fe0dbd155c4b 321 }
ZhongYufan 2:fe0dbd155c4b 322 }
ZhongYufan 1:9c7bb3db32bc 323
ZhongYufan 1:9c7bb3db32bc 324
ZhongYufan 1:9c7bb3db32bc 325 /////////////////////////////////////////////////////
ZhongYufan 1:9c7bb3db32bc 326 void MinerEngine::welcome(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 327
ZhongYufan 1:9c7bb3db32bc 328
ZhongYufan 1:9c7bb3db32bc 329 lcd.drawSprite(0,0,48,84,(int *)sprite);
ZhongYufan 1:9c7bb3db32bc 330 lcd.drawRect(4,31,25,9, FILL_WHITE);
ZhongYufan 1:9c7bb3db32bc 331 lcd.drawRect(4,39,31,10, FILL_WHITE);
ZhongYufan 1:9c7bb3db32bc 332 lcd.printString("GOLD",5,4);
ZhongYufan 1:9c7bb3db32bc 333 lcd.printString("MINER",5,5);
ZhongYufan 1:9c7bb3db32bc 334 lcd.drawLine(0,47,84,47,1);
ZhongYufan 1:9c7bb3db32bc 335 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 336
ZhongYufan 1:9c7bb3db32bc 337 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
ZhongYufan 2:fe0dbd155c4b 338 play_music(pad);
ZhongYufan 2:fe0dbd155c4b 339 }
ZhongYufan 3:f894534ca2d1 340 screen_rollup(pad,lcd);
ZhongYufan 3:f894534ca2d1 341 loading(pad,lcd);
ZhongYufan 2:fe0dbd155c4b 342 }
ZhongYufan 2:fe0dbd155c4b 343
ZhongYufan 5:58932f73fc35 344 void MinerEngine::game_over(Gamepad &pad, N5110 &lcd) {
ZhongYufan 5:58932f73fc35 345
ZhongYufan 5:58932f73fc35 346 while ( pad.check_event(Gamepad::START_PRESSED) == false
ZhongYufan 5:58932f73fc35 347 && pad.check_event(Gamepad::JOY_PRESSED) == false
ZhongYufan 5:58932f73fc35 348 && pad.check_event(Gamepad::BACK_PRESSED) == false)
ZhongYufan 5:58932f73fc35 349 {
ZhongYufan 5:58932f73fc35 350 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 5:58932f73fc35 351 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 5:58932f73fc35 352 lcd.printString(" !! Game Over !! ",2,2);
ZhongYufan 5:58932f73fc35 353 lcd.printString(" Press [back] to menu",4,3);
ZhongYufan 5:58932f73fc35 354 lcd.printString(" press [start] to restart",4,4);
ZhongYufan 5:58932f73fc35 355 }
ZhongYufan 5:58932f73fc35 356
ZhongYufan 5:58932f73fc35 357 if (pad.check_event(Gamepad::START_PRESSED) == true
ZhongYufan 5:58932f73fc35 358 ||pad.check_event(Gamepad::JOY_PRESSED) == true) {
ZhongYufan 5:58932f73fc35 359 state=3;
ZhongYufan 5:58932f73fc35 360 }
ZhongYufan 5:58932f73fc35 361
ZhongYufan 5:58932f73fc35 362 if (pad.check_event(Gamepad::BACK_PRESSED) == true) {
ZhongYufan 5:58932f73fc35 363 state=0;
ZhongYufan 5:58932f73fc35 364 }
ZhongYufan 5:58932f73fc35 365 }
ZhongYufan 5:58932f73fc35 366
ZhongYufan 2:fe0dbd155c4b 367 void MinerEngine::play_music(Gamepad &pad) {
ZhongYufan 1:9c7bb3db32bc 368 pad.tone(370,0.15);
ZhongYufan 1:9c7bb3db32bc 369 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 370 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 371 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 372 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 373 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 374 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 375 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 376 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 377 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 378 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 379 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 380 pad.tone(493,0.15);
ZhongYufan 1:9c7bb3db32bc 381 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 382 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 383 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 384 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 385 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 386 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 387 wait(0.2);
ZhongYufan 1:9c7bb3db32bc 388 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 389 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 390 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 391 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 392 pad.tone(659,0.15);
ZhongYufan 1:9c7bb3db32bc 393 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 394 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 395 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 396 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 397 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 398 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 399 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 400 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 401 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 402 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 403 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 404 pad.tone(493,0.15);
ZhongYufan 1:9c7bb3db32bc 405 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 406 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 407 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 408 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 409 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 410 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 411 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 412 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 413 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 414 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 415 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 416 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 417 wait(0.2);
ZhongYufan 1:9c7bb3db32bc 418 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 419 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 420 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 421 wait(0.02);
ZhongYufan 2:fe0dbd155c4b 422 }
ZhongYufan 3:f894534ca2d1 423
ZhongYufan 3:f894534ca2d1 424 void MinerEngine::screen_rollup(Gamepad &pad, N5110 &lcd) {
ZhongYufan 3:f894534ca2d1 425
ZhongYufan 3:f894534ca2d1 426 lcd.clear();
ZhongYufan 3:f894534ca2d1 427 for (int i=0;i<47;i++) {
ZhongYufan 3:f894534ca2d1 428 for(int m=0;m<47;m++) {
ZhongYufan 3:f894534ca2d1 429 for (int n=0;n<84;n++) {
ZhongYufan 3:f894534ca2d1 430 sprite[m][n]= sprite[m+1][n];
ZhongYufan 3:f894534ca2d1 431 sprite[47][n]= 0;
ZhongYufan 3:f894534ca2d1 432 }
ZhongYufan 3:f894534ca2d1 433 }
ZhongYufan 3:f894534ca2d1 434 lcd.drawSprite(0,0,48,84,(int *)sprite);
ZhongYufan 3:f894534ca2d1 435 lcd.refresh();
ZhongYufan 3:f894534ca2d1 436 wait(0.1);
ZhongYufan 3:f894534ca2d1 437 }
ZhongYufan 3:f894534ca2d1 438 }
ZhongYufan 3:f894534ca2d1 439
ZhongYufan 3:f894534ca2d1 440 void MinerEngine::loading(Gamepad &pad, N5110 &lcd) {
ZhongYufan 3:f894534ca2d1 441
ZhongYufan 3:f894534ca2d1 442 lcd.printString("Loading....",12,0);
ZhongYufan 3:f894534ca2d1 443 lcd.drawRect(20,12,50,10,FILL_TRANSPARENT);
ZhongYufan 3:f894534ca2d1 444
ZhongYufan 3:f894534ca2d1 445 for (int i=0;i<50;i++) {
ZhongYufan 3:f894534ca2d1 446 lcd.drawRect(20,12,i,10,FILL_BLACK);
ZhongYufan 3:f894534ca2d1 447 lcd.refresh();
ZhongYufan 3:f894534ca2d1 448 wait(0.05);
ZhongYufan 3:f894534ca2d1 449 }
ZhongYufan 3:f894534ca2d1 450 lcd.printString("Complete!",20,4);
ZhongYufan 3:f894534ca2d1 451 lcd.refresh();
ZhongYufan 3:f894534ca2d1 452 wait(0.8);
ZhongYufan 3:f894534ca2d1 453 lcd.clear();
ZhongYufan 3:f894534ca2d1 454 }
ZhongYufan 4:71d01af424c1 455 void MinerEngine::gold_reload_check() {
ZhongYufan 4:71d01af424c1 456 int gold_num = _gold.get_reached_num();
ZhongYufan 4:71d01af424c1 457 if (gold_num<1) {
ZhongYufan 4:71d01af424c1 458 _gold.init(9);
ZhongYufan 4:71d01af424c1 459 }
ZhongYufan 4:71d01af424c1 460 }