ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19zf

Dependencies:   mbed

Committer:
el19zf
Date:
Tue Apr 28 15:54:41 2020 +0000
Revision:
6:dce38fe4e092
Parent:
5:6774b7272e85
Child:
7:c49f3d3b672f
add ticker to increase shots along with time

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 6:dce38fe4e092 8 #include <time.h>
el19zf 6:dce38fe4e092 9 #include <stdlib.h>
el19zf 4:b12a49f0b730 10
el19zf 4:b12a49f0b730 11 /** shot class
el19zf 4:b12a49f0b730 12 @set several kinds of shot and come from all around
el19zf 4:b12a49f0b730 13 @author Zeyu Feng
el19zf 4:b12a49f0b730 14 @13 April 2020
el19zf 4:b12a49f0b730 15 */
el19zf 6:dce38fe4e092 16
el19zf 6:dce38fe4e092 17
el19zf 6:dce38fe4e092 18
el19zf 6:dce38fe4e092 19
el19zf 5:6774b7272e85 20 struct shot_posandtype{
el19zf 5:6774b7272e85 21 int x;
el19zf 5:6774b7272e85 22 int y;
el19zf 5:6774b7272e85 23 int type;
el19zf 5:6774b7272e85 24 int dir;
el19zf 5:6774b7272e85 25 };
el19zf 4:b12a49f0b730 26
el19zf 4:b12a49f0b730 27 class shot {
el19zf 4:b12a49f0b730 28
el19zf 4:b12a49f0b730 29 public:
el19zf 4:b12a49f0b730 30 //constructor
el19zf 4:b12a49f0b730 31 shot();
el19zf 4:b12a49f0b730 32 //destructor
el19zf 4:b12a49f0b730 33 ~shot();
el19zf 4:b12a49f0b730 34
el19zf 6:dce38fe4e092 35 void init();
el19zf 4:b12a49f0b730 36
el19zf 6:dce38fe4e092 37 void init_pos(shot_posandtype* i);
el19zf 6:dce38fe4e092 38
el19zf 6:dce38fe4e092 39 //int rand_dir();random direction of shot
el19zf 4:b12a49f0b730 40
el19zf 4:b12a49f0b730 41 int rand_type();//give a random number from 0 - 3
el19zf 4:b12a49f0b730 42
el19zf 4:b12a49f0b730 43 void gen_shot();//3 types direction
el19zf 4:b12a49f0b730 44
el19zf 6:dce38fe4e092 45 void update();
el19zf 6:dce38fe4e092 46
el19zf 6:dce38fe4e092 47
el19zf 4:b12a49f0b730 48
el19zf 4:b12a49f0b730 49 void draw(N5110 &lcd);
el19zf 4:b12a49f0b730 50
el19zf 6:dce38fe4e092 51 void delete_shot();
el19zf 6:dce38fe4e092 52
el19zf 6:dce38fe4e092 53 int _size;
el19zf 4:b12a49f0b730 54
el19zf 4:b12a49f0b730 55 private:
el19zf 4:b12a49f0b730 56
el19zf 5:6774b7272e85 57 std::vector<shot_posandtype> _p;
el19zf 4:b12a49f0b730 58
el19zf 4:b12a49f0b730 59
el19zf 4:b12a49f0b730 60 };
el19zf 4:b12a49f0b730 61 #endif
el19zf 4:b12a49f0b730 62
el19zf 4:b12a49f0b730 63
el19zf 4:b12a49f0b730 64
el19zf 4:b12a49f0b730 65