Changeset 12272 for code/branches/3DPacman_FS19/src
- Timestamp:
- Apr 4, 2019, 3:33:04 PM (6 years ago)
- Location:
- code/branches/3DPacman_FS19/src/modules/pacman
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/3DPacman_FS19/src/modules/pacman/PacmanGhost.cc
r12259 r12272 130 130 while (lockmove){}; 131 131 lockmove=true; 132 133 if(this.colour=1){ 134 //calculate new goal 135 136 } 137 138 else if(this.colour=2){ 139 132 int goal_x = 0; // faraway goal to dertmine the direction of the target 133 int goal_z =0; 134 135 if(this.colour=1){//follow pacman 136 Vector3 newTar = getShortestPath(actuelposition, currentPosition) //acutuelPosition: ghost, currentPosition: Pacman 137 setnewTarget(newTar) 138 139 } 140 //die uebrigen charakteren verhalten sich noch random 141 /*else if(this.colour=2){ 140 142 } 141 143 … … 146 148 else if(this.colour=4){ 147 149 148 } 149 150 getShortestPath(actuelposition, goal_x, goal_z) 151 //setnewTarget 152 } 153 /* 154 //Check on which position the ghost has arrived and set new target 155 else{ 156 while(lockmove){}; 157 lockmove = true; 158 159 if(findpos(actuelposition,possibleposition[0])){ 160 setnewTarget(1,17,19); 161 } 162 else if(findpos(actuelposition,possibleposition[1])){ 163 setnewTarget(0,2); 164 } 165 else if(findpos(actuelposition,possibleposition[2])){ 166 setnewTarget(1,3); 167 } 168 else if(findpos(actuelposition,possibleposition[3])){ 169 setnewTarget(2,4,5); 170 } 171 else if(findpos(actuelposition,possibleposition[4])){ 172 setnewTarget(3,6); 173 } 174 else if(findpos(actuelposition,possibleposition[5])){ 175 setnewTarget(3,7); 176 } 177 else if(findpos(actuelposition,possibleposition[6])){ 178 setnewTarget(4,9,26); 179 } 180 else if(findpos(actuelposition,possibleposition[7])){ 181 setnewTarget(5,8); 182 } 183 else if(findpos(actuelposition,possibleposition[8])){ 184 setnewTarget(7,9); 185 } 186 else if(findpos(actuelposition,possibleposition[9])){ 187 setnewTarget(6,8,10,38); 188 } 189 else if(findpos(actuelposition,possibleposition[10])){ 190 setnewTarget(9,11,45); 191 } 192 else if(findpos(actuelposition,possibleposition[11])){ 193 setnewTarget(10,12,13); 194 } 195 else if(findpos(actuelposition,possibleposition[12])){ 196 setnewTarget(11,14); 197 } 198 else if(findpos(actuelposition,possibleposition[13])){ 199 setnewTarget(11,14,16,61); 200 } 201 else if(findpos(actuelposition,possibleposition[14])){ 202 setnewTarget(12,13,15); 203 } 204 else if(findpos(actuelposition,possibleposition[15])){ 205 setnewTarget(14,16); 206 } 207 else if(findpos(actuelposition,possibleposition[16])){ 208 setnewTarget(13,15,62); 209 } 210 else if(findpos(actuelposition,possibleposition[17])){ 211 setnewTarget(0,25); 212 } 213 else if(findpos(actuelposition,possibleposition[18])){ 214 setnewTarget(19,24); 215 } 216 else if(findpos(actuelposition,possibleposition[19])){ 217 setnewTarget(0,18,20); 218 } 219 else if(findpos(actuelposition,possibleposition[20])){ 220 setnewTarget(19,21); 221 } 222 else if(findpos(actuelposition,possibleposition[21])){ 223 setnewTarget(20,22); 224 } 225 else if(findpos(actuelposition,possibleposition[22])){ 226 setnewTarget(21,23,31); 227 } 228 else if(findpos(actuelposition,possibleposition[23])){ 229 setnewTarget(22,30); 230 } 231 else if(findpos(actuelposition,possibleposition[24])){ 232 setnewTarget(18,29); 233 } 234 else if(findpos(actuelposition,possibleposition[25])){ 235 setnewTarget(17,26); 236 } 237 else if(findpos(actuelposition,possibleposition[26])){ 238 setnewTarget(6,25,27); 239 } 240 else if(findpos(actuelposition,possibleposition[27])){ 241 setnewTarget(26,28,37); 242 } 243 else if(findpos(actuelposition,possibleposition[28])){ 244 setnewTarget(27,29,36); 245 } 246 else if(findpos(actuelposition,possibleposition[29])){ 247 setnewTarget(24,28,30); 248 } 249 else if(findpos(actuelposition,possibleposition[30])){ 250 setnewTarget(23,29,34); 251 } 252 else if(findpos(actuelposition,possibleposition[31])){ 253 setnewTarget(22,32); 254 } 255 else if(findpos(actuelposition,possibleposition[32])){ 256 setnewTarget(31,33); 257 } 258 else if(findpos(actuelposition,possibleposition[33])){ 259 setnewTarget(32,34); 260 } 261 else if(findpos(actuelposition,possibleposition[34])){ 262 setnewTarget(30,33,35,42); 263 } 264 else if(findpos(actuelposition,possibleposition[35])){ 265 setnewTarget(34,36,41); 266 } 267 else if(findpos(actuelposition,possibleposition[36])){ 268 setnewTarget(28,35); 269 } 270 else if(findpos(actuelposition,possibleposition[37])){ 271 setnewTarget(27,38); 272 } 273 else if(findpos(actuelposition,possibleposition[38])){ 274 setnewTarget(9,37,39); 275 } 276 else if(findpos(actuelposition,possibleposition[39])){ 277 setnewTarget(38,40,45); 278 } 279 else if(findpos(actuelposition,possibleposition[40])){ 280 setnewTarget(39,41); //Shouldn't be able to return in center 281 } 282 else if(findpos(actuelposition,possibleposition[41])){ 283 setnewTarget(35,43); 284 } 285 else if(findpos(actuelposition,possibleposition[42])){ 286 setnewTarget(34,43,54); 287 } 288 else if(findpos(actuelposition,possibleposition[43])){ 289 setnewTarget(41,46); 290 } 291 else if(findpos(actuelposition,possibleposition[44])){ 292 setnewTarget(40,66); 293 } 294 else if(findpos(actuelposition,possibleposition[45])){ 295 setnewTarget(10,39,49); 296 } 297 else if(findpos(actuelposition,possibleposition[46])){ 298 setnewTarget(43,47); 299 } 300 else if(findpos(actuelposition,possibleposition[47])){ 301 setnewTarget(46,52,66); 302 } 303 else if(findpos(actuelposition,possibleposition[48])){ 304 setnewTarget(49,51,66); 305 } 306 else if(findpos(actuelposition,possibleposition[49])){ 307 setnewTarget(45,48); 308 } 309 else if(findpos(actuelposition,possibleposition[50])){ 310 setnewTarget(51,61); 311 } 312 else if(findpos(actuelposition,possibleposition[51])){ 313 setnewTarget(48,50); 314 } 315 else if(findpos(actuelposition,possibleposition[52])){ 316 setnewTarget(47,53); 317 } 318 else if(findpos(actuelposition,possibleposition[53])){ 319 setnewTarget(52,58); 320 } 321 else if(findpos(actuelposition,possibleposition[54])){ 322 setnewTarget(42,55,57); 323 } 324 else if(findpos(actuelposition,possibleposition[55])){ 325 setnewTarget(54,56); 326 } 327 else if(findpos(actuelposition,possibleposition[56])){ 328 setnewTarget(55,57,65); 329 } 330 else if(findpos(actuelposition,possibleposition[57])){ 331 setnewTarget(54,56,58,64); 332 } 333 else if(findpos(actuelposition,possibleposition[58])){ 334 setnewTarget(53,57,59); 335 } 336 else if(findpos(actuelposition,possibleposition[59])){ 337 setnewTarget(58,59,63); 338 } 339 else if(findpos(actuelposition,possibleposition[60])){ 340 setnewTarget(59,61,62); 341 } 342 else if(findpos(actuelposition,possibleposition[61])){ 343 setnewTarget(13,50,60); 344 } 345 else if(findpos(actuelposition,possibleposition[62])){ 346 setnewTarget(16,60); 347 } 348 else if(findpos(actuelposition,possibleposition[63])){ 349 setnewTarget(59,64); 350 } 351 else if(findpos(actuelposition,possibleposition[64])){ 352 setnewTarget(57,63,65); 353 } 354 else if(findpos(actuelposition,possibleposition[65])){ 355 setnewTarget(56,64); 356 } 357 else if(findpos(actuelposition,possibleposition[66])){ 358 setnewTarget(47,48); 150 }*/ 151 152 153 154 //Check on which position the ghost has arrived and set new target 155 else if{(this.colour=2) || (this.colour=3) || (this.colour=4)} 156 while(lockmove){}; 157 lockmove = true; 158 159 if(findpos(actuelposition,possibleposition[0])){ 160 setnewTarget(1,17,19); 161 } 162 else if(findpos(actuelposition,possibleposition[1])){ 163 setnewTarget(0,2); 164 } 165 else if(findpos(actuelposition,possibleposition[2])){ 166 setnewTarget(1,3); 167 } 168 else if(findpos(actuelposition,possibleposition[3])){ 169 setnewTarget(2,4,5); 170 } 171 else if(findpos(actuelposition,possibleposition[4])){ 172 setnewTarget(3,6); 173 } 174 else if(findpos(actuelposition,possibleposition[5])){ 175 setnewTarget(3,7); 176 } 177 else if(findpos(actuelposition,possibleposition[6])){ 178 setnewTarget(4,9,26); 179 } 180 else if(findpos(actuelposition,possibleposition[7])){ 181 setnewTarget(5,8); 182 } 183 else if(findpos(actuelposition,possibleposition[8])){ 184 setnewTarget(7,9); 185 } 186 else if(findpos(actuelposition,possibleposition[9])){ 187 setnewTarget(6,8,10,38); 188 } 189 else if(findpos(actuelposition,possibleposition[10])){ 190 setnewTarget(9,11,45); 191 } 192 else if(findpos(actuelposition,possibleposition[11])){ 193 setnewTarget(10,12,13); 194 } 195 else if(findpos(actuelposition,possibleposition[12])){ 196 setnewTarget(11,14); 197 } 198 else if(findpos(actuelposition,possibleposition[13])){ 199 setnewTarget(11,14,16,61); 200 } 201 else if(findpos(actuelposition,possibleposition[14])){ 202 setnewTarget(12,13,15); 203 } 204 else if(findpos(actuelposition,possibleposition[15])){ 205 setnewTarget(14,16); 206 } 207 else if(findpos(actuelposition,possibleposition[16])){ 208 setnewTarget(13,15,62); 209 } 210 else if(findpos(actuelposition,possibleposition[17])){ 211 setnewTarget(0,25); 212 } 213 else if(findpos(actuelposition,possibleposition[18])){ 214 setnewTarget(19,24); 215 } 216 else if(findpos(actuelposition,possibleposition[19])){ 217 setnewTarget(0,18,20); 218 } 219 else if(findpos(actuelposition,possibleposition[20])){ 220 setnewTarget(19,21); 221 } 222 else if(findpos(actuelposition,possibleposition[21])){ 223 setnewTarget(20,22); 224 } 225 else if(findpos(actuelposition,possibleposition[22])){ 226 setnewTarget(21,23,31); 227 } 228 else if(findpos(actuelposition,possibleposition[23])){ 229 setnewTarget(22,30); 230 } 231 else if(findpos(actuelposition,possibleposition[24])){ 232 setnewTarget(18,29); 233 } 234 else if(findpos(actuelposition,possibleposition[25])){ 235 setnewTarget(17,26); 236 } 237 else if(findpos(actuelposition,possibleposition[26])){ 238 setnewTarget(6,25,27); 239 } 240 else if(findpos(actuelposition,possibleposition[27])){ 241 setnewTarget(26,28,37); 242 } 243 else if(findpos(actuelposition,possibleposition[28])){ 244 setnewTarget(27,29,36); 245 } 246 else if(findpos(actuelposition,possibleposition[29])){ 247 setnewTarget(24,28,30); 248 } 249 else if(findpos(actuelposition,possibleposition[30])){ 250 setnewTarget(23,29,34); 251 } 252 else if(findpos(actuelposition,possibleposition[31])){ 253 setnewTarget(22,32); 254 } 255 else if(findpos(actuelposition,possibleposition[32])){ 256 setnewTarget(31,33); 257 } 258 else if(findpos(actuelposition,possibleposition[33])){ 259 setnewTarget(32,34); 260 } 261 else if(findpos(actuelposition,possibleposition[34])){ 262 setnewTarget(30,33,35,42); 263 } 264 else if(findpos(actuelposition,possibleposition[35])){ 265 setnewTarget(34,36,41); 266 } 267 else if(findpos(actuelposition,possibleposition[36])){ 268 setnewTarget(28,35); 269 } 270 else if(findpos(actuelposition,possibleposition[37])){ 271 setnewTarget(27,38); 272 } 273 else if(findpos(actuelposition,possibleposition[38])){ 274 setnewTarget(9,37,39); 275 } 276 else if(findpos(actuelposition,possibleposition[39])){ 277 setnewTarget(38,40,45); 278 } 279 else if(findpos(actuelposition,possibleposition[40])){ 280 setnewTarget(39,41); //Shouldn't be able to return in center 281 } 282 else if(findpos(actuelposition,possibleposition[41])){ 283 setnewTarget(35,43); 284 } 285 else if(findpos(actuelposition,possibleposition[42])){ 286 setnewTarget(34,43,54); 287 } 288 else if(findpos(actuelposition,possibleposition[43])){ 289 setnewTarget(41,46); 290 } 291 else if(findpos(actuelposition,possibleposition[44])){ 292 setnewTarget(40,66); 293 } 294 else if(findpos(actuelposition,possibleposition[45])){ 295 setnewTarget(10,39,49); 296 } 297 else if(findpos(actuelposition,possibleposition[46])){ 298 setnewTarget(43,47); 299 } 300 else if(findpos(actuelposition,possibleposition[47])){ 301 setnewTarget(46,52,66); 302 } 303 else if(findpos(actuelposition,possibleposition[48])){ 304 setnewTarget(49,51,66); 305 } 306 else if(findpos(actuelposition,possibleposition[49])){ 307 setnewTarget(45,48); 308 } 309 else if(findpos(actuelposition,possibleposition[50])){ 310 setnewTarget(51,61); 311 } 312 else if(findpos(actuelposition,possibleposition[51])){ 313 setnewTarget(48,50); 314 } 315 else if(findpos(actuelposition,possibleposition[52])){ 316 setnewTarget(47,53); 317 } 318 else if(findpos(actuelposition,possibleposition[53])){ 319 setnewTarget(52,58); 320 } 321 else if(findpos(actuelposition,possibleposition[54])){ 322 setnewTarget(42,55,57); 323 } 324 else if(findpos(actuelposition,possibleposition[55])){ 325 setnewTarget(54,56); 326 } 327 else if(findpos(actuelposition,possibleposition[56])){ 328 setnewTarget(55,57,65); 329 } 330 else if(findpos(actuelposition,possibleposition[57])){ 331 setnewTarget(54,56,58,64); 332 } 333 else if(findpos(actuelposition,possibleposition[58])){ 334 setnewTarget(53,57,59); 335 } 336 else if(findpos(actuelposition,possibleposition[59])){ 337 setnewTarget(58,59,63); 338 } 339 else if(findpos(actuelposition,possibleposition[60])){ 340 setnewTarget(59,61,62); 341 } 342 else if(findpos(actuelposition,possibleposition[61])){ 343 setnewTarget(13,50,60); 344 } 345 else if(findpos(actuelposition,possibleposition[62])){ 346 setnewTarget(16,60); 347 } 348 else if(findpos(actuelposition,possibleposition[63])){ 349 setnewTarget(59,64); 350 } 351 else if(findpos(actuelposition,possibleposition[64])){ 352 setnewTarget(57,63,65); 353 } 354 else if(findpos(actuelposition,possibleposition[65])){ 355 setnewTarget(56,64); 356 } 357 else if(findpos(actuelposition,possibleposition[66])){ 358 setnewTarget(47,48); 359 359 } 360 360 … … 364 364 lockmove = false; 365 365 } 366 */ 366 } 367 } 368 //set a specific newTarget 369 void PacmanGhost::setnewTarget(Vector3 newTarget){ 370 371 this->target_x = newTarget.x; 372 this->target_z = newTarget.; 373 this->ismoving = true; 367 374 } 368 375 -
code/branches/3DPacman_FS19/src/modules/pacman/PacmanGhost.h
r12259 r12272 73 73 Vector3 actuelposition; 74 74 bool ismoving = false; 75 int target_x = 0; // next step 76 int target_z = 0; 77 int goal_x = 0; // faraway goal to dertmine the direction of the target 78 int goal_z =0; 75 int target_x = 0; // one step 76 int target_z = 0; 79 77 80 78 bool lockmove = false; … … 82 80 /* 83 81 colour= 84 1: red 85 2: blue86 3: orange87 4: pink82 1: red: follow 83 2: pink: get infront of him 84 3: blue: patrol an area 85 4: orange: get away of Pacman 88 86 */ 89 87 void setnewTarget(int firstdec);
Note: See TracChangeset
for help on using the changeset viewer.