Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Sun Apr 26 13:17:27 2020 +0000
Revision:
8:c5969685cf02
Parent:
1:9c7bb3db32bc
Child:
10:51870f8e2e1a
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 "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 8:c5969685cf02 17 srand(time(NULL));
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 8:c5969685cf02 21
ZhongYufan 8:c5969685cf02 22 _x[i] = 3+(rand()%78);
ZhongYufan 8:c5969685cf02 23 _y[i] = 19+(rand()%27);
ZhongYufan 1:9c7bb3db32bc 24 }
ZhongYufan 1:9c7bb3db32bc 25
ZhongYufan 1:9c7bb3db32bc 26
ZhongYufan 1:9c7bb3db32bc 27 }
ZhongYufan 1:9c7bb3db32bc 28
ZhongYufan 1:9c7bb3db32bc 29 void Gold::draw(N5110 &lcd)
ZhongYufan 1:9c7bb3db32bc 30 {
ZhongYufan 8:c5969685cf02 31 for (int i=0;i<9;i++){
ZhongYufan 8:c5969685cf02 32 if(_gold_reached[i]==0){
ZhongYufan 1:9c7bb3db32bc 33 lcd.drawCircle(_x[i],_y[i],2,FILL_BLACK); // lcd.drawCircle(_x[i],_y[i],3,FILL_BLACK);
ZhongYufan 1:9c7bb3db32bc 34 }
ZhongYufan 1:9c7bb3db32bc 35 }
ZhongYufan 8:c5969685cf02 36 lcd.refresh();
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 8:c5969685cf02 75 int Gold::get_left_num()
ZhongYufan 8:c5969685cf02 76 {
ZhongYufan 8:c5969685cf02 77 int left_n = _gold_left;
ZhongYufan 8:c5969685cf02 78 return left_n;
ZhongYufan 8:c5969685cf02 79 }
ZhongYufan 8:c5969685cf02 80
ZhongYufan 1:9c7bb3db32bc 81 Vector2D Gold::get_pos(int gold_i)
ZhongYufan 1:9c7bb3db32bc 82 {
ZhongYufan 1:9c7bb3db32bc 83 Vector2D p = {_x[gold_i],_y[gold_i]};
ZhongYufan 1:9c7bb3db32bc 84 return p;
ZhongYufan 1:9c7bb3db32bc 85 }
ZhongYufan 1:9c7bb3db32bc 86
ZhongYufan 1:9c7bb3db32bc 87 void Gold::set_pos(Vector2D p) {
ZhongYufan 1:9c7bb3db32bc 88 for (int i=0;i<_gold_num;i++){
ZhongYufan 1:9c7bb3db32bc 89 while(_gold_reached[i]==0){
ZhongYufan 1:9c7bb3db32bc 90 _x[i] = p.x;
ZhongYufan 1:9c7bb3db32bc 91 _y[i] = p.y;
ZhongYufan 1:9c7bb3db32bc 92 }
ZhongYufan 1:9c7bb3db32bc 93 }
ZhongYufan 1:9c7bb3db32bc 94 }