Create checkPlayerCollisions in collisionDetection.c

main
Jerry Aldrich 11 years ago
parent 2ae4520764
commit 8c406f33fe
  1. 19
      collisionDetection.c
  2. 18
      gameLoop.c

@ -21,3 +21,22 @@ struct CollisionEvent collisionDetect(int objYpos, int objXpos){
return collisionEvent;
}
void checkPlayerCollisions(){
struct CollisionEvent collisionEvent = collisionDetect(allEntities[0].curYpos, allEntities[0].curXpos);
if(collisionEvent.collidedWithEntity){
if(!strcmp(collisionEvent.collidedWithEntity->type,"zombie")){
collisionEvent.collidedWithEntity->isAlive=0;
mvwaddch(viewportWin, allEntities[0].curYpos, allEntities[0].curXpos, ' ');
drawGameOverWin();
}
}
if(collisionEvent.collidedWithItem){
if(!strcmp(collisionEvent.collidedWithItem->type,"Pistol Magazine")){
if(allEntities[0].weapons[1].isAlive){
addMagazine(&allEntities[0].weapons[1]);
collisionEvent.collidedWithItem->isAlive=0;
}
}
}
}

@ -95,26 +95,10 @@ void gameLoop(){
reload(&allEntities[0].weapons[allEntities[0].curWeapon]);
}
}
default:
if (ch != ERR) {lastPressed=ch;};
break;
}
struct CollisionEvent collisionEvent = collisionDetect(allEntities[0].curYpos, allEntities[0].curXpos);
if(collisionEvent.collidedWithEntity){
if(!strcmp(collisionEvent.collidedWithEntity->type,"zombie")){
collisionEvent.collidedWithEntity->isAlive=0;
mvwaddch(viewportWin, allEntities[0].curYpos, allEntities[0].curXpos, ' ');
drawGameOverWin();
}
}
if(collisionEvent.collidedWithItem){
if(!strcmp(collisionEvent.collidedWithItem->type,"Pistol Magazine")){
if(allEntities[0].weapons[1].isAlive){
addMagazine(&allEntities[0].weapons[1]);
collisionEvent.collidedWithItem->isAlive=0;
}
}
}
checkPlayerCollisions();
}
}

Loading…
Cancel
Save