Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Sun Apr 26 13:17:27 2020 +0000
Revision:
8:c5969685cf02
Parent:
7:5bb5cde8951a
Child:
9:9a30f26fed81
version 1.1(debugging) claw does not go down but can follow the winch

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