Zeyu Feng 201377605

Dependencies:   mbed

On Minerva

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?

UserRevisionLine numberNew 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