One of my first programming projects. I tried to learn C and use curses...it is quite embarrassing looking back at it now :D
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

55 lines
1.5 KiB

#include <world.h>
#include <getPos.h>
#include <collisionDetection.h>
#include <stdlib.h>
#include <getPos.h>
void addZombie(int y, int x){
if (y && x){
int i;
for(i=0;i<MAX_ENTITIES;i++){
if(!allEntities[i].isAlive){
struct Entity zombie;
zombie.curYpos=y;
zombie.curXpos=x;
zombie.prevYpos=y;
zombie.prevXpos=x;
zombie.type="zombie";
zombie.symbol='Z';
zombie.isAlive=1;
zombie.lastMoveClock = clock();
zombie.speed = (float)((rand()%10)+3)/10;
allEntities[i]=zombie;
break;
}
}
}
}
void moveZombies(){
int i;
for(i=1;i<MAX_ENTITIES;i++){
float maxZombieSpeed=.10;
allEntities[i].prevYpos = allEntities[i].curYpos;
allEntities[i].prevXpos = allEntities[i].curXpos;
if(allEntities[i].isAlive){
if(((float)(clock() - allEntities[i].lastMoveClock)/CLOCKS_PER_SEC) > allEntities[i].speed ){
getNextPos(allEntities[i].curYpos,allEntities[i].curXpos,allEntities[0].curYpos,allEntities[0].curXpos);
struct CollisionEvent collisionEvent = collisionDetect(nextPos.y,nextPos.x);
if(collisionEvent.collidedWithBoundary || collisionEvent.collidedWithUnPassableChar || collisionEvent.collidedWithItem || collisionEvent.collidedWithEntity){
if(collisionEvent.collidedWithEntity){
if(collisionEvent.collidedWithEntity->type,"zombie"){
}
}
}
else{
allEntities[i].curYpos = nextPos.y;
allEntities[i].curXpos = nextPos.x;
}
allEntities[i].lastMoveClock=clock();
}
}
}
}