ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19zf

Dependencies:   mbed

Committer:
el19zf
Date:
Tue Apr 14 06:39:11 2020 +0000
Revision:
5:6774b7272e85
Parent:
4:b12a49f0b730
Child:
6:dce38fe4e092
update the direction of shots

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el19zf 4:b12a49f0b730 1 #ifndef SHOT_H
el19zf 4:b12a49f0b730 2 #define SHOT_H
el19zf 4:b12a49f0b730 3
el19zf 4:b12a49f0b730 4 #include "mbed.h"
el19zf 4:b12a49f0b730 5 #include "Gamepad.h"
el19zf 4:b12a49f0b730 6 #include "N5110.h"
el19zf 4:b12a49f0b730 7 #include <vector>
el19zf 4:b12a49f0b730 8
el19zf 4:b12a49f0b730 9 /** shot class
el19zf 4:b12a49f0b730 10 @set several kinds of shot and come from all around
el19zf 4:b12a49f0b730 11 @author Zeyu Feng
el19zf 4:b12a49f0b730 12 @13 April 2020
el19zf 4:b12a49f0b730 13 */
el19zf 5:6774b7272e85 14 struct shot_posandtype{
el19zf 5:6774b7272e85 15 int x;
el19zf 5:6774b7272e85 16 int y;
el19zf 5:6774b7272e85 17 int type;
el19zf 5:6774b7272e85 18 int dir;
el19zf 5:6774b7272e85 19 };
el19zf 4:b12a49f0b730 20
el19zf 4:b12a49f0b730 21 class shot {
el19zf 4:b12a49f0b730 22
el19zf 4:b12a49f0b730 23 public:
el19zf 4:b12a49f0b730 24 //constructor
el19zf 4:b12a49f0b730 25 shot();
el19zf 4:b12a49f0b730 26 //destructor
el19zf 4:b12a49f0b730 27 ~shot();
el19zf 4:b12a49f0b730 28
el19zf 5:6774b7272e85 29 void init(N5110 &lcd);
el19zf 4:b12a49f0b730 30
el19zf 4:b12a49f0b730 31 int rand_dir();//random direction of shot
el19zf 4:b12a49f0b730 32
el19zf 4:b12a49f0b730 33 int rand_type();//give a random number from 0 - 3
el19zf 4:b12a49f0b730 34
el19zf 4:b12a49f0b730 35 void gen_shot();//3 types direction
el19zf 4:b12a49f0b730 36
el19zf 5:6774b7272e85 37 void update(N5110 &lcd);
el19zf 4:b12a49f0b730 38
el19zf 4:b12a49f0b730 39 void draw(N5110 &lcd);
el19zf 4:b12a49f0b730 40
el19zf 4:b12a49f0b730 41
el19zf 4:b12a49f0b730 42 private:
el19zf 4:b12a49f0b730 43
el19zf 5:6774b7272e85 44 std::vector<shot_posandtype> _p;
el19zf 4:b12a49f0b730 45
el19zf 4:b12a49f0b730 46
el19zf 4:b12a49f0b730 47
el19zf 4:b12a49f0b730 48 };
el19zf 4:b12a49f0b730 49 #endif
el19zf 4:b12a49f0b730 50
el19zf 4:b12a49f0b730 51
el19zf 4:b12a49f0b730 52
el19zf 4:b12a49f0b730 53