Library containing the Game Engine

Committer:
ll14c4p
Date:
Wed May 03 13:33:23 2017 +0000
Revision:
9:0f359bc0922f
Parent:
8:bd718162a87c
Child:
10:df8ea4e747e2
Player - Target Collisions and Projectile - Target Collisions are working

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