Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Sun May 10 06:43:16 2020 +0000
Revision:
13:3299ab0ff2f0
Parent:
12:07a9f2140d9b
Child:
14:3731b0791970
tunnel function added

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 13:3299ab0ff2f0 77 int man_state1[10][7] = {
ZhongYufan 13:3299ab0ff2f0 78 {0,0,1,1,1,0,0},
ZhongYufan 13:3299ab0ff2f0 79 {0,0,1,0,1,0,0},
ZhongYufan 13:3299ab0ff2f0 80 {0,0,1,1,1,0,0},
ZhongYufan 13:3299ab0ff2f0 81 {1,0,0,1,0,0,0},
ZhongYufan 13:3299ab0ff2f0 82 {1,1,1,1,1,1,1},
ZhongYufan 13:3299ab0ff2f0 83 {0,0,0,1,0,0,1},
ZhongYufan 13:3299ab0ff2f0 84 {0,0,1,1,1,0,0},
ZhongYufan 13:3299ab0ff2f0 85 {0,0,1,0,1,0,0},
ZhongYufan 13:3299ab0ff2f0 86 {0,0,1,0,1,0,0},
ZhongYufan 13:3299ab0ff2f0 87 {0,0,0,0,1,0,0},
ZhongYufan 13:3299ab0ff2f0 88 };
ZhongYufan 13:3299ab0ff2f0 89
ZhongYufan 13:3299ab0ff2f0 90 int man_state2[10][7] = {
ZhongYufan 13:3299ab0ff2f0 91 {0,0,1,1,1,0,0},
ZhongYufan 13:3299ab0ff2f0 92 {0,0,1,0,1,0,0},
ZhongYufan 13:3299ab0ff2f0 93 {0,0,1,1,1,0,0},
ZhongYufan 13:3299ab0ff2f0 94 {0,0,0,1,0,0,1},
ZhongYufan 13:3299ab0ff2f0 95 {1,1,1,1,1,1,1},
ZhongYufan 13:3299ab0ff2f0 96 {1,0,0,1,0,0,0},
ZhongYufan 13:3299ab0ff2f0 97 {0,0,1,1,1,0,0},
ZhongYufan 13:3299ab0ff2f0 98 {0,0,1,0,1,0,0},
ZhongYufan 13:3299ab0ff2f0 99 {0,0,1,0,1,0,0},
ZhongYufan 13:3299ab0ff2f0 100 {0,0,1,0,0,0,0},
ZhongYufan 13:3299ab0ff2f0 101 };
ZhongYufan 13:3299ab0ff2f0 102
ZhongYufan 1:9c7bb3db32bc 103 void MinerEngine::init(int winch_width,int winch_height,int gold_num,int monster_speed)
ZhongYufan 1:9c7bb3db32bc 104 {
ZhongYufan 1:9c7bb3db32bc 105 // initialise the game parameters
ZhongYufan 1:9c7bb3db32bc 106 _winch_width = winch_width;
ZhongYufan 1:9c7bb3db32bc 107 _winch_height = winch_height;
ZhongYufan 1:9c7bb3db32bc 108 _gold_num = gold_num;
ZhongYufan 1:9c7bb3db32bc 109 _monster_speed = monster_speed;
ZhongYufan 1:9c7bb3db32bc 110
ZhongYufan 1:9c7bb3db32bc 111 _winch.init(_winch_height,_winch_width);
ZhongYufan 1:9c7bb3db32bc 112 _monster.init(_monster_speed);
ZhongYufan 1:9c7bb3db32bc 113 _claw.init(_winch_width);
ZhongYufan 1:9c7bb3db32bc 114 _gold.init(_gold_num);
ZhongYufan 1:9c7bb3db32bc 115 _s = 1;
ZhongYufan 12:07a9f2140d9b 116 //_s = 1;
ZhongYufan 1:9c7bb3db32bc 117 _state = 0;
ZhongYufan 12:07a9f2140d9b 118 _claw_speed = 1;
ZhongYufan 2:fe0dbd155c4b 119 _catching = 0;//是否正在抓取,x轴锁定
ZhongYufan 2:fe0dbd155c4b 120 _claw_get = 0;//是否已经碰到金子
ZhongYufan 7:5bb5cde8951a 121 _monster_collision=0;//是否撞到怪物
ZhongYufan 2:fe0dbd155c4b 122 _now_score = 0;
ZhongYufan 13:3299ab0ff2f0 123 _h = 37;
ZhongYufan 12:07a9f2140d9b 124
ZhongYufan 10:51870f8e2e1a 125 for (int i=0;i<9;i++) {
ZhongYufan 10:51870f8e2e1a 126 _gold_reached_num[i] = 0;
ZhongYufan 10:51870f8e2e1a 127 }
ZhongYufan 1:9c7bb3db32bc 128 }
ZhongYufan 1:9c7bb3db32bc 129
ZhongYufan 12:07a9f2140d9b 130 void MinerEngine::init_unchanged_parameter() {
ZhongYufan 12:07a9f2140d9b 131 _highest_score = 0;
ZhongYufan 12:07a9f2140d9b 132 }
ZhongYufan 1:9c7bb3db32bc 133
ZhongYufan 1:9c7bb3db32bc 134 ///////////////
ZhongYufan 7:5bb5cde8951a 135 void MinerEngine::state_switch(Gamepad &pad, N5110 &lcd)
ZhongYufan 1:9c7bb3db32bc 136 {
ZhongYufan 7:5bb5cde8951a 137
ZhongYufan 1:9c7bb3db32bc 138 while(1){
ZhongYufan 1:9c7bb3db32bc 139 switch(_state) {
ZhongYufan 1:9c7bb3db32bc 140 case 0:
ZhongYufan 1:9c7bb3db32bc 141 menu(pad,lcd) ;
ZhongYufan 1:9c7bb3db32bc 142 break;
ZhongYufan 1:9c7bb3db32bc 143 case 1:
ZhongYufan 1:9c7bb3db32bc 144 instruction(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 145 break;
ZhongYufan 1:9c7bb3db32bc 146 case 2:
ZhongYufan 1:9c7bb3db32bc 147 options(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 148 break;
ZhongYufan 1:9c7bb3db32bc 149 case 3:
ZhongYufan 1:9c7bb3db32bc 150 game_run(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 151 break;
ZhongYufan 1:9c7bb3db32bc 152 case 4:
ZhongYufan 1:9c7bb3db32bc 153 game_over(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 154 break;
ZhongYufan 1:9c7bb3db32bc 155 }
ZhongYufan 1:9c7bb3db32bc 156 }
ZhongYufan 1:9c7bb3db32bc 157 }
ZhongYufan 1:9c7bb3db32bc 158
ZhongYufan 1:9c7bb3db32bc 159 int MinerEngine::get_select(Gamepad &pad) {
ZhongYufan 1:9c7bb3db32bc 160 if ( pad.check_event(Gamepad::Y_PRESSED) == true && _s >0) {
ZhongYufan 1:9c7bb3db32bc 161 _s--;
ZhongYufan 1:9c7bb3db32bc 162 }else if ( pad.check_event(Gamepad::A_PRESSED) == true && _s < 2) {
ZhongYufan 1:9c7bb3db32bc 163 _s++;
ZhongYufan 1:9c7bb3db32bc 164 }
ZhongYufan 1:9c7bb3db32bc 165 return _s;
ZhongYufan 1:9c7bb3db32bc 166 }
ZhongYufan 1:9c7bb3db32bc 167
ZhongYufan 7:5bb5cde8951a 168 void MinerEngine::instruction(Gamepad &pad, N5110 &lcd) {
ZhongYufan 10:51870f8e2e1a 169 lcd.clear();
ZhongYufan 12:07a9f2140d9b 170 lcd.printString("Joystick is",0,0);
ZhongYufan 12:07a9f2140d9b 171 lcd.printString("used to",0,1);
ZhongYufan 12:07a9f2140d9b 172 lcd.printString("control the",0,2);
ZhongYufan 12:07a9f2140d9b 173 lcd.printString("left & right",0,3);
ZhongYufan 12:07a9f2140d9b 174 lcd.printString("of the winch",0,4);
ZhongYufan 12:07a9f2140d9b 175 lcd.refresh();
ZhongYufan 12:07a9f2140d9b 176 wait(5.0);
ZhongYufan 12:07a9f2140d9b 177 lcd.clear();
ZhongYufan 12:07a9f2140d9b 178 lcd.printString("Press button",0,0);
ZhongYufan 12:07a9f2140d9b 179 lcd.printString(" A to put",0,1);
ZhongYufan 12:07a9f2140d9b 180 lcd.printString("the claw down",0,2);
ZhongYufan 12:07a9f2140d9b 181 lcd.printString("to catch &",0,3);
ZhongYufan 12:07a9f2140d9b 182 lcd.printString("lift the gold",0,4);
ZhongYufan 10:51870f8e2e1a 183 lcd.refresh();
ZhongYufan 12:07a9f2140d9b 184 wait(5.0);
ZhongYufan 12:07a9f2140d9b 185 lcd.clear();
ZhongYufan 12:07a9f2140d9b 186 lcd.printString("The most ",0,0);
ZhongYufan 12:07a9f2140d9b 187 lcd.printString("vital thing",0,1);
ZhongYufan 12:07a9f2140d9b 188 lcd.printString("is to try",0,2);
ZhongYufan 12:07a9f2140d9b 189 lcd.printString("to avoid the",0,3);
ZhongYufan 12:07a9f2140d9b 190 lcd.printString("moving monster",0,4);
ZhongYufan 12:07a9f2140d9b 191 lcd.refresh();
ZhongYufan 12:07a9f2140d9b 192 wait(5.0);
ZhongYufan 12:07a9f2140d9b 193 lcd.clear();
ZhongYufan 12:07a9f2140d9b 194 lcd.printString("The 'c' means",0,0);
ZhongYufan 12:07a9f2140d9b 195 lcd.printString("current score",0,1);
ZhongYufan 12:07a9f2140d9b 196 lcd.printString("and 'h' means",0,2);
ZhongYufan 12:07a9f2140d9b 197 lcd.printString("highest score",0,3);
ZhongYufan 12:07a9f2140d9b 198 lcd.refresh();
ZhongYufan 12:07a9f2140d9b 199 wait(5.0);
ZhongYufan 12:07a9f2140d9b 200 _state = 0;
ZhongYufan 12:07a9f2140d9b 201
ZhongYufan 7:5bb5cde8951a 202 }
ZhongYufan 7:5bb5cde8951a 203
ZhongYufan 1:9c7bb3db32bc 204 void MinerEngine::menu(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 205
ZhongYufan 1:9c7bb3db32bc 206 while ( pad.check_event(Gamepad::START_PRESSED) == false && pad.check_event(Gamepad::JOY_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 207 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 208 _s = get_select(pad); // get the selection
ZhongYufan 1:9c7bb3db32bc 209 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 210 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 211 lcd.printString(" Press Y or A",2,1); // print the instruction
ZhongYufan 12:07a9f2140d9b 212 lcd.printString(" Intro",2,2);
ZhongYufan 12:07a9f2140d9b 213 lcd.printString(" Start Game",2,3);
ZhongYufan 12:07a9f2140d9b 214 lcd.printString(" Options",2,4);
ZhongYufan 1:9c7bb3db32bc 215 if ( _s == 1 ) {
ZhongYufan 12:07a9f2140d9b 216 lcd.drawSprite(70,24,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 217 }else if ( _s == 2) {
ZhongYufan 12:07a9f2140d9b 218 lcd.drawSprite(70,32,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 219 }else if( _s == 0) {
ZhongYufan 12:07a9f2140d9b 220 lcd.drawSprite(70,16,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 221 }
ZhongYufan 1:9c7bb3db32bc 222 lcd.refresh();
ZhongYufan 7:5bb5cde8951a 223 }
ZhongYufan 7:5bb5cde8951a 224
ZhongYufan 7:5bb5cde8951a 225
ZhongYufan 7:5bb5cde8951a 226 if ( _s == 0) { // select the game
ZhongYufan 1:9c7bb3db32bc 227 //select(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 228 _state = 1;
ZhongYufan 7:5bb5cde8951a 229 }
ZhongYufan 1:9c7bb3db32bc 230 else if ( _s == 1){
ZhongYufan 7:5bb5cde8951a 231 _state = 3;
ZhongYufan 7:5bb5cde8951a 232 }
ZhongYufan 1:9c7bb3db32bc 233 else if (_s == 2){
ZhongYufan 1:9c7bb3db32bc 234 _state = 2;
ZhongYufan 7:5bb5cde8951a 235 }
ZhongYufan 1:9c7bb3db32bc 236 }
ZhongYufan 1:9c7bb3db32bc 237
ZhongYufan 1:9c7bb3db32bc 238 void MinerEngine::options(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 239 while ( pad.check_event(Gamepad::START_PRESSED) == false && pad.check_event(Gamepad::JOY_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 240 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 241 int _s = get_select(pad);
ZhongYufan 1:9c7bb3db32bc 242 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 243 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 244 lcd.printString(" Press Y or A",2,1);
ZhongYufan 1:9c7bb3db32bc 245 lcd.printString(" Easy",4,2);
ZhongYufan 1:9c7bb3db32bc 246 lcd.printString(" Normal",4,3);
ZhongYufan 1:9c7bb3db32bc 247 lcd.printString(" Hard",4,4);
ZhongYufan 1:9c7bb3db32bc 248 if ( _s == 0) {
ZhongYufan 12:07a9f2140d9b 249 lcd.drawSprite(60,15,8,8,(int *)arrow);
ZhongYufan 12:07a9f2140d9b 250 _monster.set_speed(1);
ZhongYufan 1:9c7bb3db32bc 251 }else if ( _s == 1 ) {
ZhongYufan 12:07a9f2140d9b 252 lcd.drawSprite(60,24,8,8,(int *)arrow);
ZhongYufan 12:07a9f2140d9b 253 _monster.set_speed(1.5);
ZhongYufan 1:9c7bb3db32bc 254 }else if ( _s == 2) {
ZhongYufan 12:07a9f2140d9b 255 lcd.drawSprite(60,32,8,8,(int *)arrow);
ZhongYufan 12:07a9f2140d9b 256 _monster.set_speed(2);
ZhongYufan 1:9c7bb3db32bc 257 }
ZhongYufan 1:9c7bb3db32bc 258 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 259 }
ZhongYufan 1:9c7bb3db32bc 260 _state = 0;
ZhongYufan 1:9c7bb3db32bc 261 }
ZhongYufan 1:9c7bb3db32bc 262
ZhongYufan 7:5bb5cde8951a 263 void MinerEngine::game_run(Gamepad &pad, N5110 &lcd) {
ZhongYufan 13:3299ab0ff2f0 264 // while(_h>24) {
ZhongYufan 13:3299ab0ff2f0 265 tunnel(lcd);
ZhongYufan 13:3299ab0ff2f0 266 //}
ZhongYufan 13:3299ab0ff2f0 267
ZhongYufan 12:07a9f2140d9b 268 int fps=12;
ZhongYufan 8:c5969685cf02 269 _monster_collision=0;
ZhongYufan 8:c5969685cf02 270 while(_monster_collision==0) {
ZhongYufan 8:c5969685cf02 271 lcd.clear();
ZhongYufan 7:5bb5cde8951a 272 read_input(pad);
ZhongYufan 1:9c7bb3db32bc 273 update(pad);
ZhongYufan 1:9c7bb3db32bc 274 draw(lcd);
ZhongYufan 1:9c7bb3db32bc 275 lcd.refresh();
ZhongYufan 12:07a9f2140d9b 276 wait(1.0f/fps);
ZhongYufan 7:5bb5cde8951a 277 }
ZhongYufan 1:9c7bb3db32bc 278 }
ZhongYufan 1:9c7bb3db32bc 279 /////////////
ZhongYufan 2:fe0dbd155c4b 280 /////////////
ZhongYufan 2:fe0dbd155c4b 281
ZhongYufan 2:fe0dbd155c4b 282 void MinerEngine::check_gold_collision(Gamepad &pad)//只检查金子Y<=13
ZhongYufan 1:9c7bb3db32bc 283 {
ZhongYufan 2:fe0dbd155c4b 284 for (int i=0;i<9;i++) {
ZhongYufan 10:51870f8e2e1a 285
ZhongYufan 10:51870f8e2e1a 286 if (_gold_reached_num[i]==0) {
ZhongYufan 10:51870f8e2e1a 287 Vector2D gold_pos = _gold.get_pos(i);
ZhongYufan 2:fe0dbd155c4b 288
ZhongYufan 12:07a9f2140d9b 289 if (gold_pos.y <= 17) {
ZhongYufan 10:51870f8e2e1a 290 _claw_get=0;
ZhongYufan 10:51870f8e2e1a 291 _now_score++;
ZhongYufan 12:07a9f2140d9b 292 _catching = 0;
ZhongYufan 10:51870f8e2e1a 293 _claw.add_now_score();
ZhongYufan 10:51870f8e2e1a 294 _gold_reached_num[i] = 1;
ZhongYufan 10:51870f8e2e1a 295 //pad.tone(1500.0,0.5);
ZhongYufan 10:51870f8e2e1a 296 pad.leds_on();
ZhongYufan 10:51870f8e2e1a 297 wait(0.5);
ZhongYufan 10:51870f8e2e1a 298 pad.leds_off();
ZhongYufan 10:51870f8e2e1a 299 }
ZhongYufan 10:51870f8e2e1a 300 }
ZhongYufan 1:9c7bb3db32bc 301 }
ZhongYufan 1:9c7bb3db32bc 302 }
ZhongYufan 1:9c7bb3db32bc 303
ZhongYufan 7:5bb5cde8951a 304 void MinerEngine::print_scores(N5110 &lcd) {
ZhongYufan 7:5bb5cde8951a 305
ZhongYufan 1:9c7bb3db32bc 306 // get scores from winchs
ZhongYufan 2:fe0dbd155c4b 307 int highest_score = _winch.get_highest_score();
ZhongYufan 2:fe0dbd155c4b 308
ZhongYufan 2:fe0dbd155c4b 309 // print to LCD
ZhongYufan 1:9c7bb3db32bc 310 char buffer1[14];
ZhongYufan 2:fe0dbd155c4b 311 sprintf(buffer1,"%2d",_now_score);
ZhongYufan 8:c5969685cf02 312 lcd.printString(buffer1,1,0); // font is 8 wide, so leave 4 pixel gape from middle assuming two digits
ZhongYufan 12:07a9f2140d9b 313 lcd.printString("c",WIDTH/2-18,0);
ZhongYufan 12:07a9f2140d9b 314 lcd.printString("h",WIDTH/2+18,0);
ZhongYufan 11:9da147cd7c18 315 if (_now_score>_highest_score) {
ZhongYufan 12:07a9f2140d9b 316 _highest_score = _now_score;
ZhongYufan 11:9da147cd7c18 317 }
ZhongYufan 1:9c7bb3db32bc 318 char buffer2[14];
ZhongYufan 2:fe0dbd155c4b 319 sprintf(buffer2,"%2d",_highest_score);
ZhongYufan 8:c5969685cf02 320 lcd.printString(buffer2,WIDTH-13,0);
ZhongYufan 1:9c7bb3db32bc 321 }
ZhongYufan 1:9c7bb3db32bc 322
ZhongYufan 1:9c7bb3db32bc 323 void MinerEngine::read_input(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 324 {
ZhongYufan 1:9c7bb3db32bc 325 _d = pad.get_direction();
ZhongYufan 1:9c7bb3db32bc 326 _mag = pad.get_mag();
ZhongYufan 8:c5969685cf02 327 if (pad.check_event(Gamepad::A_PRESSED) == true){
ZhongYufan 8:c5969685cf02 328 _catching=1;
ZhongYufan 12:07a9f2140d9b 329 _claw.set_velocity(_claw_speed);
ZhongYufan 8:c5969685cf02 330 }
ZhongYufan 1:9c7bb3db32bc 331 }
ZhongYufan 1:9c7bb3db32bc 332
ZhongYufan 1:9c7bb3db32bc 333 void MinerEngine::draw(N5110 &lcd)
ZhongYufan 1:9c7bb3db32bc 334 {
ZhongYufan 1:9c7bb3db32bc 335 // draw the elements in the LCD buffer
ZhongYufan 1:9c7bb3db32bc 336 // pitch
ZhongYufan 8:c5969685cf02 337
ZhongYufan 1:9c7bb3db32bc 338 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 339 //horizontal line
ZhongYufan 1:9c7bb3db32bc 340 lcd.drawLine(0,13,WIDTH,13,1);
ZhongYufan 8:c5969685cf02 341 lcd.drawLine(0,0,WIDTH,0,0);
ZhongYufan 1:9c7bb3db32bc 342 print_scores(lcd);
ZhongYufan 8:c5969685cf02 343
ZhongYufan 1:9c7bb3db32bc 344 _winch.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 345 _claw.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 346 _gold.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 347 _monster.draw(lcd);
ZhongYufan 8:c5969685cf02 348
ZhongYufan 8:c5969685cf02 349
ZhongYufan 7:5bb5cde8951a 350 }
ZhongYufan 1:9c7bb3db32bc 351
ZhongYufan 1:9c7bb3db32bc 352 void MinerEngine::update(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 353 {
ZhongYufan 9:9a30f26fed81 354 if (_catching==0) {
ZhongYufan 8:c5969685cf02 355 _winch.update(_d,_mag);
ZhongYufan 9:9a30f26fed81 356 }
ZhongYufan 8:c5969685cf02 357 Vector2D winch_pos = _winch.get_pos();
ZhongYufan 8:c5969685cf02 358 _claw.update(_d,_mag,winch_pos);
ZhongYufan 12:07a9f2140d9b 359 // wait(0.05);
ZhongYufan 8:c5969685cf02 360
ZhongYufan 1:9c7bb3db32bc 361 _monster.update();
ZhongYufan 12:07a9f2140d9b 362 // wait(0.05);
ZhongYufan 1:9c7bb3db32bc 363 _gold.update();
ZhongYufan 8:c5969685cf02 364
ZhongYufan 1:9c7bb3db32bc 365 check_monster_collision(pad);
ZhongYufan 7:5bb5cde8951a 366 check_claw_collision(pad);
ZhongYufan 1:9c7bb3db32bc 367 check_gold_collision(pad);
ZhongYufan 7:5bb5cde8951a 368 check_gold_reload();
ZhongYufan 1:9c7bb3db32bc 369 }
ZhongYufan 1:9c7bb3db32bc 370
ZhongYufan 1:9c7bb3db32bc 371 void MinerEngine::check_monster_collision(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 372 {
ZhongYufan 1:9c7bb3db32bc 373 // read current claw attributes
ZhongYufan 1:9c7bb3db32bc 374 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 6:3381131afe50 375 int monster_x = _monster.get_pos();
ZhongYufan 12:07a9f2140d9b 376 float monster_speed = _monster.get_speed();
ZhongYufan 12:07a9f2140d9b 377 if ((monster_x-claw_pos.x)<=0
ZhongYufan 12:07a9f2140d9b 378 && (monster_x-claw_pos.x)>(-2)
ZhongYufan 12:07a9f2140d9b 379 && claw_pos.y>=22) {
ZhongYufan 6:3381131afe50 380 _monster_collision=1;
ZhongYufan 12:07a9f2140d9b 381 // audio feedback
ZhongYufan 12:07a9f2140d9b 382 pad.tone(1500.0,0.3);
ZhongYufan 12:07a9f2140d9b 383 pad.leds_on();
ZhongYufan 12:07a9f2140d9b 384 wait(0.3);
ZhongYufan 12:07a9f2140d9b 385 pad.leds_off();
ZhongYufan 12:07a9f2140d9b 386 wait(0.2);
ZhongYufan 12:07a9f2140d9b 387 pad.tone(1500.0,1.0);
ZhongYufan 12:07a9f2140d9b 388 pad.leds_on();
ZhongYufan 12:07a9f2140d9b 389 wait(1.0);
ZhongYufan 12:07a9f2140d9b 390 pad.leds_off();
ZhongYufan 12:07a9f2140d9b 391 wait(0.5);
ZhongYufan 7:5bb5cde8951a 392 _state=4;
ZhongYufan 6:3381131afe50 393 }
ZhongYufan 1:9c7bb3db32bc 394 }
ZhongYufan 1:9c7bb3db32bc 395
ZhongYufan 2:fe0dbd155c4b 396 void MinerEngine::check_claw_collision(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 397 {
ZhongYufan 8:c5969685cf02 398 Vector2D claw_pos = _claw.get_pos();// read current claw attributes
ZhongYufan 4:71d01af424c1 399
ZhongYufan 4:71d01af424c1 400 for (int i=0;i<9;i++) {
ZhongYufan 10:51870f8e2e1a 401 if (_gold_reached_num[i]==0) {
ZhongYufan 4:71d01af424c1 402 Vector2D gold_pos = _gold.get_pos(i);
ZhongYufan 10:51870f8e2e1a 403 if (claw_pos.x-gold_pos.x<5&&
ZhongYufan 10:51870f8e2e1a 404 claw_pos.x-gold_pos.x>-5&&
ZhongYufan 4:71d01af424c1 405 (claw_pos.y+3)-gold_pos.y>-2) {
ZhongYufan 4:71d01af424c1 406 _claw_get=1;
ZhongYufan 4:71d01af424c1 407 _gold.gold_caught(i);
ZhongYufan 8:c5969685cf02 408 pad.tone(1000.0,0.1); }// audio feedback
ZhongYufan 10:51870f8e2e1a 409 }
ZhongYufan 4:71d01af424c1 410 }
ZhongYufan 8:c5969685cf02 411 if (claw_pos.y>HEIGHT-4||_claw_get==1) {
ZhongYufan 10:51870f8e2e1a 412 //_claw_get=0;
ZhongYufan 12:07a9f2140d9b 413 _claw.set_velocity(-(_claw_speed));
ZhongYufan 10:51870f8e2e1a 414 pad.tone(1500.0,0.1);
ZhongYufan 12:07a9f2140d9b 415 //pad.leds_on();
ZhongYufan 12:07a9f2140d9b 416 //wait(0.2);
ZhongYufan 12:07a9f2140d9b 417 //pad.leds_off();
ZhongYufan 2:fe0dbd155c4b 418 }
ZhongYufan 2:fe0dbd155c4b 419
ZhongYufan 2:fe0dbd155c4b 420 if (claw_pos.y<=14) {
ZhongYufan 8:c5969685cf02 421 _claw.set_velocity(0.0);
ZhongYufan 12:07a9f2140d9b 422 _catching=0;
ZhongYufan 2:fe0dbd155c4b 423 }
ZhongYufan 2:fe0dbd155c4b 424 }
ZhongYufan 1:9c7bb3db32bc 425
ZhongYufan 8:c5969685cf02 426
ZhongYufan 1:9c7bb3db32bc 427 /////////////////////////////////////////////////////
ZhongYufan 1:9c7bb3db32bc 428 void MinerEngine::welcome(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 429
ZhongYufan 1:9c7bb3db32bc 430
ZhongYufan 1:9c7bb3db32bc 431 lcd.drawSprite(0,0,48,84,(int *)sprite);
ZhongYufan 1:9c7bb3db32bc 432 lcd.drawRect(4,31,25,9, FILL_WHITE);
ZhongYufan 1:9c7bb3db32bc 433 lcd.drawRect(4,39,31,10, FILL_WHITE);
ZhongYufan 1:9c7bb3db32bc 434 lcd.printString("GOLD",5,4);
ZhongYufan 1:9c7bb3db32bc 435 lcd.printString("MINER",5,5);
ZhongYufan 1:9c7bb3db32bc 436 lcd.drawLine(0,47,84,47,1);
ZhongYufan 1:9c7bb3db32bc 437 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 438
ZhongYufan 12:07a9f2140d9b 439 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
ZhongYufan 12:07a9f2140d9b 440 play_music(pad);
ZhongYufan 13:3299ab0ff2f0 441 /*
ZhongYufan 13:3299ab0ff2f0 442 int i = 0;
ZhongYufan 13:3299ab0ff2f0 443 int n = 0;
ZhongYufan 13:3299ab0ff2f0 444 int z = 1;
ZhongYufan 13:3299ab0ff2f0 445 int j = 0;
ZhongYufan 13:3299ab0ff2f0 446 int h = 37;
ZhongYufan 13:3299ab0ff2f0 447 /////////
ZhongYufan 13:3299ab0ff2f0 448
ZhongYufan 13:3299ab0ff2f0 449 while(1) {
ZhongYufan 13:3299ab0ff2f0 450 lcd.clear();
ZhongYufan 13:3299ab0ff2f0 451 lcd.drawLine(41,24,18,47,1);
ZhongYufan 13:3299ab0ff2f0 452 lcd.drawLine(42,24,19,47,1);
ZhongYufan 13:3299ab0ff2f0 453
ZhongYufan 13:3299ab0ff2f0 454 lcd.drawLine(43,24,66,47,1);
ZhongYufan 13:3299ab0ff2f0 455 lcd.drawLine(42,24,65,47,1);
ZhongYufan 13:3299ab0ff2f0 456
ZhongYufan 13:3299ab0ff2f0 457
ZhongYufan 13:3299ab0ff2f0 458 lcd.drawCircle(42,24,2+i,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 459 lcd.drawCircle(42,24,12+i,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 460 lcd.drawCircle(42,24,22+i,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 461 lcd.drawCircle(42,24,32+i,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 462
ZhongYufan 13:3299ab0ff2f0 463
ZhongYufan 13:3299ab0ff2f0 464 for(int k=0;k<23;k++) {
ZhongYufan 13:3299ab0ff2f0 465 lcd.drawLine(42-k,25+k,42+k,25+k,0);
ZhongYufan 13:3299ab0ff2f0 466 }
ZhongYufan 13:3299ab0ff2f0 467
ZhongYufan 13:3299ab0ff2f0 468 lcd.drawLine(38-n,24+n,46+n,24+n,1);
ZhongYufan 13:3299ab0ff2f0 469 lcd.drawLine(38-n,25+n,46+n,25+n,1);
ZhongYufan 13:3299ab0ff2f0 470
ZhongYufan 13:3299ab0ff2f0 471 lcd.drawLine(30-n,32+n,54+n,32+n,1);
ZhongYufan 13:3299ab0ff2f0 472 lcd.drawLine(30-n,33+n,54+n,33+n,1);
ZhongYufan 13:3299ab0ff2f0 473
ZhongYufan 13:3299ab0ff2f0 474 lcd.drawLine(22-n,40+n,62+n,40+n,1);
ZhongYufan 13:3299ab0ff2f0 475 lcd.drawLine(22-n,41+n,62+n,41+n,1);
ZhongYufan 13:3299ab0ff2f0 476
ZhongYufan 13:3299ab0ff2f0 477 j++;
ZhongYufan 13:3299ab0ff2f0 478 if (j==5) {
ZhongYufan 13:3299ab0ff2f0 479 j=0;
ZhongYufan 13:3299ab0ff2f0 480
ZhongYufan 13:3299ab0ff2f0 481 if (h>24) {
ZhongYufan 13:3299ab0ff2f0 482 h--;
ZhongYufan 13:3299ab0ff2f0 483 }
ZhongYufan 13:3299ab0ff2f0 484 else {
ZhongYufan 13:3299ab0ff2f0 485 h=24;
ZhongYufan 13:3299ab0ff2f0 486 }
ZhongYufan 13:3299ab0ff2f0 487 }
ZhongYufan 13:3299ab0ff2f0 488
ZhongYufan 13:3299ab0ff2f0 489 if(z==1) {
ZhongYufan 13:3299ab0ff2f0 490 lcd.drawSprite(39,h,10,7,(int *)man_state2);
ZhongYufan 13:3299ab0ff2f0 491 lcd.refresh();
ZhongYufan 13:3299ab0ff2f0 492
ZhongYufan 13:3299ab0ff2f0 493 }
ZhongYufan 13:3299ab0ff2f0 494 if(z==-1) {
ZhongYufan 13:3299ab0ff2f0 495 lcd.drawSprite(39,h,10,7,(int *)man_state1);
ZhongYufan 13:3299ab0ff2f0 496
ZhongYufan 13:3299ab0ff2f0 497 lcd.refresh();
ZhongYufan 13:3299ab0ff2f0 498 }
ZhongYufan 13:3299ab0ff2f0 499
ZhongYufan 13:3299ab0ff2f0 500 i++;
ZhongYufan 13:3299ab0ff2f0 501 n++;
ZhongYufan 13:3299ab0ff2f0 502 z=-z;
ZhongYufan 13:3299ab0ff2f0 503 if (i==10) {
ZhongYufan 13:3299ab0ff2f0 504 i=0;
ZhongYufan 13:3299ab0ff2f0 505 }
ZhongYufan 13:3299ab0ff2f0 506 if (n==8) {
ZhongYufan 13:3299ab0ff2f0 507 n=0;
ZhongYufan 13:3299ab0ff2f0 508 }
ZhongYufan 13:3299ab0ff2f0 509 lcd.refresh();
ZhongYufan 13:3299ab0ff2f0 510 wait(0.1);
ZhongYufan 13:3299ab0ff2f0 511 }
ZhongYufan 13:3299ab0ff2f0 512 ///////
ZhongYufan 13:3299ab0ff2f0 513 */
ZhongYufan 12:07a9f2140d9b 514 }
ZhongYufan 12:07a9f2140d9b 515 screen_rollup(pad,lcd);
ZhongYufan 12:07a9f2140d9b 516 loading(pad,lcd);
ZhongYufan 2:fe0dbd155c4b 517 }
ZhongYufan 2:fe0dbd155c4b 518
ZhongYufan 5:58932f73fc35 519 void MinerEngine::game_over(Gamepad &pad, N5110 &lcd) {
ZhongYufan 11:9da147cd7c18 520 lcd.clear();
ZhongYufan 12:07a9f2140d9b 521 if ( pad.check_event(Gamepad::START_PRESSED) == false
ZhongYufan 5:58932f73fc35 522 && pad.check_event(Gamepad::JOY_PRESSED) == false
ZhongYufan 5:58932f73fc35 523 && pad.check_event(Gamepad::BACK_PRESSED) == false)
ZhongYufan 5:58932f73fc35 524 {
ZhongYufan 5:58932f73fc35 525 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 5:58932f73fc35 526 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 12:07a9f2140d9b 527 lcd.printString("!!Game Over!!",2,1);
ZhongYufan 12:07a9f2140d9b 528 lcd.printString("[back][start]",2,3);
ZhongYufan 12:07a9f2140d9b 529 lcd.printString(" menu restart",2,4);
ZhongYufan 11:9da147cd7c18 530 lcd.refresh();
ZhongYufan 12:07a9f2140d9b 531 play_music(pad);
ZhongYufan 5:58932f73fc35 532 }
ZhongYufan 5:58932f73fc35 533
ZhongYufan 5:58932f73fc35 534 if (pad.check_event(Gamepad::START_PRESSED) == true
ZhongYufan 5:58932f73fc35 535 ||pad.check_event(Gamepad::JOY_PRESSED) == true) {
ZhongYufan 12:07a9f2140d9b 536 init(12,6,9,1);
ZhongYufan 7:5bb5cde8951a 537 _state=3;
ZhongYufan 12:07a9f2140d9b 538
ZhongYufan 5:58932f73fc35 539 }
ZhongYufan 5:58932f73fc35 540
ZhongYufan 5:58932f73fc35 541 if (pad.check_event(Gamepad::BACK_PRESSED) == true) {
ZhongYufan 12:07a9f2140d9b 542 init(12,6,9,1);;
ZhongYufan 7:5bb5cde8951a 543 _state=0;
ZhongYufan 12:07a9f2140d9b 544
ZhongYufan 5:58932f73fc35 545 }
ZhongYufan 5:58932f73fc35 546 }
ZhongYufan 5:58932f73fc35 547
ZhongYufan 2:fe0dbd155c4b 548 void MinerEngine::play_music(Gamepad &pad) {
ZhongYufan 1:9c7bb3db32bc 549 pad.tone(370,0.15);
ZhongYufan 1:9c7bb3db32bc 550 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 551 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 552 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 553 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 554 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 555 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 556 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 557 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 558 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 559 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 560 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 561 pad.tone(493,0.15);
ZhongYufan 1:9c7bb3db32bc 562 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 563 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 564 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 565 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 566 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 567 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 568 wait(0.2);
ZhongYufan 1:9c7bb3db32bc 569 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 570 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 571 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 572 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 573 pad.tone(659,0.15);
ZhongYufan 1:9c7bb3db32bc 574 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 575 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 576 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 577 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 578 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 579 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 580 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 581 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 582 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 583 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 584 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 585 pad.tone(493,0.15);
ZhongYufan 1:9c7bb3db32bc 586 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 587 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 588 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 589 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 590 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 591 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 592 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 593 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 594 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 595 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 596 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 597 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 598 wait(0.2);
ZhongYufan 1:9c7bb3db32bc 599 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 600 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 601 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 602 wait(0.02);
ZhongYufan 2:fe0dbd155c4b 603 }
ZhongYufan 3:f894534ca2d1 604
ZhongYufan 3:f894534ca2d1 605 void MinerEngine::screen_rollup(Gamepad &pad, N5110 &lcd) {
ZhongYufan 3:f894534ca2d1 606
ZhongYufan 3:f894534ca2d1 607 lcd.clear();
ZhongYufan 3:f894534ca2d1 608 for (int i=0;i<47;i++) {
ZhongYufan 3:f894534ca2d1 609 for(int m=0;m<47;m++) {
ZhongYufan 3:f894534ca2d1 610 for (int n=0;n<84;n++) {
ZhongYufan 3:f894534ca2d1 611 sprite[m][n]= sprite[m+1][n];
ZhongYufan 3:f894534ca2d1 612 sprite[47][n]= 0;
ZhongYufan 3:f894534ca2d1 613 }
ZhongYufan 3:f894534ca2d1 614 }
ZhongYufan 3:f894534ca2d1 615 lcd.drawSprite(0,0,48,84,(int *)sprite);
ZhongYufan 3:f894534ca2d1 616 lcd.refresh();
ZhongYufan 3:f894534ca2d1 617 wait(0.1);
ZhongYufan 3:f894534ca2d1 618 }
ZhongYufan 3:f894534ca2d1 619 }
ZhongYufan 3:f894534ca2d1 620
ZhongYufan 3:f894534ca2d1 621 void MinerEngine::loading(Gamepad &pad, N5110 &lcd) {
ZhongYufan 3:f894534ca2d1 622
ZhongYufan 3:f894534ca2d1 623 lcd.printString("Loading....",12,0);
ZhongYufan 3:f894534ca2d1 624 lcd.drawRect(20,12,50,10,FILL_TRANSPARENT);
ZhongYufan 3:f894534ca2d1 625
ZhongYufan 3:f894534ca2d1 626 for (int i=0;i<50;i++) {
ZhongYufan 3:f894534ca2d1 627 lcd.drawRect(20,12,i,10,FILL_BLACK);
ZhongYufan 3:f894534ca2d1 628 lcd.refresh();
ZhongYufan 3:f894534ca2d1 629 wait(0.05);
ZhongYufan 3:f894534ca2d1 630 }
ZhongYufan 3:f894534ca2d1 631 lcd.printString("Complete!",20,4);
ZhongYufan 3:f894534ca2d1 632 lcd.refresh();
ZhongYufan 3:f894534ca2d1 633 wait(0.8);
ZhongYufan 3:f894534ca2d1 634 lcd.clear();
ZhongYufan 3:f894534ca2d1 635 }
ZhongYufan 7:5bb5cde8951a 636 void MinerEngine::check_gold_reload() {
ZhongYufan 8:c5969685cf02 637 int gold_left = _gold.get_left_num();
ZhongYufan 8:c5969685cf02 638 if (gold_left<1) {
ZhongYufan 4:71d01af424c1 639 _gold.init(9);
ZhongYufan 10:51870f8e2e1a 640 for (int i=0;i<9;i++) {
ZhongYufan 10:51870f8e2e1a 641 _gold_reached_num[i] = 0;
ZhongYufan 4:71d01af424c1 642 }
ZhongYufan 10:51870f8e2e1a 643 }
ZhongYufan 4:71d01af424c1 644 }
ZhongYufan 7:5bb5cde8951a 645
ZhongYufan 13:3299ab0ff2f0 646 void MinerEngine::tunnel(N5110 &lcd) {
ZhongYufan 13:3299ab0ff2f0 647 int i = 0;
ZhongYufan 13:3299ab0ff2f0 648 int n = 0;
ZhongYufan 13:3299ab0ff2f0 649 int z = 1;
ZhongYufan 13:3299ab0ff2f0 650 int j = 0;
ZhongYufan 13:3299ab0ff2f0 651
ZhongYufan 13:3299ab0ff2f0 652 /////////
ZhongYufan 13:3299ab0ff2f0 653
ZhongYufan 13:3299ab0ff2f0 654 while(_h>24) {
ZhongYufan 13:3299ab0ff2f0 655 lcd.clear();
ZhongYufan 13:3299ab0ff2f0 656 lcd.drawLine(41,24,18,47,1);
ZhongYufan 13:3299ab0ff2f0 657 lcd.drawLine(42,24,19,47,1);
ZhongYufan 13:3299ab0ff2f0 658
ZhongYufan 13:3299ab0ff2f0 659 lcd.drawLine(43,24,66,47,1);
ZhongYufan 13:3299ab0ff2f0 660 lcd.drawLine(42,24,65,47,1);
ZhongYufan 13:3299ab0ff2f0 661
ZhongYufan 13:3299ab0ff2f0 662
ZhongYufan 13:3299ab0ff2f0 663 lcd.drawCircle(42,24,2+i,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 664 lcd.drawCircle(42,24,12+i,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 665 lcd.drawCircle(42,24,22+i,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 666 lcd.drawCircle(42,24,32+i,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 667
ZhongYufan 13:3299ab0ff2f0 668
ZhongYufan 13:3299ab0ff2f0 669 for(int k=0;k<23;k++) {
ZhongYufan 13:3299ab0ff2f0 670 lcd.drawLine(42-k,25+k,42+k,25+k,0);
ZhongYufan 13:3299ab0ff2f0 671 }
ZhongYufan 13:3299ab0ff2f0 672
ZhongYufan 13:3299ab0ff2f0 673 lcd.drawLine(38-n,24+n,46+n,24+n,1);
ZhongYufan 13:3299ab0ff2f0 674 lcd.drawLine(38-n,25+n,46+n,25+n,1);
ZhongYufan 13:3299ab0ff2f0 675
ZhongYufan 13:3299ab0ff2f0 676 lcd.drawLine(30-n,32+n,54+n,32+n,1);
ZhongYufan 13:3299ab0ff2f0 677 lcd.drawLine(30-n,33+n,54+n,33+n,1);
ZhongYufan 13:3299ab0ff2f0 678
ZhongYufan 13:3299ab0ff2f0 679 lcd.drawLine(22-n,40+n,62+n,40+n,1);
ZhongYufan 13:3299ab0ff2f0 680 lcd.drawLine(22-n,41+n,62+n,41+n,1);
ZhongYufan 13:3299ab0ff2f0 681
ZhongYufan 13:3299ab0ff2f0 682 j++;
ZhongYufan 13:3299ab0ff2f0 683 if (j==5) {
ZhongYufan 13:3299ab0ff2f0 684 j=0;
ZhongYufan 13:3299ab0ff2f0 685
ZhongYufan 13:3299ab0ff2f0 686 if (_h>24) {
ZhongYufan 13:3299ab0ff2f0 687 _h--;
ZhongYufan 13:3299ab0ff2f0 688 }
ZhongYufan 13:3299ab0ff2f0 689 else {
ZhongYufan 13:3299ab0ff2f0 690 _h=24;
ZhongYufan 13:3299ab0ff2f0 691 }
ZhongYufan 13:3299ab0ff2f0 692 }
ZhongYufan 13:3299ab0ff2f0 693
ZhongYufan 13:3299ab0ff2f0 694 if(z==1) {
ZhongYufan 13:3299ab0ff2f0 695 lcd.drawSprite(39,_h,10,7,(int *)man_state2);
ZhongYufan 13:3299ab0ff2f0 696 lcd.refresh();
ZhongYufan 13:3299ab0ff2f0 697
ZhongYufan 13:3299ab0ff2f0 698 }
ZhongYufan 13:3299ab0ff2f0 699 if(z==-1) {
ZhongYufan 13:3299ab0ff2f0 700 lcd.drawSprite(39,_h,10,7,(int *)man_state1);
ZhongYufan 13:3299ab0ff2f0 701
ZhongYufan 13:3299ab0ff2f0 702 lcd.refresh();
ZhongYufan 13:3299ab0ff2f0 703 }
ZhongYufan 13:3299ab0ff2f0 704
ZhongYufan 13:3299ab0ff2f0 705 i++;
ZhongYufan 13:3299ab0ff2f0 706 n++;
ZhongYufan 13:3299ab0ff2f0 707 z=-z;
ZhongYufan 13:3299ab0ff2f0 708 if (i==10) {
ZhongYufan 13:3299ab0ff2f0 709 i=0;
ZhongYufan 13:3299ab0ff2f0 710 }
ZhongYufan 13:3299ab0ff2f0 711 if (n==8) {
ZhongYufan 13:3299ab0ff2f0 712 n=0;
ZhongYufan 13:3299ab0ff2f0 713 }
ZhongYufan 13:3299ab0ff2f0 714 lcd.refresh();
ZhongYufan 13:3299ab0ff2f0 715 wait(0.1);
ZhongYufan 13:3299ab0ff2f0 716
ZhongYufan 13:3299ab0ff2f0 717 }
ZhongYufan 13:3299ab0ff2f0 718 lcd.clear();
ZhongYufan 13:3299ab0ff2f0 719 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 720 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 13:3299ab0ff2f0 721 lcd.printString(" WE ARE",2,1);
ZhongYufan 13:3299ab0ff2f0 722 lcd.printString(" IN THE",2,2);
ZhongYufan 13:3299ab0ff2f0 723 lcd.printString(" MINE!!!",2,3);
ZhongYufan 13:3299ab0ff2f0 724 lcd.refresh();
ZhongYufan 13:3299ab0ff2f0 725 wait(2);
ZhongYufan 13:3299ab0ff2f0 726 }