Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

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

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ZhongYufan 1:9c7bb3db32bc 1 #include "Gold.h"
ZhongYufan 1:9c7bb3db32bc 2
ZhongYufan 1:9c7bb3db32bc 3 Gold::Gold()
ZhongYufan 1:9c7bb3db32bc 4 {
ZhongYufan 1:9c7bb3db32bc 5
ZhongYufan 1:9c7bb3db32bc 6 }
ZhongYufan 1:9c7bb3db32bc 7
ZhongYufan 1:9c7bb3db32bc 8 Gold::~Gold()
ZhongYufan 1:9c7bb3db32bc 9 {
ZhongYufan 1:9c7bb3db32bc 10
ZhongYufan 1:9c7bb3db32bc 11 }
ZhongYufan 1:9c7bb3db32bc 12
ZhongYufan 1:9c7bb3db32bc 13 void Gold::init(int gold_num)
ZhongYufan 1:9c7bb3db32bc 14 {
ZhongYufan 1:9c7bb3db32bc 15 _gold_num = gold_num;
ZhongYufan 1:9c7bb3db32bc 16 _gold_left = _gold_num;
ZhongYufan 1:9c7bb3db32bc 17
ZhongYufan 1:9c7bb3db32bc 18 for (int i=0;i<_gold_num;i++){
ZhongYufan 1:9c7bb3db32bc 19 _gold_caught[i] = 0;
ZhongYufan 1:9c7bb3db32bc 20 _gold_reached[i] = 0;
ZhongYufan 1:9c7bb3db32bc 21
ZhongYufan 1:9c7bb3db32bc 22 srand(time(NULL));
ZhongYufan 1:9c7bb3db32bc 23 _x[i] = 3+rand() % WIDTH-4;
ZhongYufan 1:9c7bb3db32bc 24 _y[i] = 17+rand() % 27;
ZhongYufan 1:9c7bb3db32bc 25 }
ZhongYufan 1:9c7bb3db32bc 26
ZhongYufan 1:9c7bb3db32bc 27
ZhongYufan 1:9c7bb3db32bc 28 }
ZhongYufan 1:9c7bb3db32bc 29
ZhongYufan 1:9c7bb3db32bc 30 void Gold::draw(N5110 &lcd)
ZhongYufan 1:9c7bb3db32bc 31 {
ZhongYufan 1:9c7bb3db32bc 32 for (int i=0;i<_gold_num;i++){
ZhongYufan 1:9c7bb3db32bc 33 while(_gold_reached[i]==0){
ZhongYufan 1:9c7bb3db32bc 34 lcd.drawCircle(_x[i],_y[i],2,FILL_BLACK); // lcd.drawCircle(_x[i],_y[i],3,FILL_BLACK);
ZhongYufan 1:9c7bb3db32bc 35 }
ZhongYufan 1:9c7bb3db32bc 36 }
ZhongYufan 1:9c7bb3db32bc 37 }
ZhongYufan 1:9c7bb3db32bc 38
ZhongYufan 1:9c7bb3db32bc 39 void Gold::update()
ZhongYufan 1:9c7bb3db32bc 40 {
ZhongYufan 1:9c7bb3db32bc 41 for (int i=0;i<_gold_num;i++){
ZhongYufan 1:9c7bb3db32bc 42 while(_gold_caught[i]==1){
ZhongYufan 1:9c7bb3db32bc 43 _y[i]-=1;
ZhongYufan 1:9c7bb3db32bc 44 if (_y[i]<=14) {
ZhongYufan 1:9c7bb3db32bc 45 gold_reached(i);
ZhongYufan 1:9c7bb3db32bc 46 }
ZhongYufan 1:9c7bb3db32bc 47 }
ZhongYufan 1:9c7bb3db32bc 48 }
ZhongYufan 1:9c7bb3db32bc 49 }
ZhongYufan 1:9c7bb3db32bc 50
ZhongYufan 1:9c7bb3db32bc 51 void Gold::gold_caught(int caught_i)
ZhongYufan 1:9c7bb3db32bc 52 {
ZhongYufan 1:9c7bb3db32bc 53 _gold_caught[caught_i]=1;
ZhongYufan 1:9c7bb3db32bc 54 }
ZhongYufan 1:9c7bb3db32bc 55
ZhongYufan 1:9c7bb3db32bc 56 void Gold::gold_reached(int reached_i)
ZhongYufan 1:9c7bb3db32bc 57 {
ZhongYufan 1:9c7bb3db32bc 58 _gold_reached[reached_i]=1;
ZhongYufan 1:9c7bb3db32bc 59 _gold_left--;
ZhongYufan 1:9c7bb3db32bc 60 }
ZhongYufan 1:9c7bb3db32bc 61
ZhongYufan 1:9c7bb3db32bc 62
ZhongYufan 1:9c7bb3db32bc 63
ZhongYufan 1:9c7bb3db32bc 64 int Gold::get_reached_num()
ZhongYufan 1:9c7bb3db32bc 65 {
ZhongYufan 1:9c7bb3db32bc 66 int n=0;
ZhongYufan 1:9c7bb3db32bc 67 for (int i=0;i<_gold_num;i++){
ZhongYufan 1:9c7bb3db32bc 68 if (_gold_reached[i]==1){
ZhongYufan 1:9c7bb3db32bc 69 n+=1;
ZhongYufan 1:9c7bb3db32bc 70 }
ZhongYufan 1:9c7bb3db32bc 71 }
ZhongYufan 1:9c7bb3db32bc 72 return n;
ZhongYufan 1:9c7bb3db32bc 73 }
ZhongYufan 1:9c7bb3db32bc 74
ZhongYufan 1:9c7bb3db32bc 75 Vector2D Gold::get_pos(int gold_i)
ZhongYufan 1:9c7bb3db32bc 76 {
ZhongYufan 1:9c7bb3db32bc 77 Vector2D p = {_x[gold_i],_y[gold_i]};
ZhongYufan 1:9c7bb3db32bc 78 return p;
ZhongYufan 1:9c7bb3db32bc 79 }
ZhongYufan 1:9c7bb3db32bc 80
ZhongYufan 1:9c7bb3db32bc 81 void Gold::set_pos(Vector2D p) {
ZhongYufan 1:9c7bb3db32bc 82 for (int i=0;i<_gold_num;i++){
ZhongYufan 1:9c7bb3db32bc 83 while(_gold_reached[i]==0){
ZhongYufan 1:9c7bb3db32bc 84 _x[i] = p.x;
ZhongYufan 1:9c7bb3db32bc 85 _y[i] = p.y;
ZhongYufan 1:9c7bb3db32bc 86 }
ZhongYufan 1:9c7bb3db32bc 87 }
ZhongYufan 1:9c7bb3db32bc 88 }