Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Wed May 13 14:59:01 2020 +0000
Revision:
21:7b6da5796f47
Parent:
18:d4fccdf8d90e
Final Submission. I have read and agreed with Statement of Academic Integrity

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ZhongYufan 1:9c7bb3db32bc 1 #ifndef GOLD_H
ZhongYufan 1:9c7bb3db32bc 2 #define GOLD_H
ZhongYufan 1:9c7bb3db32bc 3
ZhongYufan 1:9c7bb3db32bc 4 #include "mbed.h"
ZhongYufan 1:9c7bb3db32bc 5 #include "N5110.h"
ZhongYufan 1:9c7bb3db32bc 6 #include "Gamepad.h"
ZhongYufan 1:9c7bb3db32bc 7 #include "Winch.h"
ZhongYufan 1:9c7bb3db32bc 8 #include "Monster.h"
ZhongYufan 8:c5969685cf02 9 #include "time.h"
ZhongYufan 1:9c7bb3db32bc 10
ZhongYufan 1:9c7bb3db32bc 11 /** Gold Class
ZhongYufan 17:3ba4ec25c4c5 12 @brief Controls the gold in the gold miner game
ZhongYufan 16:e3ecfcd2a389 13 @author Yufan Zhong, University of Leeds and SWJTU
ZhongYufan 16:e3ecfcd2a389 14 @date May 2020
ZhongYufan 1:9c7bb3db32bc 15 */
ZhongYufan 16:e3ecfcd2a389 16
ZhongYufan 1:9c7bb3db32bc 17 class Gold
ZhongYufan 1:9c7bb3db32bc 18 {
ZhongYufan 1:9c7bb3db32bc 19
ZhongYufan 1:9c7bb3db32bc 20 public:
ZhongYufan 16:e3ecfcd2a389 21 /** Constructor */
ZhongYufan 1:9c7bb3db32bc 22 Gold();
ZhongYufan 18:d4fccdf8d90e 23
ZhongYufan 16:e3ecfcd2a389 24 /** Destructor */
ZhongYufan 1:9c7bb3db32bc 25 ~Gold();
ZhongYufan 18:d4fccdf8d90e 26
ZhongYufan 16:e3ecfcd2a389 27 /** Initialise the gold
ZhongYufan 16:e3ecfcd2a389 28 * @param gold_num - number of the gold
ZhongYufan 16:e3ecfcd2a389 29 */
ZhongYufan 1:9c7bb3db32bc 30 void init(int gold_num);
ZhongYufan 18:d4fccdf8d90e 31
ZhongYufan 16:e3ecfcd2a389 32 /** Draw the golds
ZhongYufan 16:e3ecfcd2a389 33 * @param lcd - N5110 library
ZhongYufan 16:e3ecfcd2a389 34 */
ZhongYufan 1:9c7bb3db32bc 35 void draw(N5110 &lcd);
ZhongYufan 18:d4fccdf8d90e 36
ZhongYufan 16:e3ecfcd2a389 37 /** Update the data
ZhongYufan 16:e3ecfcd2a389 38 */
ZhongYufan 1:9c7bb3db32bc 39 void update();
ZhongYufan 18:d4fccdf8d90e 40
ZhongYufan 16:e3ecfcd2a389 41 /** Mark the gold which has been caught
ZhongYufan 16:e3ecfcd2a389 42 * @param caught_i - the serial number of the captured gold
ZhongYufan 16:e3ecfcd2a389 43 */
ZhongYufan 1:9c7bb3db32bc 44 void gold_caught(int caught_i);
ZhongYufan 18:d4fccdf8d90e 45
ZhongYufan 16:e3ecfcd2a389 46 /** Get the number of lifted gold
ZhongYufan 18:d4fccdf8d90e 47 * @return the number of lifted gold.
ZhongYufan 16:e3ecfcd2a389 48 */
ZhongYufan 1:9c7bb3db32bc 49 int get_reached_num();
ZhongYufan 18:d4fccdf8d90e 50
ZhongYufan 16:e3ecfcd2a389 51 /** Get the number of left golds
ZhongYufan 18:d4fccdf8d90e 52 * @return the number of left golds.
ZhongYufan 16:e3ecfcd2a389 53 */
ZhongYufan 8:c5969685cf02 54 int get_left_num();
ZhongYufan 18:d4fccdf8d90e 55
ZhongYufan 16:e3ecfcd2a389 56 /** Get the position of the gold
ZhongYufan 16:e3ecfcd2a389 57 * @param gold_i - the serial number of the gold
ZhongYufan 18:d4fccdf8d90e 58 * @return the position of the gold
ZhongYufan 16:e3ecfcd2a389 59 */
ZhongYufan 1:9c7bb3db32bc 60 Vector2D get_pos(int gold_i);
ZhongYufan 18:d4fccdf8d90e 61
ZhongYufan 16:e3ecfcd2a389 62 /** Set the position of the gold
ZhongYufan 16:e3ecfcd2a389 63 * @param p - the position of the gold
ZhongYufan 16:e3ecfcd2a389 64 */
ZhongYufan 1:9c7bb3db32bc 65 void set_pos(Vector2D p);
ZhongYufan 18:d4fccdf8d90e 66
ZhongYufan 16:e3ecfcd2a389 67 /** Set the speed of the caught gold
ZhongYufan 16:e3ecfcd2a389 68 * @param speed - the speed of the gold
ZhongYufan 16:e3ecfcd2a389 69 */
ZhongYufan 12:07a9f2140d9b 70 void set_speed(int speed);
ZhongYufan 1:9c7bb3db32bc 71
ZhongYufan 1:9c7bb3db32bc 72 private:
ZhongYufan 1:9c7bb3db32bc 73 int _gold_num;
ZhongYufan 1:9c7bb3db32bc 74 int _gold_left;
ZhongYufan 1:9c7bb3db32bc 75 int _gold_caught[12];
ZhongYufan 1:9c7bb3db32bc 76 int _gold_reached[12];
ZhongYufan 1:9c7bb3db32bc 77 int _x[12];
ZhongYufan 1:9c7bb3db32bc 78 int _y[12];
ZhongYufan 12:07a9f2140d9b 79 int _gold_speed;
ZhongYufan 1:9c7bb3db32bc 80
ZhongYufan 1:9c7bb3db32bc 81 };
ZhongYufan 1:9c7bb3db32bc 82 #endif