Library containing the Game Engine

Committer:
ll14c4p
Date:
Wed May 03 15:51:10 2017 +0000
Revision:
10:df8ea4e747e2
Parent:
9:0f359bc0922f
Child:
11:832eb031310b
Added Health Bar calculations to existing functions

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ll14c4p 0:5997fa876927 1 #include "GameEngine.h"
ll14c4p 0:5997fa876927 2
ll14c4p 0:5997fa876927 3 GameEngine::GameEngine()
ll14c4p 0:5997fa876927 4 {
ll14c4p 0:5997fa876927 5
ll14c4p 0:5997fa876927 6 }
ll14c4p 0:5997fa876927 7
ll14c4p 0:5997fa876927 8 GameEngine::~GameEngine()
ll14c4p 0:5997fa876927 9 {
ll14c4p 0:5997fa876927 10
ll14c4p 0:5997fa876927 11 }
ll14c4p 0:5997fa876927 12
ll14c4p 0:5997fa876927 13 void GameEngine::init()
ll14c4p 0:5997fa876927 14 {
ll14c4p 10:df8ea4e747e2 15 int HP = 8;
ll14c4p 10:df8ea4e747e2 16 _hb.init(HP);
ll14c4p 0:5997fa876927 17
ll14c4p 0:5997fa876927 18 }
ll14c4p 0:5997fa876927 19
ll14c4p 0:5997fa876927 20
ll14c4p 0:5997fa876927 21
ll14c4p 0:5997fa876927 22 void GameEngine::read_input(Gamepad &pad)
ll14c4p 0:5997fa876927 23 {
ll14c4p 0:5997fa876927 24 _d = pad.get_direction();
ll14c4p 0:5997fa876927 25 _mag = pad.get_mag();
ll14c4p 0:5997fa876927 26 }
ll14c4p 0:5997fa876927 27
ll14c4p 8:bd718162a87c 28 void GameEngine::draw(N5110 &lcd, Gamepad &pad)
ll14c4p 0:5997fa876927 29 {
ll14c4p 0:5997fa876927 30 _p.draw(lcd);
ll14c4p 8:bd718162a87c 31 /*while ( pad.check_event(Gamepad::A_PRESSED) == true) {
ll14c4p 8:bd718162a87c 32 _proj.draw(lcd);
ll14c4p 8:bd718162a87c 33 }*/
ll14c4p 3:2f8f003ce4fd 34 _proj.draw(lcd);
ll14c4p 6:c710fbc0f48e 35 _t.draw(lcd);
ll14c4p 8:bd718162a87c 36 _tt.draw(lcd);
ll14c4p 8:bd718162a87c 37 _ttt.draw(lcd);
ll14c4p 10:df8ea4e747e2 38 _hb.draw(lcd);
ll14c4p 10:df8ea4e747e2 39
ll14c4p 0:5997fa876927 40 }
ll14c4p 0:5997fa876927 41
ll14c4p 3:2f8f003ce4fd 42
ll14c4p 0:5997fa876927 43 void GameEngine::update(Gamepad &pad)
ll14c4p 0:5997fa876927 44 {
ll14c4p 0:5997fa876927 45 _p.update(_d,_mag);
ll14c4p 3:2f8f003ce4fd 46 _proj.update();
ll14c4p 6:c710fbc0f48e 47 _t.update();
ll14c4p 8:bd718162a87c 48 _tt.update();
ll14c4p 8:bd718162a87c 49 _ttt.update();
ll14c4p 7:cf6304ef44fd 50 CheckProjTargetCollision(pad);
ll14c4p 8:bd718162a87c 51 CheckPlayerTargetCollision(pad);
ll14c4p 10:df8ea4e747e2 52 CheckTargetFloorCollision(pad);
ll14c4p 10:df8ea4e747e2 53 _hb.update();
ll14c4p 10:df8ea4e747e2 54
ll14c4p 0:5997fa876927 55 }
ll14c4p 1:13a97de95e46 56
ll14c4p 1:13a97de95e46 57 void GameEngine::get_pos()
ll14c4p 1:13a97de95e46 58 {
ll14c4p 1:13a97de95e46 59 Vector2D player_pos = _p.get_pos();
ll14c4p 5:6224122fc07c 60 //printf("player pos = %f %f \n", player_pos.x, player_pos.y); //top left of player sprite
ll14c4p 4:e78f5bcddb01 61 // 81.000000 0.000000 top right
ll14c4p 4:e78f5bcddb01 62 // 0.000000 0.000000 is top left
ll14c4p 4:e78f5bcddb01 63 // 81.000000 45.000000 bottom right
ll14c4p 4:e78f5bcddb01 64 Vector2D proj_pos = _proj.get_pos();
ll14c4p 5:6224122fc07c 65 //printf("proj pos = %f %f \n", proj_pos.x, proj_pos.y);
ll14c4p 5:6224122fc07c 66
ll14c4p 5:6224122fc07c 67 playerx = player_pos.x;
ll14c4p 5:6224122fc07c 68 playery = player_pos.y;
ll14c4p 7:cf6304ef44fd 69 //printf("playerxy in GAME = %d %d \n", playerx, playery);
ll14c4p 5:6224122fc07c 70 _proj.init(playerx,playery);
ll14c4p 1:13a97de95e46 71
ll14c4p 7:cf6304ef44fd 72 }
ll14c4p 7:cf6304ef44fd 73
ll14c4p 10:df8ea4e747e2 74
ll14c4p 10:df8ea4e747e2 75 /////////////////////////////////////////////
ll14c4p 10:df8ea4e747e2 76 /////////////////////////////////////////////
ll14c4p 10:df8ea4e747e2 77 /////////////////////////////////////////////
ll14c4p 10:df8ea4e747e2 78
ll14c4p 10:df8ea4e747e2 79 void GameEngine::CheckTargetFloorCollision(Gamepad &pad)
ll14c4p 10:df8ea4e747e2 80 {
ll14c4p 10:df8ea4e747e2 81 Vector2D t_pos = _t.get_pos();
ll14c4p 10:df8ea4e747e2 82 Vector2D tt_pos = _tt.get_pos();
ll14c4p 10:df8ea4e747e2 83 Vector2D ttt_pos = _ttt.get_pos();
ll14c4p 10:df8ea4e747e2 84
ll14c4p 10:df8ea4e747e2 85 //printf("%f t_pos \n", t_pos.y);
ll14c4p 10:df8ea4e747e2 86 //printf("%f tt_pos \n", tt_pos.y);
ll14c4p 10:df8ea4e747e2 87 //printf("%f ttt_pos \n", ttt_pos.y);
ll14c4p 10:df8ea4e747e2 88
ll14c4p 10:df8ea4e747e2 89 if(t_pos.y == 47){
ll14c4p 10:df8ea4e747e2 90 printf("t floor \n");
ll14c4p 10:df8ea4e747e2 91 HPLost2 = HPLost2 - 1;
ll14c4p 10:df8ea4e747e2 92 }
ll14c4p 10:df8ea4e747e2 93 if(tt_pos.y == 47){
ll14c4p 10:df8ea4e747e2 94 printf("tt floor \n");
ll14c4p 10:df8ea4e747e2 95 HPLost2 = HPLost2 - 1;
ll14c4p 10:df8ea4e747e2 96 }
ll14c4p 10:df8ea4e747e2 97 if(ttt_pos.y == 47){
ll14c4p 10:df8ea4e747e2 98 printf("ttt floor \n");
ll14c4p 10:df8ea4e747e2 99 HPLost2 = HPLost2 - 1;
ll14c4p 10:df8ea4e747e2 100 }
ll14c4p 10:df8ea4e747e2 101
ll14c4p 10:df8ea4e747e2 102 printf("%d HP \n", HPLost2);
ll14c4p 10:df8ea4e747e2 103
ll14c4p 10:df8ea4e747e2 104 _hb.MinusHP2(HPLost2);
ll14c4p 10:df8ea4e747e2 105
ll14c4p 10:df8ea4e747e2 106 }
ll14c4p 10:df8ea4e747e2 107 /////////////////////////////////////////////
ll14c4p 10:df8ea4e747e2 108 /////////////////////////////////////////////
ll14c4p 10:df8ea4e747e2 109 /////////////////////////////////////////////
ll14c4p 10:df8ea4e747e2 110
ll14c4p 10:df8ea4e747e2 111
ll14c4p 10:df8ea4e747e2 112
ll14c4p 10:df8ea4e747e2 113
ll14c4p 6:c710fbc0f48e 114
ll14c4p 6:c710fbc0f48e 115
ll14c4p 7:cf6304ef44fd 116 void GameEngine::CheckProjTargetCollision(Gamepad &pad)
ll14c4p 7:cf6304ef44fd 117 {
ll14c4p 10:df8ea4e747e2 118
ll14c4p 7:cf6304ef44fd 119 Vector2D proj_pos = _proj.get_pos();
ll14c4p 7:cf6304ef44fd 120 Vector2D t_pos = _t.get_pos();
ll14c4p 8:bd718162a87c 121 Vector2D tt_pos = _tt.get_pos();
ll14c4p 8:bd718162a87c 122 Vector2D ttt_pos = _ttt.get_pos();
ll14c4p 8:bd718162a87c 123
ll14c4p 7:cf6304ef44fd 124 Vector2D player_pos = _p.get_pos();
ll14c4p 8:bd718162a87c 125
ll14c4p 7:cf6304ef44fd 126 // printf("proj %f %f \n", proj_pos.x, proj_pos.y);
ll14c4p 7:cf6304ef44fd 127 //printf("targ %f %f \n", t_pos.x, t_pos.y);
ll14c4p 7:cf6304ef44fd 128
ll14c4p 7:cf6304ef44fd 129 if (
ll14c4p 7:cf6304ef44fd 130 ((proj_pos.y == t_pos.y) ||
ll14c4p 7:cf6304ef44fd 131 (proj_pos.y == t_pos.y + 1) ||
ll14c4p 7:cf6304ef44fd 132 (proj_pos.y == t_pos.y + 2) ||
ll14c4p 7:cf6304ef44fd 133 (proj_pos.y == t_pos.y + 3) ||
ll14c4p 8:bd718162a87c 134 (proj_pos.y == t_pos.y + 4) ||
ll14c4p 8:bd718162a87c 135 (proj_pos.y == t_pos.y + 5) ||
ll14c4p 8:bd718162a87c 136 (proj_pos.y == t_pos.y + 6) ||
ll14c4p 8:bd718162a87c 137 (proj_pos.y == t_pos.y + 7) ||
ll14c4p 8:bd718162a87c 138 (proj_pos.y + 1 == t_pos.y) ||
ll14c4p 8:bd718162a87c 139 (proj_pos.y + 1 == t_pos.y + 1) ||
ll14c4p 8:bd718162a87c 140 (proj_pos.y + 1 == t_pos.y + 2) ||
ll14c4p 8:bd718162a87c 141 (proj_pos.y + 1 == t_pos.y + 3) ||
ll14c4p 8:bd718162a87c 142 (proj_pos.y + 1 == t_pos.y + 4) ||
ll14c4p 8:bd718162a87c 143 (proj_pos.y + 1 == t_pos.y + 5) ||
ll14c4p 8:bd718162a87c 144 (proj_pos.y + 1 == t_pos.y + 6) ||
ll14c4p 8:bd718162a87c 145 (proj_pos.y + 1 == t_pos.y + 7)) &&
ll14c4p 7:cf6304ef44fd 146 ((proj_pos.x == t_pos.x) ||
ll14c4p 7:cf6304ef44fd 147 (proj_pos.x == t_pos.x + 1) ||
ll14c4p 7:cf6304ef44fd 148 (proj_pos.x == t_pos.x + 2) ||
ll14c4p 7:cf6304ef44fd 149 (proj_pos.x == t_pos.x + 3) ||
ll14c4p 8:bd718162a87c 150 (proj_pos.x == t_pos.x + 4) ||
ll14c4p 8:bd718162a87c 151 (proj_pos.x == t_pos.x + 5) ||
ll14c4p 8:bd718162a87c 152 (proj_pos.x == t_pos.x + 6) ||
ll14c4p 8:bd718162a87c 153 (proj_pos.x == t_pos.x + 7) ||
ll14c4p 8:bd718162a87c 154 (proj_pos.x + 1 == t_pos.x) ||
ll14c4p 8:bd718162a87c 155 (proj_pos.x + 1 == t_pos.x + 1) ||
ll14c4p 8:bd718162a87c 156 (proj_pos.x + 1 == t_pos.x + 2) ||
ll14c4p 8:bd718162a87c 157 (proj_pos.x + 1 == t_pos.x + 3) ||
ll14c4p 8:bd718162a87c 158 (proj_pos.x + 1 == t_pos.x + 4) ||
ll14c4p 8:bd718162a87c 159 (proj_pos.x + 1 == t_pos.x + 5) ||
ll14c4p 8:bd718162a87c 160 (proj_pos.x + 1 == t_pos.x + 6) ||
ll14c4p 8:bd718162a87c 161 (proj_pos.x + 1 == t_pos.x + 7) ||
ll14c4p 8:bd718162a87c 162 (proj_pos.x + 1 == t_pos.x + 8) ||
ll14c4p 8:bd718162a87c 163 (proj_pos.x + 1 == t_pos.x + 9) ||
ll14c4p 8:bd718162a87c 164 (proj_pos.x + 1 == t_pos.x + 10))
ll14c4p 7:cf6304ef44fd 165 ) {
ll14c4p 7:cf6304ef44fd 166
ll14c4p 8:bd718162a87c 167 //printf("projtarget working \n");
ll14c4p 8:bd718162a87c 168 proj_pos.x = player_pos.x +2;
ll14c4p 8:bd718162a87c 169 proj_pos.y = player_pos.y;
ll14c4p 7:cf6304ef44fd 170 t_pos.x = rand() % 79;
ll14c4p 7:cf6304ef44fd 171 t_pos.y = 0;
ll14c4p 7:cf6304ef44fd 172 // audio feedback
ll14c4p 7:cf6304ef44fd 173 //pad.tone(1000.0,0.1);
ll14c4p 7:cf6304ef44fd 174 }
ll14c4p 8:bd718162a87c 175
ll14c4p 8:bd718162a87c 176 if (
ll14c4p 8:bd718162a87c 177 ((proj_pos.y == tt_pos.y) ||
ll14c4p 8:bd718162a87c 178 (proj_pos.y == tt_pos.y + 1) ||
ll14c4p 8:bd718162a87c 179 (proj_pos.y == tt_pos.y + 2) ||
ll14c4p 8:bd718162a87c 180 (proj_pos.y == tt_pos.y + 3) ||
ll14c4p 8:bd718162a87c 181 (proj_pos.y == tt_pos.y + 4) ||
ll14c4p 8:bd718162a87c 182 (proj_pos.y == tt_pos.y + 5) ||
ll14c4p 8:bd718162a87c 183 (proj_pos.y == tt_pos.y + 6) ||
ll14c4p 8:bd718162a87c 184 (proj_pos.y == tt_pos.y + 7) ||
ll14c4p 8:bd718162a87c 185 (proj_pos.y + 1 == tt_pos.y) ||
ll14c4p 8:bd718162a87c 186 (proj_pos.y + 1 == tt_pos.y + 1) ||
ll14c4p 8:bd718162a87c 187 (proj_pos.y + 1 == tt_pos.y + 2) ||
ll14c4p 8:bd718162a87c 188 (proj_pos.y + 1 == tt_pos.y + 3) ||
ll14c4p 8:bd718162a87c 189 (proj_pos.y + 1 == tt_pos.y + 4) ||
ll14c4p 8:bd718162a87c 190 (proj_pos.y + 1 == tt_pos.y + 5) ||
ll14c4p 8:bd718162a87c 191 (proj_pos.y + 1 == tt_pos.y + 6) ||
ll14c4p 8:bd718162a87c 192 (proj_pos.y + 1 == tt_pos.y + 7)) &&
ll14c4p 8:bd718162a87c 193 ((proj_pos.x == tt_pos.x) ||
ll14c4p 8:bd718162a87c 194 (proj_pos.x == tt_pos.x + 1) ||
ll14c4p 8:bd718162a87c 195 (proj_pos.x == tt_pos.x + 2) ||
ll14c4p 8:bd718162a87c 196 (proj_pos.x == tt_pos.x + 3) ||
ll14c4p 8:bd718162a87c 197 (proj_pos.x == tt_pos.x + 4) ||
ll14c4p 8:bd718162a87c 198 (proj_pos.x == tt_pos.x + 5) ||
ll14c4p 8:bd718162a87c 199 (proj_pos.x == tt_pos.x + 6) ||
ll14c4p 8:bd718162a87c 200 (proj_pos.x == tt_pos.x + 7) ||
ll14c4p 8:bd718162a87c 201 (proj_pos.x + 1 == tt_pos.x) ||
ll14c4p 8:bd718162a87c 202 (proj_pos.x + 1 == tt_pos.x + 1) ||
ll14c4p 8:bd718162a87c 203 (proj_pos.x + 1 == tt_pos.x + 2) ||
ll14c4p 8:bd718162a87c 204 (proj_pos.x + 1 == tt_pos.x + 3) ||
ll14c4p 8:bd718162a87c 205 (proj_pos.x + 1 == tt_pos.x + 4) ||
ll14c4p 8:bd718162a87c 206 (proj_pos.x + 1 == tt_pos.x + 5) ||
ll14c4p 8:bd718162a87c 207 (proj_pos.x + 1 == tt_pos.x + 6) ||
ll14c4p 8:bd718162a87c 208 (proj_pos.x + 1 == tt_pos.x + 7) ||
ll14c4p 8:bd718162a87c 209 (proj_pos.x + 1 == tt_pos.x + 8) ||
ll14c4p 8:bd718162a87c 210 (proj_pos.x + 1 == tt_pos.x + 9) ||
ll14c4p 8:bd718162a87c 211 (proj_pos.x + 1 == tt_pos.x + 10))
ll14c4p 8:bd718162a87c 212 ) {
ll14c4p 8:bd718162a87c 213
ll14c4p 8:bd718162a87c 214 //printf("projtarget working \n");
ll14c4p 8:bd718162a87c 215 proj_pos.x = player_pos.x +2;
ll14c4p 8:bd718162a87c 216 proj_pos.y = player_pos.y;
ll14c4p 8:bd718162a87c 217 tt_pos.x = rand() % 79;
ll14c4p 8:bd718162a87c 218 tt_pos.y = 0;
ll14c4p 8:bd718162a87c 219 // audio feedback
ll14c4p 8:bd718162a87c 220 //pad.tone(1000.0,0.1);
ll14c4p 8:bd718162a87c 221 }
ll14c4p 8:bd718162a87c 222
ll14c4p 8:bd718162a87c 223 if (
ll14c4p 8:bd718162a87c 224 ((proj_pos.y == ttt_pos.y) ||
ll14c4p 8:bd718162a87c 225 (proj_pos.y == ttt_pos.y + 1) ||
ll14c4p 8:bd718162a87c 226 (proj_pos.y == ttt_pos.y + 2) ||
ll14c4p 8:bd718162a87c 227 (proj_pos.y == ttt_pos.y + 3) ||
ll14c4p 8:bd718162a87c 228 (proj_pos.y == ttt_pos.y + 4) ||
ll14c4p 8:bd718162a87c 229 (proj_pos.y == ttt_pos.y + 5) ||
ll14c4p 8:bd718162a87c 230 (proj_pos.y == ttt_pos.y + 6) ||
ll14c4p 8:bd718162a87c 231 (proj_pos.y == ttt_pos.y + 7) ||
ll14c4p 8:bd718162a87c 232 (proj_pos.y + 1 == ttt_pos.y) ||
ll14c4p 8:bd718162a87c 233 (proj_pos.y + 1 == ttt_pos.y + 1) ||
ll14c4p 8:bd718162a87c 234 (proj_pos.y + 1 == ttt_pos.y + 2) ||
ll14c4p 8:bd718162a87c 235 (proj_pos.y + 1 == ttt_pos.y + 3) ||
ll14c4p 8:bd718162a87c 236 (proj_pos.y + 1 == ttt_pos.y + 4) ||
ll14c4p 8:bd718162a87c 237 (proj_pos.y + 1 == ttt_pos.y + 5) ||
ll14c4p 8:bd718162a87c 238 (proj_pos.y + 1 == ttt_pos.y + 6) ||
ll14c4p 8:bd718162a87c 239 (proj_pos.y + 1 == ttt_pos.y + 7)) &&
ll14c4p 8:bd718162a87c 240 ((proj_pos.x == ttt_pos.x) ||
ll14c4p 8:bd718162a87c 241 (proj_pos.x == ttt_pos.x + 1) ||
ll14c4p 8:bd718162a87c 242 (proj_pos.x == ttt_pos.x + 2) ||
ll14c4p 8:bd718162a87c 243 (proj_pos.x == ttt_pos.x + 3) ||
ll14c4p 8:bd718162a87c 244 (proj_pos.x == ttt_pos.x + 4) ||
ll14c4p 8:bd718162a87c 245 (proj_pos.x == ttt_pos.x + 5) ||
ll14c4p 8:bd718162a87c 246 (proj_pos.x == ttt_pos.x + 6) ||
ll14c4p 8:bd718162a87c 247 (proj_pos.x == ttt_pos.x + 7) ||
ll14c4p 8:bd718162a87c 248 (proj_pos.x + 1 == ttt_pos.x) ||
ll14c4p 8:bd718162a87c 249 (proj_pos.x + 1 == ttt_pos.x + 1) ||
ll14c4p 8:bd718162a87c 250 (proj_pos.x + 1 == ttt_pos.x + 2) ||
ll14c4p 8:bd718162a87c 251 (proj_pos.x + 1 == ttt_pos.x + 3) ||
ll14c4p 8:bd718162a87c 252 (proj_pos.x + 1 == ttt_pos.x + 4) ||
ll14c4p 8:bd718162a87c 253 (proj_pos.x + 1 == ttt_pos.x + 5) ||
ll14c4p 8:bd718162a87c 254 (proj_pos.x + 1 == ttt_pos.x + 6) ||
ll14c4p 8:bd718162a87c 255 (proj_pos.x + 1 == ttt_pos.x + 7) ||
ll14c4p 8:bd718162a87c 256 (proj_pos.x + 1 == ttt_pos.x + 8) ||
ll14c4p 8:bd718162a87c 257 (proj_pos.x + 1 == ttt_pos.x + 9) ||
ll14c4p 8:bd718162a87c 258 (proj_pos.x + 1 == ttt_pos.x + 10))
ll14c4p 8:bd718162a87c 259 ) {
ll14c4p 8:bd718162a87c 260
ll14c4p 8:bd718162a87c 261 //printf("projtarget working \n");
ll14c4p 8:bd718162a87c 262 proj_pos.x = player_pos.x +2;
ll14c4p 8:bd718162a87c 263 proj_pos.y = player_pos.y;
ll14c4p 8:bd718162a87c 264 ttt_pos.x = rand() % 79;
ll14c4p 8:bd718162a87c 265 ttt_pos.y = 0;
ll14c4p 8:bd718162a87c 266 // audio feedback
ll14c4p 8:bd718162a87c 267 //pad.tone(1000.0,0.1);
ll14c4p 8:bd718162a87c 268 }
ll14c4p 8:bd718162a87c 269
ll14c4p 7:cf6304ef44fd 270
ll14c4p 7:cf6304ef44fd 271 _proj.set_pos(proj_pos);
ll14c4p 7:cf6304ef44fd 272 _t.set_pos(t_pos);
ll14c4p 8:bd718162a87c 273 _tt.set_pos(tt_pos);
ll14c4p 8:bd718162a87c 274 _ttt.set_pos(ttt_pos);
ll14c4p 8:bd718162a87c 275
ll14c4p 7:cf6304ef44fd 276
ll14c4p 7:cf6304ef44fd 277 }
ll14c4p 7:cf6304ef44fd 278
ll14c4p 7:cf6304ef44fd 279
ll14c4p 10:df8ea4e747e2 280 /////////////////////////////////////////////
ll14c4p 10:df8ea4e747e2 281 /////////////////////////////////////////////
ll14c4p 10:df8ea4e747e2 282 /////////////////////////////////////////////
ll14c4p 7:cf6304ef44fd 283
ll14c4p 7:cf6304ef44fd 284
ll14c4p 8:bd718162a87c 285 void GameEngine::CheckPlayerTargetCollision(Gamepad &pad)
ll14c4p 8:bd718162a87c 286 {
ll14c4p 10:df8ea4e747e2 287
ll14c4p 10:df8ea4e747e2 288
ll14c4p 10:df8ea4e747e2 289
ll14c4p 8:bd718162a87c 290 Vector2D t_pos = _t.get_pos();
ll14c4p 9:0f359bc0922f 291 Vector2D tt_pos = _tt.get_pos();
ll14c4p 9:0f359bc0922f 292 Vector2D ttt_pos = _ttt.get_pos();
ll14c4p 8:bd718162a87c 293 Vector2D player_pos = _p.get_pos();
ll14c4p 8:bd718162a87c 294
ll14c4p 8:bd718162a87c 295
ll14c4p 8:bd718162a87c 296 if (
ll14c4p 8:bd718162a87c 297 ((player_pos.y == t_pos.y) ||
ll14c4p 8:bd718162a87c 298 (player_pos.y == t_pos.y + 1) ||
ll14c4p 8:bd718162a87c 299 (player_pos.y == t_pos.y + 2) ||
ll14c4p 8:bd718162a87c 300 (player_pos.y == t_pos.y + 3) ||
ll14c4p 8:bd718162a87c 301 (player_pos.y == t_pos.y + 4) ||
ll14c4p 9:0f359bc0922f 302 (player_pos.y == t_pos.y + 5) ||
ll14c4p 9:0f359bc0922f 303 (player_pos.y == t_pos.y + 6) ||
ll14c4p 9:0f359bc0922f 304 (player_pos.y == t_pos.y + 7) ||
ll14c4p 9:0f359bc0922f 305 (player_pos.y + 4 == t_pos.y) ||
ll14c4p 9:0f359bc0922f 306 (player_pos.y + 4 == t_pos.y + 1) ||
ll14c4p 9:0f359bc0922f 307 (player_pos.y + 4 == t_pos.y + 2) ||
ll14c4p 9:0f359bc0922f 308 (player_pos.y + 4 == t_pos.y + 3) ||
ll14c4p 9:0f359bc0922f 309 (player_pos.y + 4 == t_pos.y + 4) ||
ll14c4p 9:0f359bc0922f 310 (player_pos.y + 4 == t_pos.y + 5) ||
ll14c4p 9:0f359bc0922f 311 (player_pos.y + 4 == t_pos.y + 6) ||
ll14c4p 9:0f359bc0922f 312 (player_pos.y + 4 == t_pos.y + 7)) &&
ll14c4p 8:bd718162a87c 313 ((player_pos.x == t_pos.x) ||
ll14c4p 8:bd718162a87c 314 (player_pos.x == t_pos.x + 1) ||
ll14c4p 8:bd718162a87c 315 (player_pos.x == t_pos.x + 2) ||
ll14c4p 8:bd718162a87c 316 (player_pos.x == t_pos.x + 3) ||
ll14c4p 8:bd718162a87c 317 (player_pos.x == t_pos.x + 4) ||
ll14c4p 9:0f359bc0922f 318 (player_pos.x == t_pos.x + 5) ||
ll14c4p 9:0f359bc0922f 319 (player_pos.x == t_pos.x + 6) ||
ll14c4p 9:0f359bc0922f 320 (player_pos.x == t_pos.x + 7) ||
ll14c4p 9:0f359bc0922f 321 (player_pos.x == t_pos.x + 8) ||
ll14c4p 9:0f359bc0922f 322 (player_pos.x == t_pos.x + 9) ||
ll14c4p 9:0f359bc0922f 323 (player_pos.x == t_pos.x + 10) ||
ll14c4p 9:0f359bc0922f 324 (player_pos.x + 5 == t_pos.x) ||
ll14c4p 9:0f359bc0922f 325 (player_pos.x + 5 == t_pos.x + 1) ||
ll14c4p 9:0f359bc0922f 326 (player_pos.x + 5 == t_pos.x + 2) ||
ll14c4p 9:0f359bc0922f 327 (player_pos.x + 5 == t_pos.x + 3) ||
ll14c4p 9:0f359bc0922f 328 (player_pos.x + 5 == t_pos.x + 4) ||
ll14c4p 9:0f359bc0922f 329 (player_pos.x + 5 == t_pos.x + 5) ||
ll14c4p 9:0f359bc0922f 330 (player_pos.x + 5 == t_pos.x + 6) ||
ll14c4p 9:0f359bc0922f 331 (player_pos.x + 5 == t_pos.x + 7) ||
ll14c4p 9:0f359bc0922f 332 (player_pos.x + 5 == t_pos.x + 8) ||
ll14c4p 9:0f359bc0922f 333 (player_pos.x + 5 == t_pos.x + 9) ||
ll14c4p 9:0f359bc0922f 334 (player_pos.x + 5 == t_pos.x + 10))
ll14c4p 8:bd718162a87c 335 ) {
ll14c4p 8:bd718162a87c 336
ll14c4p 10:df8ea4e747e2 337 //printf("collision working3 \n");
ll14c4p 8:bd718162a87c 338 // audio feedback
ll14c4p 8:bd718162a87c 339 //pad.tone(1000.0,0.1);
ll14c4p 8:bd718162a87c 340 t_pos.x = rand() % 79;
ll14c4p 9:0f359bc0922f 341 t_pos.y = 0;
ll14c4p 10:df8ea4e747e2 342
ll14c4p 10:df8ea4e747e2 343 HPLost1 = HPLost1 - 1;
ll14c4p 10:df8ea4e747e2 344
ll14c4p 9:0f359bc0922f 345 }
ll14c4p 9:0f359bc0922f 346
ll14c4p 9:0f359bc0922f 347 if (
ll14c4p 9:0f359bc0922f 348 ((player_pos.y == tt_pos.y) ||
ll14c4p 9:0f359bc0922f 349 (player_pos.y == tt_pos.y + 1) ||
ll14c4p 9:0f359bc0922f 350 (player_pos.y == tt_pos.y + 2) ||
ll14c4p 9:0f359bc0922f 351 (player_pos.y == tt_pos.y + 3) ||
ll14c4p 9:0f359bc0922f 352 (player_pos.y == tt_pos.y + 4) ||
ll14c4p 9:0f359bc0922f 353 (player_pos.y == tt_pos.y + 5) ||
ll14c4p 9:0f359bc0922f 354 (player_pos.y == tt_pos.y + 6) ||
ll14c4p 9:0f359bc0922f 355 (player_pos.y == tt_pos.y + 7) ||
ll14c4p 9:0f359bc0922f 356 (player_pos.y + 4 == tt_pos.y) ||
ll14c4p 9:0f359bc0922f 357 (player_pos.y + 4 == tt_pos.y + 1) ||
ll14c4p 9:0f359bc0922f 358 (player_pos.y + 4 == tt_pos.y + 2) ||
ll14c4p 9:0f359bc0922f 359 (player_pos.y + 4 == tt_pos.y + 3) ||
ll14c4p 9:0f359bc0922f 360 (player_pos.y + 4 == tt_pos.y + 4) ||
ll14c4p 9:0f359bc0922f 361 (player_pos.y + 4 == tt_pos.y + 5) ||
ll14c4p 9:0f359bc0922f 362 (player_pos.y + 4 == tt_pos.y + 6) ||
ll14c4p 9:0f359bc0922f 363 (player_pos.y + 4 == tt_pos.y + 7)) &&
ll14c4p 9:0f359bc0922f 364 ((player_pos.x == tt_pos.x) ||
ll14c4p 9:0f359bc0922f 365 (player_pos.x == tt_pos.x + 1) ||
ll14c4p 9:0f359bc0922f 366 (player_pos.x == tt_pos.x + 2) ||
ll14c4p 9:0f359bc0922f 367 (player_pos.x == tt_pos.x + 3) ||
ll14c4p 9:0f359bc0922f 368 (player_pos.x == tt_pos.x + 4) ||
ll14c4p 9:0f359bc0922f 369 (player_pos.x == tt_pos.x + 5) ||
ll14c4p 9:0f359bc0922f 370 (player_pos.x == tt_pos.x + 6) ||
ll14c4p 9:0f359bc0922f 371 (player_pos.x == tt_pos.x + 7) ||
ll14c4p 9:0f359bc0922f 372 (player_pos.x == tt_pos.x + 8) ||
ll14c4p 9:0f359bc0922f 373 (player_pos.x == tt_pos.x + 9) ||
ll14c4p 9:0f359bc0922f 374 (player_pos.x == tt_pos.x + 10) ||
ll14c4p 9:0f359bc0922f 375 (player_pos.x + 5 == tt_pos.x) ||
ll14c4p 9:0f359bc0922f 376 (player_pos.x + 5 == tt_pos.x + 1) ||
ll14c4p 9:0f359bc0922f 377 (player_pos.x + 5 == tt_pos.x + 2) ||
ll14c4p 9:0f359bc0922f 378 (player_pos.x + 5 == tt_pos.x + 3) ||
ll14c4p 9:0f359bc0922f 379 (player_pos.x + 5 == tt_pos.x + 4) ||
ll14c4p 9:0f359bc0922f 380 (player_pos.x + 5 == tt_pos.x + 5) ||
ll14c4p 9:0f359bc0922f 381 (player_pos.x + 5 == tt_pos.x + 6) ||
ll14c4p 9:0f359bc0922f 382 (player_pos.x + 5 == tt_pos.x + 7) ||
ll14c4p 9:0f359bc0922f 383 (player_pos.x + 5 == tt_pos.x + 8) ||
ll14c4p 9:0f359bc0922f 384 (player_pos.x + 5 == tt_pos.x + 9) ||
ll14c4p 9:0f359bc0922f 385 (player_pos.x + 5 == tt_pos.x + 10))
ll14c4p 9:0f359bc0922f 386 ) {
ll14c4p 8:bd718162a87c 387
ll14c4p 10:df8ea4e747e2 388 //printf("collision working2 \n");
ll14c4p 9:0f359bc0922f 389 // audio feedback
ll14c4p 9:0f359bc0922f 390 //pad.tone(1000.0,0.1);
ll14c4p 9:0f359bc0922f 391 tt_pos.x = rand() % 79;
ll14c4p 9:0f359bc0922f 392 tt_pos.y = 0;
ll14c4p 10:df8ea4e747e2 393
ll14c4p 10:df8ea4e747e2 394 HPLost1 = HPLost1 - 1;
ll14c4p 10:df8ea4e747e2 395
ll14c4p 9:0f359bc0922f 396 }
ll14c4p 9:0f359bc0922f 397
ll14c4p 9:0f359bc0922f 398 if (
ll14c4p 9:0f359bc0922f 399 ((player_pos.y == ttt_pos.y) ||
ll14c4p 9:0f359bc0922f 400 (player_pos.y == ttt_pos.y + 1) ||
ll14c4p 9:0f359bc0922f 401 (player_pos.y == ttt_pos.y + 2) ||
ll14c4p 9:0f359bc0922f 402 (player_pos.y == ttt_pos.y + 3) ||
ll14c4p 9:0f359bc0922f 403 (player_pos.y == ttt_pos.y + 4) ||
ll14c4p 9:0f359bc0922f 404 (player_pos.y == ttt_pos.y + 5) ||
ll14c4p 9:0f359bc0922f 405 (player_pos.y == ttt_pos.y + 6) ||
ll14c4p 9:0f359bc0922f 406 (player_pos.y == ttt_pos.y + 7) ||
ll14c4p 9:0f359bc0922f 407 (player_pos.y + 4 == ttt_pos.y) ||
ll14c4p 9:0f359bc0922f 408 (player_pos.y + 4 == ttt_pos.y + 1) ||
ll14c4p 9:0f359bc0922f 409 (player_pos.y + 4 == ttt_pos.y + 2) ||
ll14c4p 9:0f359bc0922f 410 (player_pos.y + 4 == ttt_pos.y + 3) ||
ll14c4p 9:0f359bc0922f 411 (player_pos.y + 4 == ttt_pos.y + 4) ||
ll14c4p 9:0f359bc0922f 412 (player_pos.y + 4 == ttt_pos.y + 5) ||
ll14c4p 9:0f359bc0922f 413 (player_pos.y + 4 == ttt_pos.y + 6) ||
ll14c4p 9:0f359bc0922f 414 (player_pos.y + 4 == ttt_pos.y + 7)) &&
ll14c4p 9:0f359bc0922f 415 ((player_pos.x == ttt_pos.x) ||
ll14c4p 9:0f359bc0922f 416 (player_pos.x == ttt_pos.x + 1) ||
ll14c4p 9:0f359bc0922f 417 (player_pos.x == ttt_pos.x + 2) ||
ll14c4p 9:0f359bc0922f 418 (player_pos.x == ttt_pos.x + 3) ||
ll14c4p 9:0f359bc0922f 419 (player_pos.x == ttt_pos.x + 4) ||
ll14c4p 9:0f359bc0922f 420 (player_pos.x == ttt_pos.x + 5) ||
ll14c4p 9:0f359bc0922f 421 (player_pos.x == ttt_pos.x + 6) ||
ll14c4p 9:0f359bc0922f 422 (player_pos.x == ttt_pos.x + 7) ||
ll14c4p 9:0f359bc0922f 423 (player_pos.x == ttt_pos.x + 8) ||
ll14c4p 9:0f359bc0922f 424 (player_pos.x == ttt_pos.x + 9) ||
ll14c4p 9:0f359bc0922f 425 (player_pos.x == ttt_pos.x + 10) ||
ll14c4p 9:0f359bc0922f 426 (player_pos.x + 5 == ttt_pos.x) ||
ll14c4p 9:0f359bc0922f 427 (player_pos.x + 5 == ttt_pos.x + 1) ||
ll14c4p 9:0f359bc0922f 428 (player_pos.x + 5 == ttt_pos.x + 2) ||
ll14c4p 9:0f359bc0922f 429 (player_pos.x + 5 == ttt_pos.x + 3) ||
ll14c4p 9:0f359bc0922f 430 (player_pos.x + 5 == ttt_pos.x + 4) ||
ll14c4p 9:0f359bc0922f 431 (player_pos.x + 5 == ttt_pos.x + 5) ||
ll14c4p 9:0f359bc0922f 432 (player_pos.x + 5 == ttt_pos.x + 6) ||
ll14c4p 9:0f359bc0922f 433 (player_pos.x + 5 == ttt_pos.x + 7) ||
ll14c4p 9:0f359bc0922f 434 (player_pos.x + 5 == ttt_pos.x + 8) ||
ll14c4p 9:0f359bc0922f 435 (player_pos.x + 5 == ttt_pos.x + 9) ||
ll14c4p 9:0f359bc0922f 436 (player_pos.x + 5 == ttt_pos.x + 10))
ll14c4p 9:0f359bc0922f 437 ) {
ll14c4p 9:0f359bc0922f 438
ll14c4p 10:df8ea4e747e2 439 //printf("collision working1 \n");
ll14c4p 9:0f359bc0922f 440 // audio feedback
ll14c4p 9:0f359bc0922f 441 //pad.tone(1000.0,0.1);
ll14c4p 9:0f359bc0922f 442 ttt_pos.x = rand() % 79;
ll14c4p 9:0f359bc0922f 443 ttt_pos.y = 0;
ll14c4p 10:df8ea4e747e2 444
ll14c4p 10:df8ea4e747e2 445 HPLost1 = HPLost1 - 1;
ll14c4p 10:df8ea4e747e2 446
ll14c4p 8:bd718162a87c 447 }
ll14c4p 8:bd718162a87c 448
ll14c4p 10:df8ea4e747e2 449 //printf("%d", HPLost1); //Kind of working??
ll14c4p 8:bd718162a87c 450 _t.set_pos(t_pos);
ll14c4p 9:0f359bc0922f 451 _tt.set_pos(tt_pos);
ll14c4p 9:0f359bc0922f 452 _ttt.set_pos(ttt_pos);
ll14c4p 10:df8ea4e747e2 453 _hb.MinusHP1(HPLost1);
ll14c4p 8:bd718162a87c 454 }
ll14c4p 8:bd718162a87c 455
ll14c4p 8:bd718162a87c 456
ll14c4p 8:bd718162a87c 457
ll14c4p 8:bd718162a87c 458
ll14c4p 8:bd718162a87c 459
ll14c4p 8:bd718162a87c 460
ll14c4p 7:cf6304ef44fd 461
ll14c4p 7:cf6304ef44fd 462