Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Claw/Claw.h@16:e3ecfcd2a389, 2020-05-12 (annotated)
- 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?
User | Revision | Line number | New 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 |