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@21:7b6da5796f47, 2020-05-13 (annotated)
- 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?
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 | 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 |