Yufan Zhong / Mbed 2 deprecated GOLD_MINER

Dependencies:   mbed

Committer:
ZhongYufan
Date:
Wed May 13 14:59:01 2020 +0000
Revision:
21:7b6da5796f47
Parent:
19:08c582bcdc98
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 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 17:3ba4ec25c4c5 11 @brief Controls the claw in the gold miner game
ZhongYufan 16:e3ecfcd2a389 12 @author Yufan Zhong, University of Leeds and SWJTU
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 18:d4fccdf8d90e 23
ZhongYufan 16:e3ecfcd2a389 24 /** Destructor */
ZhongYufan 1:9c7bb3db32bc 25 ~Claw();
ZhongYufan 18:d4fccdf8d90e 26
ZhongYufan 16:e3ecfcd2a389 27 /** Initialise the 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 18:d4fccdf8d90e 31
ZhongYufan 16:e3ecfcd2a389 32 /** Draw the claw
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 * @param winch_pos - the position of the winch
ZhongYufan 16:e3ecfcd2a389 39 */
ZhongYufan 19:08c582bcdc98 40 void update(Vector2D winch_pos);
ZhongYufan 18:d4fccdf8d90e 41
ZhongYufan 16:e3ecfcd2a389 42 /** Add the current score
ZhongYufan 16:e3ecfcd2a389 43 */
ZhongYufan 1:9c7bb3db32bc 44 void add_now_score();
ZhongYufan 18:d4fccdf8d90e 45
ZhongYufan 16:e3ecfcd2a389 46 /** Get the current score
ZhongYufan 18:d4fccdf8d90e 47 * @return the current score
ZhongYufan 16:e3ecfcd2a389 48 */
ZhongYufan 1:9c7bb3db32bc 49 int get_now_score();
ZhongYufan 18:d4fccdf8d90e 50
ZhongYufan 16:e3ecfcd2a389 51 /** Set the velocity of claw
ZhongYufan 16:e3ecfcd2a389 52 * @param v - the velocity of the claw
ZhongYufan 16:e3ecfcd2a389 53 */
ZhongYufan 8:c5969685cf02 54 void set_velocity(float v);
ZhongYufan 18:d4fccdf8d90e 55
ZhongYufan 16:e3ecfcd2a389 56 /** Get the velocity
ZhongYufan 18:d4fccdf8d90e 57 * @return the claw velocity
ZhongYufan 16:e3ecfcd2a389 58 */
ZhongYufan 8:c5969685cf02 59 float get_velocity();
ZhongYufan 18:d4fccdf8d90e 60
ZhongYufan 16:e3ecfcd2a389 61 /** Get the position of the claw
ZhongYufan 18:d4fccdf8d90e 62 * @return the position of the claw.
ZhongYufan 16:e3ecfcd2a389 63 */
ZhongYufan 1:9c7bb3db32bc 64 Vector2D get_pos();
ZhongYufan 18:d4fccdf8d90e 65
ZhongYufan 16:e3ecfcd2a389 66 /** Set position of the claw
ZhongYufan 16:e3ecfcd2a389 67 * @param p - position of the claw
ZhongYufan 16:e3ecfcd2a389 68 */
ZhongYufan 1:9c7bb3db32bc 69 void set_pos(Vector2D p);
ZhongYufan 1:9c7bb3db32bc 70
ZhongYufan 1:9c7bb3db32bc 71
ZhongYufan 1:9c7bb3db32bc 72
ZhongYufan 1:9c7bb3db32bc 73 private:
ZhongYufan 1:9c7bb3db32bc 74 int _winch_width;
ZhongYufan 1:9c7bb3db32bc 75 int _x0;
ZhongYufan 1:9c7bb3db32bc 76 int _y0;
ZhongYufan 1:9c7bb3db32bc 77 int _x1;
ZhongYufan 1:9c7bb3db32bc 78 int _y1;
ZhongYufan 8:c5969685cf02 79 float _velocity_y;
ZhongYufan 1:9c7bb3db32bc 80 int _now_score;
ZhongYufan 1:9c7bb3db32bc 81 int _speed_x;
ZhongYufan 1:9c7bb3db32bc 82
ZhongYufan 1:9c7bb3db32bc 83 };
ZhongYufan 1:9c7bb3db32bc 84 #endif