Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Mon Apr 27 05:44:02 2020 +0000
Revision:
11:9da147cd7c18
Parent:
10:51870f8e2e1a
Child:
12:07a9f2140d9b
version 1.3( game_over 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 7:5bb5cde8951a 94 _monster_collision=0;//是否撞到怪物
ZhongYufan 2:fe0dbd155c4b 95 _now_score = 0;
ZhongYufan 2:fe0dbd155c4b 96 _highest_score = 0;
ZhongYufan 10:51870f8e2e1a 97 for (int i=0;i<9;i++) {
ZhongYufan 10:51870f8e2e1a 98 _gold_reached_num[i] = 0;
ZhongYufan 10:51870f8e2e1a 99 }
ZhongYufan 1:9c7bb3db32bc 100 }
ZhongYufan 1:9c7bb3db32bc 101
ZhongYufan 1:9c7bb3db32bc 102
ZhongYufan 1:9c7bb3db32bc 103 ///////////////
ZhongYufan 7:5bb5cde8951a 104 void MinerEngine::state_switch(Gamepad &pad, N5110 &lcd)
ZhongYufan 1:9c7bb3db32bc 105 {
ZhongYufan 7:5bb5cde8951a 106
ZhongYufan 1:9c7bb3db32bc 107 while(1){
ZhongYufan 1:9c7bb3db32bc 108 switch(_state) {
ZhongYufan 1:9c7bb3db32bc 109 case 0:
ZhongYufan 1:9c7bb3db32bc 110 menu(pad,lcd) ;
ZhongYufan 1:9c7bb3db32bc 111 break;
ZhongYufan 1:9c7bb3db32bc 112 case 1:
ZhongYufan 1:9c7bb3db32bc 113 instruction(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 114 break;
ZhongYufan 1:9c7bb3db32bc 115 case 2:
ZhongYufan 1:9c7bb3db32bc 116 options(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 117 break;
ZhongYufan 1:9c7bb3db32bc 118 case 3:
ZhongYufan 1:9c7bb3db32bc 119 game_run(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 120 break;
ZhongYufan 1:9c7bb3db32bc 121 case 4:
ZhongYufan 1:9c7bb3db32bc 122 game_over(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 123 break;
ZhongYufan 1:9c7bb3db32bc 124 }
ZhongYufan 1:9c7bb3db32bc 125 }
ZhongYufan 1:9c7bb3db32bc 126 }
ZhongYufan 1:9c7bb3db32bc 127
ZhongYufan 1:9c7bb3db32bc 128 int MinerEngine::get_select(Gamepad &pad) {
ZhongYufan 1:9c7bb3db32bc 129 if ( pad.check_event(Gamepad::Y_PRESSED) == true && _s >0) {
ZhongYufan 1:9c7bb3db32bc 130 _s--;
ZhongYufan 1:9c7bb3db32bc 131 }else if ( pad.check_event(Gamepad::A_PRESSED) == true && _s < 2) {
ZhongYufan 1:9c7bb3db32bc 132 _s++;
ZhongYufan 1:9c7bb3db32bc 133 }
ZhongYufan 1:9c7bb3db32bc 134 return _s;
ZhongYufan 1:9c7bb3db32bc 135 }
ZhongYufan 1:9c7bb3db32bc 136
ZhongYufan 7:5bb5cde8951a 137 void MinerEngine::instruction(Gamepad &pad, N5110 &lcd) {
ZhongYufan 10:51870f8e2e1a 138 lcd.clear();
ZhongYufan 7:5bb5cde8951a 139 lcd.printString(" Instructions",4,2);//testing
ZhongYufan 10:51870f8e2e1a 140 lcd.refresh();
ZhongYufan 7:5bb5cde8951a 141 }
ZhongYufan 7:5bb5cde8951a 142
ZhongYufan 1:9c7bb3db32bc 143 void MinerEngine::menu(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 144
ZhongYufan 1:9c7bb3db32bc 145 while ( pad.check_event(Gamepad::START_PRESSED) == false && pad.check_event(Gamepad::JOY_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 146 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 147 _s = get_select(pad); // get the selection
ZhongYufan 1:9c7bb3db32bc 148 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 149 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 150 lcd.printString(" Press Y or A",2,1); // print the instruction
ZhongYufan 1:9c7bb3db32bc 151 lcd.printString(" Instructions",4,2);
ZhongYufan 1:9c7bb3db32bc 152 lcd.printString(" Start Game",4,3);
ZhongYufan 1:9c7bb3db32bc 153 lcd.printString(" Options",4,4);
ZhongYufan 1:9c7bb3db32bc 154 if ( _s == 1 ) {
ZhongYufan 1:9c7bb3db32bc 155 lcd.drawSprite(65,24,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 156 }else if ( _s == 2) {
ZhongYufan 1:9c7bb3db32bc 157 lcd.drawSprite(65,32,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 158 }else if( _s == 0) {
ZhongYufan 1:9c7bb3db32bc 159 lcd.drawSprite(65,16,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 160 }
ZhongYufan 1:9c7bb3db32bc 161 lcd.refresh();
ZhongYufan 7:5bb5cde8951a 162 }
ZhongYufan 7:5bb5cde8951a 163
ZhongYufan 7:5bb5cde8951a 164
ZhongYufan 7:5bb5cde8951a 165 if ( _s == 0) { // select the game
ZhongYufan 1:9c7bb3db32bc 166 //select(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 167 _state = 1;
ZhongYufan 7:5bb5cde8951a 168 }
ZhongYufan 1:9c7bb3db32bc 169 else if ( _s == 1){
ZhongYufan 7:5bb5cde8951a 170 _state = 3;
ZhongYufan 7:5bb5cde8951a 171 }
ZhongYufan 1:9c7bb3db32bc 172 else if (_s == 2){
ZhongYufan 1:9c7bb3db32bc 173 _state = 2;
ZhongYufan 7:5bb5cde8951a 174 }
ZhongYufan 1:9c7bb3db32bc 175 }
ZhongYufan 1:9c7bb3db32bc 176
ZhongYufan 1:9c7bb3db32bc 177 void MinerEngine::options(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 178 while ( pad.check_event(Gamepad::START_PRESSED) == false && pad.check_event(Gamepad::JOY_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 179 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 180 int _s = get_select(pad);
ZhongYufan 1:9c7bb3db32bc 181 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 182 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 183 lcd.printString(" Press Y or A",2,1);
ZhongYufan 1:9c7bb3db32bc 184 lcd.printString(" Easy",4,2);
ZhongYufan 1:9c7bb3db32bc 185 lcd.printString(" Normal",4,3);
ZhongYufan 1:9c7bb3db32bc 186 lcd.printString(" Hard",4,4);
ZhongYufan 1:9c7bb3db32bc 187 if ( _s == 0) {
ZhongYufan 1:9c7bb3db32bc 188 lcd.drawSprite(63,15,8,8,(int *)arrow);
ZhongYufan 11:9da147cd7c18 189 _monster_speed = 1; // change the speed_winch
ZhongYufan 1:9c7bb3db32bc 190 }else if ( _s == 1 ) {
ZhongYufan 1:9c7bb3db32bc 191 lcd.drawSprite(63,24,8,8,(int *)arrow);
ZhongYufan 11:9da147cd7c18 192 _monster_speed = 2;
ZhongYufan 1:9c7bb3db32bc 193 }else if ( _s == 2) {
ZhongYufan 1:9c7bb3db32bc 194 lcd.drawSprite(63,32,8,8,(int *)arrow);
ZhongYufan 11:9da147cd7c18 195 _monster_speed = 3;
ZhongYufan 1:9c7bb3db32bc 196 }
ZhongYufan 1:9c7bb3db32bc 197 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 198 }
ZhongYufan 1:9c7bb3db32bc 199 _state = 0;
ZhongYufan 1:9c7bb3db32bc 200 }
ZhongYufan 1:9c7bb3db32bc 201
ZhongYufan 7:5bb5cde8951a 202 void MinerEngine::game_run(Gamepad &pad, N5110 &lcd) {
ZhongYufan 8:c5969685cf02 203 _monster_collision=0;
ZhongYufan 8:c5969685cf02 204 while(_monster_collision==0) {
ZhongYufan 8:c5969685cf02 205 lcd.clear();
ZhongYufan 7:5bb5cde8951a 206 read_input(pad);
ZhongYufan 1:9c7bb3db32bc 207 update(pad);
ZhongYufan 1:9c7bb3db32bc 208 draw(lcd);
ZhongYufan 1:9c7bb3db32bc 209 lcd.refresh();
ZhongYufan 8:c5969685cf02 210
ZhongYufan 7:5bb5cde8951a 211 }
ZhongYufan 1:9c7bb3db32bc 212 }
ZhongYufan 1:9c7bb3db32bc 213 /////////////
ZhongYufan 2:fe0dbd155c4b 214 /////////////
ZhongYufan 2:fe0dbd155c4b 215
ZhongYufan 2:fe0dbd155c4b 216 void MinerEngine::check_gold_collision(Gamepad &pad)//只检查金子Y<=13
ZhongYufan 1:9c7bb3db32bc 217 {
ZhongYufan 2:fe0dbd155c4b 218 for (int i=0;i<9;i++) {
ZhongYufan 10:51870f8e2e1a 219
ZhongYufan 10:51870f8e2e1a 220 if (_gold_reached_num[i]==0) {
ZhongYufan 10:51870f8e2e1a 221 Vector2D gold_pos = _gold.get_pos(i);
ZhongYufan 2:fe0dbd155c4b 222
ZhongYufan 10:51870f8e2e1a 223 if (gold_pos.y <= 14) {
ZhongYufan 10:51870f8e2e1a 224 _claw_get=0;
ZhongYufan 10:51870f8e2e1a 225 _now_score++;
ZhongYufan 10:51870f8e2e1a 226 _claw.add_now_score();
ZhongYufan 10:51870f8e2e1a 227 _gold_reached_num[i] = 1;
ZhongYufan 10:51870f8e2e1a 228 //pad.tone(1500.0,0.5);
ZhongYufan 10:51870f8e2e1a 229 pad.leds_on();
ZhongYufan 10:51870f8e2e1a 230 wait(0.5);
ZhongYufan 10:51870f8e2e1a 231 pad.leds_off();
ZhongYufan 10:51870f8e2e1a 232 }
ZhongYufan 10:51870f8e2e1a 233 }
ZhongYufan 1:9c7bb3db32bc 234 }
ZhongYufan 1:9c7bb3db32bc 235 }
ZhongYufan 1:9c7bb3db32bc 236
ZhongYufan 7:5bb5cde8951a 237 void MinerEngine::print_scores(N5110 &lcd) {
ZhongYufan 7:5bb5cde8951a 238
ZhongYufan 1:9c7bb3db32bc 239 // get scores from winchs
ZhongYufan 2:fe0dbd155c4b 240 int highest_score = _winch.get_highest_score();
ZhongYufan 2:fe0dbd155c4b 241
ZhongYufan 2:fe0dbd155c4b 242 // print to LCD
ZhongYufan 1:9c7bb3db32bc 243 char buffer1[14];
ZhongYufan 2:fe0dbd155c4b 244 sprintf(buffer1,"%2d",_now_score);
ZhongYufan 8:c5969685cf02 245 lcd.printString(buffer1,1,0); // font is 8 wide, so leave 4 pixel gape from middle assuming two digits
ZhongYufan 11:9da147cd7c18 246 if (_now_score>_highest_score) {
ZhongYufan 11:9da147cd7c18 247 _highest_score = _now_score;
ZhongYufan 11:9da147cd7c18 248 }
ZhongYufan 1:9c7bb3db32bc 249 char buffer2[14];
ZhongYufan 2:fe0dbd155c4b 250 sprintf(buffer2,"%2d",_highest_score);
ZhongYufan 8:c5969685cf02 251 lcd.printString(buffer2,WIDTH-13,0);
ZhongYufan 1:9c7bb3db32bc 252 }
ZhongYufan 1:9c7bb3db32bc 253
ZhongYufan 1:9c7bb3db32bc 254 void MinerEngine::read_input(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 255 {
ZhongYufan 1:9c7bb3db32bc 256 _d = pad.get_direction();
ZhongYufan 1:9c7bb3db32bc 257 _mag = pad.get_mag();
ZhongYufan 8:c5969685cf02 258 if (pad.check_event(Gamepad::A_PRESSED) == true){
ZhongYufan 8:c5969685cf02 259 _catching=1;
ZhongYufan 8:c5969685cf02 260 _claw.set_velocity(1.0);
ZhongYufan 8:c5969685cf02 261 }
ZhongYufan 1:9c7bb3db32bc 262 }
ZhongYufan 1:9c7bb3db32bc 263
ZhongYufan 1:9c7bb3db32bc 264 void MinerEngine::draw(N5110 &lcd)
ZhongYufan 1:9c7bb3db32bc 265 {
ZhongYufan 1:9c7bb3db32bc 266 // draw the elements in the LCD buffer
ZhongYufan 1:9c7bb3db32bc 267 // pitch
ZhongYufan 8:c5969685cf02 268
ZhongYufan 1:9c7bb3db32bc 269 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 270 //horizontal line
ZhongYufan 1:9c7bb3db32bc 271 lcd.drawLine(0,13,WIDTH,13,1);
ZhongYufan 8:c5969685cf02 272 lcd.drawLine(0,0,WIDTH,0,0);
ZhongYufan 1:9c7bb3db32bc 273 print_scores(lcd);
ZhongYufan 8:c5969685cf02 274
ZhongYufan 1:9c7bb3db32bc 275 _winch.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 276 _claw.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 277 _gold.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 278 _monster.draw(lcd);
ZhongYufan 8:c5969685cf02 279
ZhongYufan 8:c5969685cf02 280
ZhongYufan 7:5bb5cde8951a 281 }
ZhongYufan 1:9c7bb3db32bc 282
ZhongYufan 1:9c7bb3db32bc 283 void MinerEngine::update(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 284 {
ZhongYufan 9:9a30f26fed81 285 if (_catching==0) {
ZhongYufan 8:c5969685cf02 286 _winch.update(_d,_mag);
ZhongYufan 9:9a30f26fed81 287 }
ZhongYufan 8:c5969685cf02 288 Vector2D winch_pos = _winch.get_pos();
ZhongYufan 8:c5969685cf02 289 _claw.update(_d,_mag,winch_pos);
ZhongYufan 8:c5969685cf02 290 wait(0.05);
ZhongYufan 8:c5969685cf02 291
ZhongYufan 1:9c7bb3db32bc 292 _monster.update();
ZhongYufan 11:9da147cd7c18 293 wait(0.05);
ZhongYufan 1:9c7bb3db32bc 294 _gold.update();
ZhongYufan 8:c5969685cf02 295
ZhongYufan 1:9c7bb3db32bc 296 check_monster_collision(pad);
ZhongYufan 7:5bb5cde8951a 297 check_claw_collision(pad);
ZhongYufan 1:9c7bb3db32bc 298 check_gold_collision(pad);
ZhongYufan 7:5bb5cde8951a 299 check_gold_reload();
ZhongYufan 1:9c7bb3db32bc 300 }
ZhongYufan 1:9c7bb3db32bc 301
ZhongYufan 1:9c7bb3db32bc 302 void MinerEngine::check_monster_collision(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 303 {
ZhongYufan 1:9c7bb3db32bc 304 // read current claw attributes
ZhongYufan 1:9c7bb3db32bc 305 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 6:3381131afe50 306 int monster_x = _monster.get_pos();
ZhongYufan 1:9c7bb3db32bc 307
ZhongYufan 11:9da147cd7c18 308
ZhongYufan 6:3381131afe50 309 if (monster_x==claw_pos.x && claw_pos.y>=22) {
ZhongYufan 6:3381131afe50 310 _monster_collision=1;
ZhongYufan 7:5bb5cde8951a 311 _state=4;
ZhongYufan 6:3381131afe50 312 pad.tone(750.0,0.1);// audio feedback
ZhongYufan 6:3381131afe50 313 }
ZhongYufan 1:9c7bb3db32bc 314 }
ZhongYufan 1:9c7bb3db32bc 315
ZhongYufan 2:fe0dbd155c4b 316 void MinerEngine::check_claw_collision(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 317 {
ZhongYufan 8:c5969685cf02 318 Vector2D claw_pos = _claw.get_pos();// read current claw attributes
ZhongYufan 4:71d01af424c1 319
ZhongYufan 4:71d01af424c1 320 for (int i=0;i<9;i++) {
ZhongYufan 10:51870f8e2e1a 321 if (_gold_reached_num[i]==0) {
ZhongYufan 4:71d01af424c1 322 Vector2D gold_pos = _gold.get_pos(i);
ZhongYufan 10:51870f8e2e1a 323 if (claw_pos.x-gold_pos.x<5&&
ZhongYufan 10:51870f8e2e1a 324 claw_pos.x-gold_pos.x>-5&&
ZhongYufan 4:71d01af424c1 325 (claw_pos.y+3)-gold_pos.y>-2) {
ZhongYufan 4:71d01af424c1 326 _claw_get=1;
ZhongYufan 4:71d01af424c1 327 _gold.gold_caught(i);
ZhongYufan 8:c5969685cf02 328 pad.tone(1000.0,0.1); }// audio feedback
ZhongYufan 10:51870f8e2e1a 329 }
ZhongYufan 4:71d01af424c1 330 }
ZhongYufan 8:c5969685cf02 331 if (claw_pos.y>HEIGHT-4||_claw_get==1) {
ZhongYufan 10:51870f8e2e1a 332 //_claw_get=0;
ZhongYufan 8:c5969685cf02 333 _claw.set_velocity(-1.0);
ZhongYufan 10:51870f8e2e1a 334 pad.tone(1500.0,0.1);
ZhongYufan 10:51870f8e2e1a 335 pad.leds_on();
ZhongYufan 10:51870f8e2e1a 336 wait(0.2);
ZhongYufan 10:51870f8e2e1a 337 pad.leds_off();
ZhongYufan 2:fe0dbd155c4b 338 }
ZhongYufan 2:fe0dbd155c4b 339
ZhongYufan 2:fe0dbd155c4b 340 if (claw_pos.y<=14) {
ZhongYufan 8:c5969685cf02 341 _claw.set_velocity(0.0);
ZhongYufan 2:fe0dbd155c4b 342 _catching = 0;
ZhongYufan 2:fe0dbd155c4b 343 }
ZhongYufan 2:fe0dbd155c4b 344 }
ZhongYufan 1:9c7bb3db32bc 345
ZhongYufan 8:c5969685cf02 346 //void MinerEngine::claw_down(Gamepad &pad){
ZhongYufan 8:c5969685cf02 347
ZhongYufan 8:c5969685cf02 348
ZhongYufan 8:c5969685cf02 349
ZhongYufan 8:c5969685cf02 350 //}
ZhongYufan 8:c5969685cf02 351
ZhongYufan 1:9c7bb3db32bc 352 /////////////////////////////////////////////////////
ZhongYufan 1:9c7bb3db32bc 353 void MinerEngine::welcome(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 354
ZhongYufan 1:9c7bb3db32bc 355
ZhongYufan 1:9c7bb3db32bc 356 lcd.drawSprite(0,0,48,84,(int *)sprite);
ZhongYufan 1:9c7bb3db32bc 357 lcd.drawRect(4,31,25,9, FILL_WHITE);
ZhongYufan 1:9c7bb3db32bc 358 lcd.drawRect(4,39,31,10, FILL_WHITE);
ZhongYufan 1:9c7bb3db32bc 359 lcd.printString("GOLD",5,4);
ZhongYufan 1:9c7bb3db32bc 360 lcd.printString("MINER",5,5);
ZhongYufan 1:9c7bb3db32bc 361 lcd.drawLine(0,47,84,47,1);
ZhongYufan 1:9c7bb3db32bc 362 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 363
ZhongYufan 8:c5969685cf02 364 // while ( pad.check_event(Gamepad::START_PRESSED) == false) {
ZhongYufan 8:c5969685cf02 365 // play_music(pad);
ZhongYufan 8:c5969685cf02 366 //}
ZhongYufan 8:c5969685cf02 367 // screen_rollup(pad,lcd);
ZhongYufan 8:c5969685cf02 368 // loading(pad,lcd);
ZhongYufan 2:fe0dbd155c4b 369 }
ZhongYufan 2:fe0dbd155c4b 370
ZhongYufan 5:58932f73fc35 371 void MinerEngine::game_over(Gamepad &pad, N5110 &lcd) {
ZhongYufan 11:9da147cd7c18 372 lcd.clear();
ZhongYufan 5:58932f73fc35 373 while ( pad.check_event(Gamepad::START_PRESSED) == false
ZhongYufan 5:58932f73fc35 374 && pad.check_event(Gamepad::JOY_PRESSED) == false
ZhongYufan 5:58932f73fc35 375 && pad.check_event(Gamepad::BACK_PRESSED) == false)
ZhongYufan 5:58932f73fc35 376 {
ZhongYufan 5:58932f73fc35 377 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 5:58932f73fc35 378 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 5:58932f73fc35 379 lcd.printString(" !! Game Over !! ",2,2);
ZhongYufan 5:58932f73fc35 380 lcd.printString(" Press [back] to menu",4,3);
ZhongYufan 5:58932f73fc35 381 lcd.printString(" press [start] to restart",4,4);
ZhongYufan 11:9da147cd7c18 382 lcd.refresh();
ZhongYufan 5:58932f73fc35 383 }
ZhongYufan 5:58932f73fc35 384
ZhongYufan 5:58932f73fc35 385 if (pad.check_event(Gamepad::START_PRESSED) == true
ZhongYufan 5:58932f73fc35 386 ||pad.check_event(Gamepad::JOY_PRESSED) == true) {
ZhongYufan 7:5bb5cde8951a 387 _state=3;
ZhongYufan 5:58932f73fc35 388 }
ZhongYufan 5:58932f73fc35 389
ZhongYufan 5:58932f73fc35 390 if (pad.check_event(Gamepad::BACK_PRESSED) == true) {
ZhongYufan 7:5bb5cde8951a 391 _state=0;
ZhongYufan 5:58932f73fc35 392 }
ZhongYufan 5:58932f73fc35 393 }
ZhongYufan 5:58932f73fc35 394
ZhongYufan 2:fe0dbd155c4b 395 void MinerEngine::play_music(Gamepad &pad) {
ZhongYufan 1:9c7bb3db32bc 396 pad.tone(370,0.15);
ZhongYufan 1:9c7bb3db32bc 397 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 398 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 399 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 400 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 401 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 402 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 403 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 404 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 405 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 406 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 407 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 408 pad.tone(493,0.15);
ZhongYufan 1:9c7bb3db32bc 409 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 410 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 411 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 412 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 413 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 414 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 415 wait(0.2);
ZhongYufan 1:9c7bb3db32bc 416 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 417 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 418 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 419 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 420 pad.tone(659,0.15);
ZhongYufan 1:9c7bb3db32bc 421 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 422 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 423 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 424 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 425 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 426 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 427 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 428 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 429 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 430 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 431 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 432 pad.tone(493,0.15);
ZhongYufan 1:9c7bb3db32bc 433 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 434 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 435 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 436 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 437 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 438 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 439 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 440 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 441 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 442 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 443 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 444 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 445 wait(0.2);
ZhongYufan 1:9c7bb3db32bc 446 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 447 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 448 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 449 wait(0.02);
ZhongYufan 2:fe0dbd155c4b 450 }
ZhongYufan 3:f894534ca2d1 451
ZhongYufan 3:f894534ca2d1 452 void MinerEngine::screen_rollup(Gamepad &pad, N5110 &lcd) {
ZhongYufan 3:f894534ca2d1 453
ZhongYufan 3:f894534ca2d1 454 lcd.clear();
ZhongYufan 3:f894534ca2d1 455 for (int i=0;i<47;i++) {
ZhongYufan 3:f894534ca2d1 456 for(int m=0;m<47;m++) {
ZhongYufan 3:f894534ca2d1 457 for (int n=0;n<84;n++) {
ZhongYufan 3:f894534ca2d1 458 sprite[m][n]= sprite[m+1][n];
ZhongYufan 3:f894534ca2d1 459 sprite[47][n]= 0;
ZhongYufan 3:f894534ca2d1 460 }
ZhongYufan 3:f894534ca2d1 461 }
ZhongYufan 3:f894534ca2d1 462 lcd.drawSprite(0,0,48,84,(int *)sprite);
ZhongYufan 3:f894534ca2d1 463 lcd.refresh();
ZhongYufan 3:f894534ca2d1 464 wait(0.1);
ZhongYufan 3:f894534ca2d1 465 }
ZhongYufan 3:f894534ca2d1 466 }
ZhongYufan 3:f894534ca2d1 467
ZhongYufan 3:f894534ca2d1 468 void MinerEngine::loading(Gamepad &pad, N5110 &lcd) {
ZhongYufan 3:f894534ca2d1 469
ZhongYufan 3:f894534ca2d1 470 lcd.printString("Loading....",12,0);
ZhongYufan 3:f894534ca2d1 471 lcd.drawRect(20,12,50,10,FILL_TRANSPARENT);
ZhongYufan 3:f894534ca2d1 472
ZhongYufan 3:f894534ca2d1 473 for (int i=0;i<50;i++) {
ZhongYufan 3:f894534ca2d1 474 lcd.drawRect(20,12,i,10,FILL_BLACK);
ZhongYufan 3:f894534ca2d1 475 lcd.refresh();
ZhongYufan 3:f894534ca2d1 476 wait(0.05);
ZhongYufan 3:f894534ca2d1 477 }
ZhongYufan 3:f894534ca2d1 478 lcd.printString("Complete!",20,4);
ZhongYufan 3:f894534ca2d1 479 lcd.refresh();
ZhongYufan 3:f894534ca2d1 480 wait(0.8);
ZhongYufan 3:f894534ca2d1 481 lcd.clear();
ZhongYufan 3:f894534ca2d1 482 }
ZhongYufan 7:5bb5cde8951a 483 void MinerEngine::check_gold_reload() {
ZhongYufan 8:c5969685cf02 484 int gold_left = _gold.get_left_num();
ZhongYufan 8:c5969685cf02 485 if (gold_left<1) {
ZhongYufan 4:71d01af424c1 486 _gold.init(9);
ZhongYufan 10:51870f8e2e1a 487 for (int i=0;i<9;i++) {
ZhongYufan 10:51870f8e2e1a 488 _gold_reached_num[i] = 0;
ZhongYufan 4:71d01af424c1 489 }
ZhongYufan 10:51870f8e2e1a 490 }
ZhongYufan 4:71d01af424c1 491 }
ZhongYufan 7:5bb5cde8951a 492