Add collision detection for zombies

main
Jerry Aldrich 11 years ago
parent f2bea0209b
commit 2d85aa8fac
  1. 20
      zombies.c

@ -1,7 +1,7 @@
#include <world.h> #include <world.h>
#include <getPos.h> #include <getPos.h>
#include <screen.h> #include <screen.h>
#include <collisionDetection.h>
void addZombie(){ void addZombie(){
if(getOpenPos()){ if(getOpenPos()){
int attempts=0; int attempts=0;
@ -45,14 +45,22 @@ void addZombie(){
} }
void moveZombies(){ void moveZombies(){
int i; int i;
for(i=1;i<MAX_ALIVE;i++){ for(i=1;i<MAX_ALIVE;i++){
if(allEntities[i].isAlive){ if(allEntities[i].isAlive){
int moveCheck = rand()%2000; int moveCheck = rand()%2000;
if(moveCheck==1){ if(moveCheck==1){
getNextPos(allEntities[i].curYpos,allEntities[i].curXpos,allEntities[0].curYpos,allEntities[0].curXpos); getNextPos(allEntities[i].curYpos,allEntities[i].curXpos,allEntities[0].curYpos,allEntities[0].curXpos);
allEntities[i].nextYpos = nextPos.y; allEntities[i].nextYpos = nextPos.y;
allEntities[i].nextXpos = nextPos.x; allEntities[i].nextXpos = nextPos.x;
struct Entity * hitEntity = (struct Entity *)collisionDetect(allEntities[i].nextYpos, allEntities[i].nextXpos);
if(hitEntity){
if(!strcmp(hitEntity->type,"zombie")){
allEntities[i].nextYpos = allEntities[i].curYpos;
allEntities[i].nextXpos = allEntities[i].curXpos;
}
}
if(allEntities[i].nextYpos < 1 || allEntities[i].nextYpos>viewportWinRows-2){ if(allEntities[i].nextYpos < 1 || allEntities[i].nextYpos>viewportWinRows-2){
allEntities[i].nextYpos = allEntities[i].curYpos; allEntities[i].nextYpos = allEntities[i].curYpos;
} }

Loading…
Cancel
Save