Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Wed Apr 22 15:52:04 2020 +0000
Revision:
1:9c7bb3db32bc
Child:
2:fe0dbd155c4b
claw, gold, winch, monster finished (commit test)

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 1:9c7bb3db32bc 92 }
ZhongYufan 1:9c7bb3db32bc 93
ZhongYufan 1:9c7bb3db32bc 94
ZhongYufan 1:9c7bb3db32bc 95 ///////////////
ZhongYufan 1:9c7bb3db32bc 96 void MinerEngine::state_switch()
ZhongYufan 1:9c7bb3db32bc 97 {
ZhongYufan 1:9c7bb3db32bc 98 while(1){
ZhongYufan 1:9c7bb3db32bc 99 switch(_state) {
ZhongYufan 1:9c7bb3db32bc 100 case 0:
ZhongYufan 1:9c7bb3db32bc 101 menu(pad,lcd) ;
ZhongYufan 1:9c7bb3db32bc 102 break;
ZhongYufan 1:9c7bb3db32bc 103 case 1:
ZhongYufan 1:9c7bb3db32bc 104 instruction(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 105 break;
ZhongYufan 1:9c7bb3db32bc 106 case 2:
ZhongYufan 1:9c7bb3db32bc 107 options(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 108 break;
ZhongYufan 1:9c7bb3db32bc 109 case 3:
ZhongYufan 1:9c7bb3db32bc 110 game_run(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 111 break;
ZhongYufan 1:9c7bb3db32bc 112 case 4:
ZhongYufan 1:9c7bb3db32bc 113 game_over(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 114 break;
ZhongYufan 1:9c7bb3db32bc 115 }
ZhongYufan 1:9c7bb3db32bc 116 }
ZhongYufan 1:9c7bb3db32bc 117 }
ZhongYufan 1:9c7bb3db32bc 118
ZhongYufan 1:9c7bb3db32bc 119 int MinerEngine::get_select(Gamepad &pad) {
ZhongYufan 1:9c7bb3db32bc 120 if ( pad.check_event(Gamepad::Y_PRESSED) == true && _s >0) {
ZhongYufan 1:9c7bb3db32bc 121 _s--;
ZhongYufan 1:9c7bb3db32bc 122 }else if ( pad.check_event(Gamepad::A_PRESSED) == true && _s < 2) {
ZhongYufan 1:9c7bb3db32bc 123 _s++;
ZhongYufan 1:9c7bb3db32bc 124 }
ZhongYufan 1:9c7bb3db32bc 125 return _s;
ZhongYufan 1:9c7bb3db32bc 126 }
ZhongYufan 1:9c7bb3db32bc 127
ZhongYufan 1:9c7bb3db32bc 128 void MinerEngine::menu(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 129
ZhongYufan 1:9c7bb3db32bc 130 while ( pad.check_event(Gamepad::START_PRESSED) == false && pad.check_event(Gamepad::JOY_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 131 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 132 _s = get_select(pad); // get the selection
ZhongYufan 1:9c7bb3db32bc 133 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 134 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 135 lcd.printString(" Press Y or A",2,1); // print the instruction
ZhongYufan 1:9c7bb3db32bc 136 lcd.printString(" Instructions",4,2);
ZhongYufan 1:9c7bb3db32bc 137 lcd.printString(" Start Game",4,3);
ZhongYufan 1:9c7bb3db32bc 138 lcd.printString(" Options",4,4);
ZhongYufan 1:9c7bb3db32bc 139 if ( _s == 1 ) {
ZhongYufan 1:9c7bb3db32bc 140 lcd.drawSprite(65,24,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 141 }else if ( _s == 2) {
ZhongYufan 1:9c7bb3db32bc 142 lcd.drawSprite(65,32,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 143 }else if( _s == 0) {
ZhongYufan 1:9c7bb3db32bc 144 lcd.drawSprite(65,16,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 145 }
ZhongYufan 1:9c7bb3db32bc 146 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 147 }
ZhongYufan 1:9c7bb3db32bc 148 }
ZhongYufan 1:9c7bb3db32bc 149 if ( _s == 0 ){ // select the game
ZhongYufan 1:9c7bb3db32bc 150 //select(pad,lcd);
ZhongYufan 1:9c7bb3db32bc 151 _state = 1;
ZhongYufan 1:9c7bb3db32bc 152 break;}
ZhongYufan 1:9c7bb3db32bc 153 else if ( _s == 1){
ZhongYufan 1:9c7bb3db32bc 154 _staet = 3;
ZhongYufan 1:9c7bb3db32bc 155 break;}
ZhongYufan 1:9c7bb3db32bc 156 else if (_s == 2){
ZhongYufan 1:9c7bb3db32bc 157 _state = 2;
ZhongYufan 1:9c7bb3db32bc 158 break;}
ZhongYufan 1:9c7bb3db32bc 159 }
ZhongYufan 1:9c7bb3db32bc 160 }
ZhongYufan 1:9c7bb3db32bc 161
ZhongYufan 1:9c7bb3db32bc 162 void MinerEngine::options(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 163 while ( pad.check_event(Gamepad::START_PRESSED) == false && pad.check_event(Gamepad::JOY_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 164 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 165 int _s = get_select(pad);
ZhongYufan 1:9c7bb3db32bc 166 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 167 lcd.drawRect(1,1,WIDTH-2,HEIGHT-2,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 168 lcd.printString(" Press Y or A",2,1);
ZhongYufan 1:9c7bb3db32bc 169 lcd.printString(" Easy",4,2);
ZhongYufan 1:9c7bb3db32bc 170 lcd.printString(" Normal",4,3);
ZhongYufan 1:9c7bb3db32bc 171 lcd.printString(" Hard",4,4);
ZhongYufan 1:9c7bb3db32bc 172 if ( _s == 0) {
ZhongYufan 1:9c7bb3db32bc 173 lcd.drawSprite(63,15,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 174 _monster_speed = 0.5; // change the speed_winch
ZhongYufan 1:9c7bb3db32bc 175 }else if ( _s == 1 ) {
ZhongYufan 1:9c7bb3db32bc 176 lcd.drawSprite(63,24,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 177 _monster_speed = 1.0;
ZhongYufan 1:9c7bb3db32bc 178 }else if ( _s == 2) {
ZhongYufan 1:9c7bb3db32bc 179 lcd.drawSprite(63,32,8,8,(int *)arrow);
ZhongYufan 1:9c7bb3db32bc 180 _monster_speed = 1.5;
ZhongYufan 1:9c7bb3db32bc 181 }
ZhongYufan 1:9c7bb3db32bc 182 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 183 }
ZhongYufan 1:9c7bb3db32bc 184 _state = 0;
ZhongYufan 1:9c7bb3db32bc 185 }
ZhongYufan 1:9c7bb3db32bc 186
ZhongYufan 1:9c7bb3db32bc 187 void MinerEngine::game_run(Gamepad &pad, N5110 &lcd){
ZhongYufan 1:9c7bb3db32bc 188 int fps = 8;
ZhongYufan 1:9c7bb3db32bc 189 while(1){
ZhongYufan 1:9c7bb3db32bc 190 readinput(pad);
ZhongYufan 1:9c7bb3db32bc 191 update(pad);
ZhongYufan 1:9c7bb3db32bc 192 check_goal(pad);
ZhongYufan 1:9c7bb3db32bc 193 print_scores(lcd);
ZhongYufan 1:9c7bb3db32bc 194 draw(lcd);
ZhongYufan 1:9c7bb3db32bc 195 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 196 wait(1.0f/fps);
ZhongYufan 1:9c7bb3db32bc 197 }
ZhongYufan 1:9c7bb3db32bc 198
ZhongYufan 1:9c7bb3db32bc 199
ZhongYufan 1:9c7bb3db32bc 200 }
ZhongYufan 1:9c7bb3db32bc 201 /////////////
ZhongYufan 1:9c7bb3db32bc 202 void MinerEngine::check_goal(Gamepad &pad)//只检查金子Y<=13
ZhongYufan 1:9c7bb3db32bc 203 {
ZhongYufan 1:9c7bb3db32bc 204 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 1:9c7bb3db32bc 205 // P2 has scored
ZhongYufan 1:9c7bb3db32bc 206 if (claw_pos.x + _claw_size < 0) {
ZhongYufan 1:9c7bb3db32bc 207 _claw.add_nowscore();
ZhongYufan 1:9c7bb3db32bc 208 _claw.init(_claw_size,_speed_claw);
ZhongYufan 1:9c7bb3db32bc 209 pad.tone(1500.0,0.5);
ZhongYufan 1:9c7bb3db32bc 210 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 211 wait(0.5);
ZhongYufan 1:9c7bb3db32bc 212 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 213 }
ZhongYufan 1:9c7bb3db32bc 214
ZhongYufan 1:9c7bb3db32bc 215 // P1 has scored
ZhongYufan 1:9c7bb3db32bc 216 if (claw_pos.x > WIDTH) {
ZhongYufan 1:9c7bb3db32bc 217 _winch.add_allscore();
ZhongYufan 1:9c7bb3db32bc 218 _claw.init(_claw_size,_speed_claw);
ZhongYufan 1:9c7bb3db32bc 219 pad.tone(1500.0,0.5);
ZhongYufan 1:9c7bb3db32bc 220 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 221 wait(0.5);
ZhongYufan 1:9c7bb3db32bc 222 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 223 }
ZhongYufan 1:9c7bb3db32bc 224 }
ZhongYufan 1:9c7bb3db32bc 225
ZhongYufan 1:9c7bb3db32bc 226 void MinerEngine::print_scores(N5110 &lcd)//显示左上角即时分
ZhongYufan 1:9c7bb3db32bc 227 //右上最高分
ZhongYufan 1:9c7bb3db32bc 228 {
ZhongYufan 1:9c7bb3db32bc 229 // get scores from winchs
ZhongYufan 1:9c7bb3db32bc 230 int winch_score = _winch.get_score();
ZhongYufan 1:9c7bb3db32bc 231 //int claw_score = _claw.get_score();
ZhongYufan 1:9c7bb3db32bc 232
ZhongYufan 1:9c7bb3db32bc 233 // print to LCD i
ZhongYufan 1:9c7bb3db32bc 234 char buffer1[14];
ZhongYufan 1:9c7bb3db32bc 235 sprintf(buffer1,"%2d",winch_score);
ZhongYufan 1:9c7bb3db32bc 236 lcd.printString(buffer1,WIDTH/2 - 20,1); // font is 8 wide, so leave 4 pixel gape from middle assuming two digits
ZhongYufan 1:9c7bb3db32bc 237 char buffer2[14];
ZhongYufan 1:9c7bb3db32bc 238 sprintf(buffer2,"%2d",claw_score);
ZhongYufan 1:9c7bb3db32bc 239 lcd.printString(buffer2,WIDTH/2 + 4,1);
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 1:9c7bb3db32bc 246 }
ZhongYufan 1:9c7bb3db32bc 247
ZhongYufan 1:9c7bb3db32bc 248 void MinerEngine::draw(N5110 &lcd)
ZhongYufan 1:9c7bb3db32bc 249 {
ZhongYufan 1:9c7bb3db32bc 250 // draw the elements in the LCD buffer
ZhongYufan 1:9c7bb3db32bc 251 // pitch
ZhongYufan 1:9c7bb3db32bc 252 lcd.drawRect(0,0,WIDTH,HEIGHT,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 253 //horizontal line
ZhongYufan 1:9c7bb3db32bc 254 lcd.drawLine(0,13,WIDTH,13,1);
ZhongYufan 1:9c7bb3db32bc 255 //score
ZhongYufan 1:9c7bb3db32bc 256 print_scores(lcd);
ZhongYufan 1:9c7bb3db32bc 257 // winchs
ZhongYufan 1:9c7bb3db32bc 258 _winch.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 259 _claw.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 260 _gold.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 261 _monster.draw(lcd);
ZhongYufan 1:9c7bb3db32bc 262
ZhongYufan 1:9c7bb3db32bc 263 void MinerEngine::update(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 264 {
ZhongYufan 1:9c7bb3db32bc 265 check_goal(pad);
ZhongYufan 1:9c7bb3db32bc 266 _winch.update(_d,_mag);
ZhongYufan 1:9c7bb3db32bc 267 _monster.update();
ZhongYufan 1:9c7bb3db32bc 268 _claw.update();
ZhongYufan 1:9c7bb3db32bc 269 _gold.update();
ZhongYufan 1:9c7bb3db32bc 270
ZhongYufan 1:9c7bb3db32bc 271 check_monster_collision(pad);
ZhongYufan 1:9c7bb3db32bc 272 check_gold_collision(pad);
ZhongYufan 1:9c7bb3db32bc 273 }
ZhongYufan 1:9c7bb3db32bc 274
ZhongYufan 1:9c7bb3db32bc 275 void MinerEngine::check_monster_collision(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 276 {
ZhongYufan 1:9c7bb3db32bc 277 // read current claw attributes
ZhongYufan 1:9c7bb3db32bc 278 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 1:9c7bb3db32bc 279 ///检查怪物和爪子X是否一样
ZhongYufan 1:9c7bb3db32bc 280
ZhongYufan 1:9c7bb3db32bc 281
ZhongYufan 1:9c7bb3db32bc 282
ZhongYufan 1:9c7bb3db32bc 283
ZhongYufan 1:9c7bb3db32bc 284 Vector2D claw_velocity = _claw.get_velocity();//////////////
ZhongYufan 1:9c7bb3db32bc 285
ZhongYufan 1:9c7bb3db32bc 286 // check if hit top wall
ZhongYufan 1:9c7bb3db32bc 287 if (claw_pos.y <= 1) { // 1 due to 1 pixel boundary/////改/检查怪物和爪子X是否一样
ZhongYufan 1:9c7bb3db32bc 288 claw_pos.y = 1; // bounce off ceiling without going off screen
ZhongYufan 1:9c7bb3db32bc 289 claw_velocity.y = -claw_velocity.y;
ZhongYufan 1:9c7bb3db32bc 290 // audio feedback
ZhongYufan 1:9c7bb3db32bc 291 pad.tone(750.0,0.1);
ZhongYufan 1:9c7bb3db32bc 292 }
ZhongYufan 1:9c7bb3db32bc 293 // check if hit bottom wall
ZhongYufan 1:9c7bb3db32bc 294 else if (claw_pos.y + _claw_size >= (HEIGHT-1) ) { // bottom pixel is 47
ZhongYufan 1:9c7bb3db32bc 295 // hit bottom
ZhongYufan 1:9c7bb3db32bc 296 claw_pos.y = (HEIGHT-1) - _claw_size; // stops claw going off screen
ZhongYufan 1:9c7bb3db32bc 297 claw_velocity.y = -claw_velocity.y;
ZhongYufan 1:9c7bb3db32bc 298 // audio feedback
ZhongYufan 1:9c7bb3db32bc 299 pad.tone(750.0,0.1);
ZhongYufan 1:9c7bb3db32bc 300 }
ZhongYufan 1:9c7bb3db32bc 301
ZhongYufan 1:9c7bb3db32bc 302 // update claw parameters
ZhongYufan 1:9c7bb3db32bc 303 _claw.set_velocity(claw_velocity);
ZhongYufan 1:9c7bb3db32bc 304 _claw.set_pos(claw_pos);
ZhongYufan 1:9c7bb3db32bc 305
ZhongYufan 1:9c7bb3db32bc 306 }
ZhongYufan 1:9c7bb3db32bc 307
ZhongYufan 1:9c7bb3db32bc 308 void MinerEngine::check_gold_collision(Gamepad &pad)
ZhongYufan 1:9c7bb3db32bc 309 {
ZhongYufan 1:9c7bb3db32bc 310 // read current claw attributes
ZhongYufan 1:9c7bb3db32bc 311 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 1:9c7bb3db32bc 312 Vector2D claw_velocity = _claw.get_velocity();
ZhongYufan 1:9c7bb3db32bc 313
ZhongYufan 1:9c7bb3db32bc 314 // check winch first
ZhongYufan 1:9c7bb3db32bc 315 Vector2D winch_pos = _winch.get_pos();
ZhongYufan 1:9c7bb3db32bc 316
ZhongYufan 1:9c7bb3db32bc 317 // see if claw has hit the winch by checking for overlaps
ZhongYufan 1:9c7bb3db32bc 318 if (
ZhongYufan 1:9c7bb3db32bc 319 (claw_pos.y >= winch_pos.y) && //top
ZhongYufan 1:9c7bb3db32bc 320 (claw_pos.y <= winch_pos.y + _winch_height) && //bottom
ZhongYufan 1:9c7bb3db32bc 321 (claw_pos.x >= _winch_x) && //left
ZhongYufan 1:9c7bb3db32bc 322 (claw_pos.x <= _winch_x + _winch_width) //right
ZhongYufan 1:9c7bb3db32bc 323 ) {
ZhongYufan 1:9c7bb3db32bc 324 // if it has, fix position and reflect x velocity
ZhongYufan 1:9c7bb3db32bc 325 claw_pos.x = _winch_x + _winch_width;
ZhongYufan 1:9c7bb3db32bc 326 claw_velocity.x = -claw_velocity.x;
ZhongYufan 1:9c7bb3db32bc 327 // audio feedback
ZhongYufan 1:9c7bb3db32bc 328 pad.tone(1000.0,0.1);
ZhongYufan 1:9c7bb3db32bc 329 }
ZhongYufan 1:9c7bb3db32bc 330
ZhongYufan 1:9c7bb3db32bc 331
ZhongYufan 1:9c7bb3db32bc 332 }
ZhongYufan 1:9c7bb3db32bc 333
ZhongYufan 1:9c7bb3db32bc 334
ZhongYufan 1:9c7bb3db32bc 335
ZhongYufan 1:9c7bb3db32bc 336 /////////////////////////////////////////////////////
ZhongYufan 1:9c7bb3db32bc 337 void MinerEngine::welcome(Gamepad &pad, N5110 &lcd) {
ZhongYufan 1:9c7bb3db32bc 338
ZhongYufan 1:9c7bb3db32bc 339
ZhongYufan 1:9c7bb3db32bc 340 lcd.drawSprite(0,0,48,84,(int *)sprite);
ZhongYufan 1:9c7bb3db32bc 341 lcd.drawRect(4,31,25,9, FILL_WHITE);
ZhongYufan 1:9c7bb3db32bc 342 lcd.drawRect(4,39,31,10, FILL_WHITE);
ZhongYufan 1:9c7bb3db32bc 343 lcd.printString("GOLD",5,4);
ZhongYufan 1:9c7bb3db32bc 344 lcd.printString("MINER",5,5);
ZhongYufan 1:9c7bb3db32bc 345 lcd.drawLine(0,47,84,47,1);
ZhongYufan 1:9c7bb3db32bc 346 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 347
ZhongYufan 1:9c7bb3db32bc 348 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
ZhongYufan 1:9c7bb3db32bc 349
ZhongYufan 1:9c7bb3db32bc 350 pad.tone(370,0.15);
ZhongYufan 1:9c7bb3db32bc 351 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 352 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 353 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 354 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 355 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 356 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 357 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 358 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 359 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 360 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 361 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 362 pad.tone(493,0.15);
ZhongYufan 1:9c7bb3db32bc 363 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 364 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 365 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 366 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 367 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 368 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 369 wait(0.2);
ZhongYufan 1:9c7bb3db32bc 370 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 371 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 372 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 373 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 374 pad.tone(659,0.15);
ZhongYufan 1:9c7bb3db32bc 375 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 376 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 377 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 378 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 379 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 380 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 381 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 382 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 383 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 384 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 385 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 386 pad.tone(493,0.15);
ZhongYufan 1:9c7bb3db32bc 387 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 388 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 389 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 390 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 391 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 392 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 393 wait(0.35);
ZhongYufan 1:9c7bb3db32bc 394 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 395 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 396 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 397 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 398 pad.tone(554,0.15);
ZhongYufan 1:9c7bb3db32bc 399 wait(0.2);
ZhongYufan 1:9c7bb3db32bc 400 pad.leds_on();
ZhongYufan 1:9c7bb3db32bc 401 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 402 pad.leds_off();
ZhongYufan 1:9c7bb3db32bc 403 wait(0.02);
ZhongYufan 1:9c7bb3db32bc 404 }
ZhongYufan 1:9c7bb3db32bc 405
ZhongYufan 1:9c7bb3db32bc 406 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 407
ZhongYufan 1:9c7bb3db32bc 408 for (int i=0;i<47;i++) {
ZhongYufan 1:9c7bb3db32bc 409 for(int m=0;m<47;m++) {
ZhongYufan 1:9c7bb3db32bc 410 for (int n=0;n<84;n++) {
ZhongYufan 1:9c7bb3db32bc 411 sprite[m][n]= sprite[m+1][n];
ZhongYufan 1:9c7bb3db32bc 412 sprite[47][n]= 0;
ZhongYufan 1:9c7bb3db32bc 413 }
ZhongYufan 1:9c7bb3db32bc 414
ZhongYufan 1:9c7bb3db32bc 415 }
ZhongYufan 1:9c7bb3db32bc 416 lcd.drawSprite(0,0,48,84,(int *)sprite);
ZhongYufan 1:9c7bb3db32bc 417 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 418 wait(0.1);
ZhongYufan 1:9c7bb3db32bc 419 }
ZhongYufan 1:9c7bb3db32bc 420 lcd.printString("Loading....",12,0);
ZhongYufan 1:9c7bb3db32bc 421 lcd.drawRect(20,12,50,10,FILL_TRANSPARENT);
ZhongYufan 1:9c7bb3db32bc 422
ZhongYufan 1:9c7bb3db32bc 423 for (int i=0;i<50;i++) {
ZhongYufan 1:9c7bb3db32bc 424 lcd.drawRect(20,12,i,10,FILL_BLACK);
ZhongYufan 1:9c7bb3db32bc 425 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 426 wait(0.05);
ZhongYufan 1:9c7bb3db32bc 427 }
ZhongYufan 1:9c7bb3db32bc 428
ZhongYufan 1:9c7bb3db32bc 429 lcd.printString("Complete!",20,4);
ZhongYufan 1:9c7bb3db32bc 430 lcd.refresh();
ZhongYufan 1:9c7bb3db32bc 431 wait(0.8);
ZhongYufan 1:9c7bb3db32bc 432 lcd.clear();
ZhongYufan 1:9c7bb3db32bc 433
ZhongYufan 1:9c7bb3db32bc 434 }
ZhongYufan 1:9c7bb3db32bc 435
ZhongYufan 1:9c7bb3db32bc 436 // check claw next
ZhongYufan 1:9c7bb3db32bc 437 /*
ZhongYufan 1:9c7bb3db32bc 438 Vector2D claw_pos = _claw.get_pos();
ZhongYufan 1:9c7bb3db32bc 439
ZhongYufan 1:9c7bb3db32bc 440 // see if claw has hit the winch by checking for overlaps
ZhongYufan 1:9c7bb3db32bc 441 if (
ZhongYufan 1:9c7bb3db32bc 442 (claw_pos.y >= claw_pos.y) && //top
ZhongYufan 1:9c7bb3db32bc 443 (claw_pos.y <= claw_pos.y + _winch_height) && //bottom
ZhongYufan 1:9c7bb3db32bc 444 (claw_pos.x + _claw_size >= _claw_x) && //left
ZhongYufan 1:9c7bb3db32bc 445 (claw_pos.x + _claw_size <= _claw_x + _winch_width) //right
ZhongYufan 1:9c7bb3db32bc 446 ) {
ZhongYufan 1:9c7bb3db32bc 447 // if it has, fix position and reflect x velocity
ZhongYufan 1:9c7bb3db32bc 448 claw_pos.x = _claw_x - _claw_size;
ZhongYufan 1:9c7bb3db32bc 449 claw_velocity.x = -claw_velocity.x;
ZhongYufan 1:9c7bb3db32bc 450 // audio feedback
ZhongYufan 1:9c7bb3db32bc 451 pad.tone(1000.0,0.1);
ZhongYufan 1:9c7bb3db32bc 452 }
ZhongYufan 1:9c7bb3db32bc 453
ZhongYufan 1:9c7bb3db32bc 454 // write new attributes
ZhongYufan 1:9c7bb3db32bc 455 _claw.set_velocity(claw_velocity);
ZhongYufan 1:9c7bb3db32bc 456 _claw.set_pos(claw_pos);
ZhongYufan 1:9c7bb3db32bc 457 */