Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Tue May 12 09:13:04 2020 +0000
Revision:
16:e3ecfcd2a389
Parent:
12:07a9f2140d9b
Child:
17:3ba4ec25c4c5
header file comments finished

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 16:e3ecfcd2a389 12 @author Yufan Zhong, University of Leeds and SWJTU
ZhongYufan 16:e3ecfcd2a389 13 @brief Controls the gold in the gold miner game
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 16:e3ecfcd2a389 23 /** Destructor */
ZhongYufan 1:9c7bb3db32bc 24 ~Gold();
ZhongYufan 16:e3ecfcd2a389 25 /** Initialise the gold
ZhongYufan 16:e3ecfcd2a389 26 *
ZhongYufan 16:e3ecfcd2a389 27 * This function initialises the components of 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 16:e3ecfcd2a389 31 /** Draw the golds
ZhongYufan 16:e3ecfcd2a389 32 *
ZhongYufan 16:e3ecfcd2a389 33 * This function draws the golds.
ZhongYufan 16:e3ecfcd2a389 34 * @param lcd - N5110 library
ZhongYufan 16:e3ecfcd2a389 35 */
ZhongYufan 1:9c7bb3db32bc 36 void draw(N5110 &lcd);
ZhongYufan 16:e3ecfcd2a389 37 /** Update the data
ZhongYufan 16:e3ecfcd2a389 38 *
ZhongYufan 16:e3ecfcd2a389 39 * This function gets the new positions and number of golds.
ZhongYufan 16:e3ecfcd2a389 40 */
ZhongYufan 1:9c7bb3db32bc 41 void update();
ZhongYufan 16:e3ecfcd2a389 42 /** Mark the gold which has been caught
ZhongYufan 16:e3ecfcd2a389 43 *
ZhongYufan 16:e3ecfcd2a389 44 * This function mark the gold which has been caught.
ZhongYufan 16:e3ecfcd2a389 45 * @param caught_i - the serial number of the captured gold
ZhongYufan 16:e3ecfcd2a389 46 */
ZhongYufan 1:9c7bb3db32bc 47 void gold_caught(int caught_i);
ZhongYufan 16:e3ecfcd2a389 48 /** Get the number of lifted gold
ZhongYufan 16:e3ecfcd2a389 49 *
ZhongYufan 16:e3ecfcd2a389 50 * This function gets the number of lifted gold.
ZhongYufan 16:e3ecfcd2a389 51 */
ZhongYufan 1:9c7bb3db32bc 52 int get_reached_num();
ZhongYufan 16:e3ecfcd2a389 53 /** Get the number of left golds
ZhongYufan 16:e3ecfcd2a389 54 *
ZhongYufan 16:e3ecfcd2a389 55 * This function gets the number of left golds.
ZhongYufan 16:e3ecfcd2a389 56 */
ZhongYufan 8:c5969685cf02 57 int get_left_num();
ZhongYufan 16:e3ecfcd2a389 58 /** Get the position of the gold
ZhongYufan 16:e3ecfcd2a389 59 *
ZhongYufan 16:e3ecfcd2a389 60 * This function gets the position of the gold with serial number i.
ZhongYufan 16:e3ecfcd2a389 61 * @param gold_i - the serial number of the gold
ZhongYufan 16:e3ecfcd2a389 62 */
ZhongYufan 1:9c7bb3db32bc 63 Vector2D get_pos(int gold_i);
ZhongYufan 16:e3ecfcd2a389 64 /** Set the position of the gold
ZhongYufan 16:e3ecfcd2a389 65 *
ZhongYufan 16:e3ecfcd2a389 66 * This function set the position of the gold.
ZhongYufan 16:e3ecfcd2a389 67 * @param p - the position of the gold
ZhongYufan 16:e3ecfcd2a389 68 */
ZhongYufan 1:9c7bb3db32bc 69 void set_pos(Vector2D p);
ZhongYufan 16:e3ecfcd2a389 70 /** Set the speed of the caught gold
ZhongYufan 16:e3ecfcd2a389 71 *
ZhongYufan 16:e3ecfcd2a389 72 * This function set the speed of the caught gold.
ZhongYufan 16:e3ecfcd2a389 73 * @param speed - the speed of the gold
ZhongYufan 16:e3ecfcd2a389 74 */
ZhongYufan 12:07a9f2140d9b 75 void set_speed(int speed);
ZhongYufan 1:9c7bb3db32bc 76
ZhongYufan 1:9c7bb3db32bc 77 private:
ZhongYufan 1:9c7bb3db32bc 78 int _gold_num;
ZhongYufan 1:9c7bb3db32bc 79 int _gold_left;
ZhongYufan 1:9c7bb3db32bc 80 int _gold_caught[12];
ZhongYufan 1:9c7bb3db32bc 81 int _gold_reached[12];
ZhongYufan 1:9c7bb3db32bc 82 int _x[12];
ZhongYufan 1:9c7bb3db32bc 83 int _y[12];
ZhongYufan 12:07a9f2140d9b 84 int _gold_speed;
ZhongYufan 1:9c7bb3db32bc 85
ZhongYufan 1:9c7bb3db32bc 86 };
ZhongYufan 1:9c7bb3db32bc 87 #endif