Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Sun May 10 14:39:06 2020 +0000
Revision:
14:3731b0791970
Parent:
13:3299ab0ff2f0
Child:
15:c90c1c35ae5c
version 3.0 (all function achived)

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