Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

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

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ZhongYufan 1:9c7bb3db32bc 1 #ifndef CLAW_H
ZhongYufan 1:9c7bb3db32bc 2 #define CLAW_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 1:9c7bb3db32bc 9
ZhongYufan 1:9c7bb3db32bc 10 /** Claw Class
ZhongYufan 16:e3ecfcd2a389 11 @author Yufan Zhong, University of Leeds and SWJTU
ZhongYufan 16:e3ecfcd2a389 12 @brief Controls the claw in the gold miner game
ZhongYufan 16:e3ecfcd2a389 13 @date May 2020
ZhongYufan 1:9c7bb3db32bc 14 */
ZhongYufan 16:e3ecfcd2a389 15
ZhongYufan 16:e3ecfcd2a389 16
ZhongYufan 1:9c7bb3db32bc 17 class Claw
ZhongYufan 1:9c7bb3db32bc 18 {
ZhongYufan 1:9c7bb3db32bc 19
ZhongYufan 1:9c7bb3db32bc 20 public:
ZhongYufan 16:e3ecfcd2a389 21 /** Constructor */
ZhongYufan 1:9c7bb3db32bc 22 Claw();
ZhongYufan 16:e3ecfcd2a389 23 /** Destructor */
ZhongYufan 1:9c7bb3db32bc 24 ~Claw();
ZhongYufan 16:e3ecfcd2a389 25 /** Initialise the claw
ZhongYufan 16:e3ecfcd2a389 26 *
ZhongYufan 16:e3ecfcd2a389 27 * This function initialises the components of claw.
ZhongYufan 16:e3ecfcd2a389 28 * @param winch_width - The width of the winch
ZhongYufan 16:e3ecfcd2a389 29 */
ZhongYufan 1:9c7bb3db32bc 30 void init(int winch_width);
ZhongYufan 16:e3ecfcd2a389 31 /** Draw the claw
ZhongYufan 16:e3ecfcd2a389 32 *
ZhongYufan 16:e3ecfcd2a389 33 * This function draws the claw.
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 position of the claw.
ZhongYufan 16:e3ecfcd2a389 40 * @param d - the direction of the joystick
ZhongYufan 16:e3ecfcd2a389 41 * @param mag - the magnitude of the joystick
ZhongYufan 16:e3ecfcd2a389 42 * @param winch_pos - the position of the winch
ZhongYufan 16:e3ecfcd2a389 43 */
ZhongYufan 8:c5969685cf02 44 void update(Direction d,float mag,Vector2D winch_pos);
ZhongYufan 16:e3ecfcd2a389 45 /** Add the current score
ZhongYufan 16:e3ecfcd2a389 46 *
ZhongYufan 16:e3ecfcd2a389 47 * This function adds the current score.
ZhongYufan 16:e3ecfcd2a389 48 */
ZhongYufan 1:9c7bb3db32bc 49 void add_now_score();
ZhongYufan 16:e3ecfcd2a389 50 /** Get the current score
ZhongYufan 16:e3ecfcd2a389 51 *
ZhongYufan 16:e3ecfcd2a389 52 * This function gets the current score.
ZhongYufan 16:e3ecfcd2a389 53 */
ZhongYufan 1:9c7bb3db32bc 54 int get_now_score();
ZhongYufan 16:e3ecfcd2a389 55 /** Set the velocity of claw
ZhongYufan 16:e3ecfcd2a389 56 *
ZhongYufan 16:e3ecfcd2a389 57 * This function set the velocity of the claw.
ZhongYufan 16:e3ecfcd2a389 58 * @param v - the velocity of the claw
ZhongYufan 16:e3ecfcd2a389 59 */
ZhongYufan 8:c5969685cf02 60 void set_velocity(float v);
ZhongYufan 16:e3ecfcd2a389 61 /** Get the velocity
ZhongYufan 16:e3ecfcd2a389 62 *
ZhongYufan 16:e3ecfcd2a389 63 * This function gets the velocity of the claw.
ZhongYufan 16:e3ecfcd2a389 64 */
ZhongYufan 8:c5969685cf02 65 float get_velocity();
ZhongYufan 16:e3ecfcd2a389 66 /** Get the position of the claw
ZhongYufan 16:e3ecfcd2a389 67 *
ZhongYufan 16:e3ecfcd2a389 68 * This function gets the position of the claw.
ZhongYufan 16:e3ecfcd2a389 69 */
ZhongYufan 1:9c7bb3db32bc 70 Vector2D get_pos();
ZhongYufan 16:e3ecfcd2a389 71 /** Set position of the claw
ZhongYufan 16:e3ecfcd2a389 72 *
ZhongYufan 16:e3ecfcd2a389 73 * This function set the position of the claw.
ZhongYufan 16:e3ecfcd2a389 74 * @param p - position of the claw
ZhongYufan 16:e3ecfcd2a389 75 */
ZhongYufan 1:9c7bb3db32bc 76 void set_pos(Vector2D p);
ZhongYufan 1:9c7bb3db32bc 77
ZhongYufan 1:9c7bb3db32bc 78
ZhongYufan 1:9c7bb3db32bc 79
ZhongYufan 1:9c7bb3db32bc 80 private:
ZhongYufan 1:9c7bb3db32bc 81 int _winch_width;
ZhongYufan 1:9c7bb3db32bc 82 int _x0;
ZhongYufan 1:9c7bb3db32bc 83 int _y0;
ZhongYufan 1:9c7bb3db32bc 84 int _x1;
ZhongYufan 1:9c7bb3db32bc 85 int _y1;
ZhongYufan 8:c5969685cf02 86 float _velocity_y;
ZhongYufan 1:9c7bb3db32bc 87 int _now_score;
ZhongYufan 1:9c7bb3db32bc 88 int _speed_x;
ZhongYufan 1:9c7bb3db32bc 89
ZhongYufan 1:9c7bb3db32bc 90 };
ZhongYufan 1:9c7bb3db32bc 91 #endif