diff --git a/collisionDetection.c b/collisionDetection.c index 1a66768..aae27cf 100644 --- a/collisionDetection.c +++ b/collisionDetection.c @@ -1,7 +1,7 @@ #include struct Entity * collisionDetect(int objYpos, int objXpos){ int i; - for(i=1; i - -void addItem(){ - +#include +#include +void addItem(char *name, int yPos, int xPos){ + if(!strcmp(name,"Pistol Magazine")){ + struct Item pistolMag = {.name="Pistol Magazine", .symbol='=', .isAlive=1, .curXpos=xPos, .curYpos=yPos}; + int i; + for (i=0;i #include #include - +#include void gameLoop(){ int lastPressed; while(1) { @@ -10,9 +10,7 @@ void gameLoop(){ drawViewport(); moveProjectiles(); moveZombies(); - addItem(); doupdate(); - int ch; ch = getch(); switch(ch){ @@ -61,6 +59,11 @@ void gameLoop(){ addZombie(); break; } + case '=':{ + getOpenPos(); + addItem("Pistol Magazine",openPos.y,openPos.x); + break; + } case KEY_UP:{ if(allEntities[0].weapons[allEntities[0].curWeapon].curCapacity>0){ fireWeapon(&allEntities[0].weapons[allEntities[0].curWeapon], "up"); diff --git a/getPos.c b/getPos.c index 6949698..d714488 100644 --- a/getPos.c +++ b/getPos.c @@ -9,7 +9,7 @@ int getOpenPos(){ openPos.x=(rand()%(viewportWinCols-2)+1); if(mvwinch(viewportWin,openPos.y,openPos.x)==' '){ int i; - for(i=1;i #include #include #include diff --git a/world.h b/world.h index db7c4d3..0de6d38 100644 --- a/world.h +++ b/world.h @@ -1,12 +1,14 @@ #ifndef _INITIALIZE_WORLD #define _INITIALIZE_WORLD -#define MAX_ALIVE 10000 +#define MAX_ENTITIES 10000 +#define MAX_ITEMS 100 #include #include -struct Entity allEntities[MAX_ALIVE]; +struct Entity allEntities[MAX_ENTITIES]; +struct Item allItems[MAX_ITEMS]; #define MAX_PROJECTILES 2 struct Projectile projectiles[MAX_PROJECTILES]; diff --git a/zombies.c b/zombies.c index c6789c9..26dc2f8 100644 --- a/zombies.c +++ b/zombies.c @@ -23,7 +23,7 @@ void addZombie(){ } if (attempts<10){ int i; - for(i=0;i