|
|
|
@ -21,12 +21,28 @@ struct CollisionEvent collisionDetect(int objYpos, int objXpos){ |
|
|
|
|
return collisionEvent; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void checkPlayerCollisions(){ |
|
|
|
|
void checkProjectileCollision(struct Projectile *projectileRef ){ |
|
|
|
|
struct CollisionEvent collisionEvent = collisionDetect(projectileRef->curYpos, projectileRef->curXpos); |
|
|
|
|
if(collisionEvent.collidedWithEntity){ |
|
|
|
|
if(!strcmp(collisionEvent.collidedWithEntity->type,"zombie")){ |
|
|
|
|
projectileRef->isAlive=0; |
|
|
|
|
collisionEvent.collidedWithEntity->isAlive=0;
|
|
|
|
|
allEntities[0].killCount++; |
|
|
|
|
if (allEntities[0].killCount != 0 && allEntities[0].killCount%10==0){ |
|
|
|
|
itemModifier++; |
|
|
|
|
} |
|
|
|
|
mvwaddch(viewportWin, collisionEvent.collidedWithEntity->curYpos, collisionEvent.collidedWithEntity->curXpos, ' '); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void checkPlayerCollision(){ |
|
|
|
|
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(); |
|
|
|
|
}
|
|
|
|
|
} |
|
|
|
|