ELEC2645 (2018/19) / Mbed 2 deprecated el17zl

Dependencies:   mbed

Fork of el17zl by Zhenwen Liao

Committer:
franklzw
Date:
Mon Apr 22 07:39:26 2019 +0000
Revision:
10:726c1489894e
Parent:
9:1fa7f087051e
Child:
11:f5d0ea7e4b74
with selecting menu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
franklzw 2:9f0d9516a6cd 1 #ifndef PUSHINGENGINE_H
franklzw 2:9f0d9516a6cd 2 #define PUSHINGENGINE_H
franklzw 2:9f0d9516a6cd 3
franklzw 2:9f0d9516a6cd 4 #include "mbed.h"
franklzw 2:9f0d9516a6cd 5 #include "N5110.h"
franklzw 2:9f0d9516a6cd 6 #include "Gamepad.h"
franklzw 2:9f0d9516a6cd 7 #include "Ppl.h"
franklzw 2:9f0d9516a6cd 8 #include "Box.h"
franklzw 8:83891ea9a5d9 9 #include "Cross.h"
franklzw 10:726c1489894e 10 #include "Menu.h"
franklzw 8:83891ea9a5d9 11
franklzw 2:9f0d9516a6cd 12
franklzw 2:9f0d9516a6cd 13
franklzw 2:9f0d9516a6cd 14
franklzw 9:1fa7f087051e 15
franklzw 2:9f0d9516a6cd 16 class PushingEngine
franklzw 2:9f0d9516a6cd 17 {
franklzw 2:9f0d9516a6cd 18
franklzw 2:9f0d9516a6cd 19 public:
franklzw 2:9f0d9516a6cd 20 PushingEngine();
franklzw 2:9f0d9516a6cd 21 ~PushingEngine();
franklzw 2:9f0d9516a6cd 22
franklzw 8:83891ea9a5d9 23 void init(int box1_x,int box1_y,int box2_x,int box2_y,int ppl_x,int ppl_y,
franklzw 10:726c1489894e 24 int cross1_x,int cross1_y,int cross2_x,int cross2_y,int menu_x,int menu_y);
franklzw 2:9f0d9516a6cd 25 void read_input(Gamepad &pad);
franklzw 6:6b083e22cb53 26 void update(Gamepad &pad,int barrier_x,int barrier_y);
franklzw 6:6b083e22cb53 27 void draw(N5110 &lcd,int barrier_x,int barrier_y);
franklzw 9:1fa7f087051e 28 int set_score();
franklzw 10:726c1489894e 29 Vector2D print_menu(N5110 &lcd,Gamepad &pad);
franklzw 6:6b083e22cb53 30
franklzw 2:9f0d9516a6cd 31
franklzw 2:9f0d9516a6cd 32 private:
franklzw 2:9f0d9516a6cd 33
franklzw 4:750d3f9b54de 34 void check_ppl_box1_touching(Gamepad &pad);
franklzw 4:750d3f9b54de 35 void check_ppl_box2_touching(Gamepad &pad);
franklzw 6:6b083e22cb53 36 void hold_ppl_box1_wall(Gamepad &pad);
franklzw 6:6b083e22cb53 37 void hold_ppl_box2_wall(Gamepad &pad);
franklzw 7:6f8aeadc4370 38 bool ppl_cover_box(Gamepad &pad);
franklzw 8:83891ea9a5d9 39 void box_cover_cross1_score(Gamepad &pad);
franklzw 8:83891ea9a5d9 40 void box_cover_cross2_score(Gamepad &pad);
franklzw 2:9f0d9516a6cd 41
franklzw 2:9f0d9516a6cd 42 Box _b1;
franklzw 2:9f0d9516a6cd 43 Box _b2;
franklzw 2:9f0d9516a6cd 44
franklzw 2:9f0d9516a6cd 45 // positions of the Boxes
franklzw 2:9f0d9516a6cd 46 int _b1x;
franklzw 2:9f0d9516a6cd 47 int _b2x;
franklzw 2:9f0d9516a6cd 48 int _b1y;
franklzw 2:9f0d9516a6cd 49 int _b2y;
franklzw 2:9f0d9516a6cd 50
franklzw 2:9f0d9516a6cd 51 Ppl _ppl;
franklzw 2:9f0d9516a6cd 52
franklzw 2:9f0d9516a6cd 53 // poitions of the ppl
franklzw 2:9f0d9516a6cd 54 int _pplx;
franklzw 2:9f0d9516a6cd 55 int _pply;
franklzw 5:b50ce6160013 56
franklzw 8:83891ea9a5d9 57 Cross _c1;
franklzw 8:83891ea9a5d9 58 Cross _c2;
franklzw 8:83891ea9a5d9 59
franklzw 8:83891ea9a5d9 60 // position of the crosses
franklzw 8:83891ea9a5d9 61 int _c1x;
franklzw 8:83891ea9a5d9 62 int _c2x;
franklzw 8:83891ea9a5d9 63 int _c1y;
franklzw 8:83891ea9a5d9 64 int _c2y;
franklzw 8:83891ea9a5d9 65
franklzw 10:726c1489894e 66 Menu _menu;
franklzw 10:726c1489894e 67
franklzw 5:b50ce6160013 68 //reading of bottom
franklzw 5:b50ce6160013 69 int _bb;
franklzw 5:b50ce6160013 70 int _bx;
franklzw 5:b50ce6160013 71 int _by;
franklzw 5:b50ce6160013 72 int _ba;
franklzw 5:b50ce6160013 73 int _bjoy;
franklzw 10:726c1489894e 74 int _bj;
franklzw 10:726c1489894e 75
franklzw 2:9f0d9516a6cd 76
franklzw 5:b50ce6160013 77 //parameter for touching
franklzw 5:b50ce6160013 78 int _s; //ppl with b1
franklzw 5:b50ce6160013 79 int _r; //ppl with b2
franklzw 6:6b083e22cb53 80 int _temp;
franklzw 8:83891ea9a5d9 81 int _score;
franklzw 2:9f0d9516a6cd 82
franklzw 2:9f0d9516a6cd 83 };
franklzw 2:9f0d9516a6cd 84
franklzw 2:9f0d9516a6cd 85 #endif