
Zeyu Feng 201377605
Dependencies: mbed
On Minerva
Collision/Collision.h@22:cded0cd8e1c9, 2020-05-22 (annotated)
- Committer:
- el19zf
- Date:
- Fri May 22 16:07:02 2020 +0000
- Revision:
- 22:cded0cd8e1c9
- Parent:
- 20:a36ab1560e73
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 |
---|---|---|---|
el19zf | 6:dce38fe4e092 | 1 | #ifndef COLLISION_H |
el19zf | 6:dce38fe4e092 | 2 | #define COLLISION_H |
el19zf | 6:dce38fe4e092 | 3 | |
el19zf | 6:dce38fe4e092 | 4 | #include "mbed.h" |
el19zf | 6:dce38fe4e092 | 5 | #include "Gamepad.h" |
el19zf | 6:dce38fe4e092 | 6 | #include "N5110.h" |
el19zf | 6:dce38fe4e092 | 7 | #include "PeopleEngine.h" |
el19zf | 6:dce38fe4e092 | 8 | #include "shot.h" |
el19zf | 6:dce38fe4e092 | 9 | |
el19zf | 6:dce38fe4e092 | 10 | /** Collision class |
el19zf | 20:a36ab1560e73 | 11 | *@brief check whether people is shotted |
el19zf | 20:a36ab1560e73 | 12 | *@author Zeyu Feng |
el19zf | 20:a36ab1560e73 | 13 | *@28 April 2020 |
el19zf | 20:a36ab1560e73 | 14 | */ |
el19zf | 6:dce38fe4e092 | 15 | |
el19zf | 6:dce38fe4e092 | 16 | class Collision{ |
el19zf | 6:dce38fe4e092 | 17 | |
el19zf | 6:dce38fe4e092 | 18 | public: |
el19zf | 13:eb60628db8bf | 19 | /**constructor*/ |
el19zf | 13:eb60628db8bf | 20 | Collision(); |
el19zf | 13:eb60628db8bf | 21 | /**destructor*/ |
el19zf | 13:eb60628db8bf | 22 | ~Collision(); |
el19zf | 13:eb60628db8bf | 23 | |
el19zf | 20:a36ab1560e73 | 24 | /**init private variables*/ |
el19zf | 13:eb60628db8bf | 25 | void init(); |
el19zf | 6:dce38fe4e092 | 26 | |
el19zf | 20:a36ab1560e73 | 27 | /**reset col_index to 0*/ |
el19zf | 20:a36ab1560e73 | 28 | void reset_check_col(); |
el19zf | 20:a36ab1560e73 | 29 | |
el19zf | 13:eb60628db8bf | 30 | /**check whether there is a collision |
el19zf | 13:eb60628db8bf | 31 | *@return whether collide |
el19zf | 13:eb60628db8bf | 32 | */ |
el19zf | 8:8287d2ef965d | 33 | bool check(N5110 &lcd); |
el19zf | 13:eb60628db8bf | 34 | |
el19zf | 13:eb60628db8bf | 35 | /**check whether people reach destination |
el19zf | 13:eb60628db8bf | 36 | *@return whether reach destination |
el19zf | 13:eb60628db8bf | 37 | */ |
el19zf | 11:494cc44777fe | 38 | bool check_des(N5110 &lcd); |
el19zf | 8:8287d2ef965d | 39 | |
el19zf | 13:eb60628db8bf | 40 | /**draw current health at the left top of lcd*/ |
el19zf | 8:8287d2ef965d | 41 | void draw(N5110 &lcd); |
el19zf | 13:eb60628db8bf | 42 | |
el19zf | 13:eb60628db8bf | 43 | /**draw basic elements in collision interface*/ |
el19zf | 13:eb60628db8bf | 44 | void draw_basic(N5110 &lcd); |
el19zf | 13:eb60628db8bf | 45 | |
el19zf | 13:eb60628db8bf | 46 | /**draw the collision interface to tell gamer health - 1*/ |
el19zf | 13:eb60628db8bf | 47 | void draw_collision(N5110 &lcd); |
el19zf | 13:eb60628db8bf | 48 | |
el19zf | 20:a36ab1560e73 | 49 | /**accessors get health of people |
el19zf | 13:eb60628db8bf | 50 | *@return health of people |
el19zf | 13:eb60628db8bf | 51 | */ |
el19zf | 8:8287d2ef965d | 52 | int get_health(); |
el19zf | 11:494cc44777fe | 53 | |
el19zf | 20:a36ab1560e73 | 54 | /**accessors get des_index |
el19zf | 20:a36ab1560e73 | 55 | *@return game information |
el19zf | 13:eb60628db8bf | 56 | */ |
el19zf | 11:494cc44777fe | 57 | int get_des(); |
el19zf | 20:a36ab1560e73 | 58 | /**accessors get col_index |
el19zf | 20:a36ab1560e73 | 59 | *@return game information |
el19zf | 20:a36ab1560e73 | 60 | */ |
el19zf | 20:a36ab1560e73 | 61 | bool get_check_col(); |
el19zf | 13:eb60628db8bf | 62 | |
el19zf | 13:eb60628db8bf | 63 | /**accessors*/ |
el19zf | 8:8287d2ef965d | 64 | void set_pos(Vector2D pos); |
el19zf | 8:8287d2ef965d | 65 | |
el19zf | 6:dce38fe4e092 | 66 | private: |
el19zf | 6:dce38fe4e092 | 67 | |
el19zf | 8:8287d2ef965d | 68 | int _health; |
el19zf | 20:a36ab1560e73 | 69 | int _check_col_index; |
el19zf | 11:494cc44777fe | 70 | int _check_des_index; |
el19zf | 8:8287d2ef965d | 71 | |
el19zf | 8:8287d2ef965d | 72 | Vector2D _people_pos;//starting coordinate |
el19zf | 6:dce38fe4e092 | 73 | |
el19zf | 6:dce38fe4e092 | 74 | }; |
el19zf | 6:dce38fe4e092 | 75 | #endif |
el19zf | 6:dce38fe4e092 | 76 | |
el19zf | 6:dce38fe4e092 | 77 | |
el19zf | 6:dce38fe4e092 | 78 | |
el19zf | 6:dce38fe4e092 | 79 | |
el19zf | 6:dce38fe4e092 | 80 |