From f2bea0209bf2f90ec690a43b292381a8da186904 Mon Sep 17 00:00:00 2001 From: Jerry Aldrich Date: Sun, 5 Apr 2015 20:54:27 -0500 Subject: [PATCH] Add No-Spawn zone around player --- drawWindows.c | 1 + gameLoop.c | 2 +- initializeWorld.c | 13 ++++++------ makefile | 4 ++-- world.h | 7 ++++++- zombies.c | 51 ++++++++++++++++++++++++++++++++--------------- 6 files changed, 51 insertions(+), 27 deletions(-) diff --git a/drawWindows.c b/drawWindows.c index f2e3a08..1775874 100644 --- a/drawWindows.c +++ b/drawWindows.c @@ -1,6 +1,7 @@ #include #include #include + void drawScore(){ werase(scoreWin); box(scoreWin, 0, 0); diff --git a/gameLoop.c b/gameLoop.c index 4bbcb2c..e8cbf7b 100644 --- a/gameLoop.c +++ b/gameLoop.c @@ -1,12 +1,12 @@ #include #include #include + void gameLoop(){ int lastPressed; while(1) { drawScore(); drawViewport(); - //addZombie(); moveProjectiles(); moveZombies(); doupdate(); diff --git a/initializeWorld.c b/initializeWorld.c index 23d2c74..5dd85a0 100644 --- a/initializeWorld.c +++ b/initializeWorld.c @@ -20,12 +20,6 @@ void initializeWorld() { getmaxyx(viewportWin,viewportWinRows,viewportWinCols); scoreWin=newwin(10,scrCols,scrRows-10,0); - int initialSpawn=(viewportWinRows*viewportWinCols)/100; - int i; - for(i=0;i +#include + + struct Entity allEntities[MAX_ALIVE]; + +#define INITIAL_SPAWN_NUM 10 void initializeWorld(); #endif diff --git a/zombies.c b/zombies.c index b5a1ac8..ed38e89 100644 --- a/zombies.c +++ b/zombies.c @@ -4,24 +4,43 @@ void addZombie(){ if(getOpenPos()){ - int i; - for(i=0;i allEntities[0].curYpos+5 || openPos.y < allEntities[0].curYpos-5) || (openPos.x > allEntities[0].curXpos+5 || openPos.x < allEntities[0].curXpos-5)) { + attempts=0; + break; + } + else{ + getOpenPos(); + attempts++; + } + } + else{ + attempts=0; break; } } + if (attempts<10){ + int i; + for(i=0;i