Add Item struct and addItem to events.c and gameLoop.c

main
Jerry Aldrich 11 years ago
parent 676bf86e38
commit d0ed16db04
  1. 2
      collisionDetection.c
  2. 8
      drawWindows.c
  3. 16
      events.c
  4. 2
      events.h
  5. 9
      gameLoop.c
  6. 2
      getPos.c
  7. 1
      initializeWorld.c
  8. 1
      weaponsSystem.c
  9. 6
      world.h
  10. 4
      zombies.c

@ -1,7 +1,7 @@
#include <world.h>
struct Entity * collisionDetect(int objYpos, int objXpos){
int i;
for(i=1; i<MAX_ALIVE; i++){
for(i=1; i<MAX_ENTITIES; i++){
if(allEntities[i].isAlive){
if(objYpos==allEntities[i].curYpos && objXpos==allEntities[i].curXpos){
return &allEntities[i];

@ -27,7 +27,13 @@ void drawGameOverWin(){
void drawViewport(){
box(viewportWin,0,0);
int i;
for(i=0; i<MAX_ALIVE; i++){
for(i=0; i<MAX_ITEMS; i++){
if(allItems[i].isAlive){
mvwprintw(viewportWin, 10,10, "%i",i);
mvwaddch(viewportWin, allItems[i].curYpos, allItems[i].curXpos, allItems[i].symbol);
}
}
for(i=0; i<MAX_ENTITIES; i++){
if(allEntities[i].isAlive){
mvwaddch(viewportWin, allEntities[i].curYpos, allEntities[i].curXpos, ' ');
mvwaddch(viewportWin, allEntities[i].nextYpos, allEntities[i].nextXpos, allEntities[i].symbol);

@ -1,5 +1,15 @@
#include <events.h>
void addItem(){
#include <structs.h>
#include <world.h>
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<MAX_ITEMS;i++){
if(!allItems[i].isAlive){
allItems[i]=pistolMag;
break;
}
}
}
}

@ -1,6 +1,6 @@
#ifndef _EVENTS
#define _EVENTS
void addItem();
void addItem(char *name, int yPos, int xPos);
#endif

@ -2,7 +2,7 @@
#include <screen.h>
#include <collisionDetection.h>
#include <events.h>
#include <getPos.h>
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");

@ -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<MAX_ALIVE;i++){
for(i=1;i<MAX_ENTITIES;i++){
if(allEntities[i].isAlive && allEntities[i].curYpos==openPos.y && allEntities[i].curXpos==openPos.x){
chooseAnother=1;
}

@ -7,7 +7,6 @@
void initializeWorld() {
struct Entity player = {.type="player",.symbol='@', .curYpos=1, .curXpos=1, .nextYpos=1, .nextXpos=1 ,.isAlive=1};
struct Weapon pistol = {.name="Pistol", .range=3, .maxCapacity=12, .curCapacity=12, .symbols="-\\|/-\\|/"};
struct Item pistolMag = {.name="Pistol Magazine", .symbol='=', .isAlive=0 };
srand(time(NULL));
initscr();

@ -1,4 +1,3 @@
#include <weaponsSystem.h>
#include <screen.h>
#include <world.h>
#include <collisionDetection.h>

@ -1,12 +1,14 @@
#ifndef _INITIALIZE_WORLD
#define _INITIALIZE_WORLD
#define MAX_ALIVE 10000
#define MAX_ENTITIES 10000
#define MAX_ITEMS 100
#include <structs.h>
#include <screen.h>
struct Entity allEntities[MAX_ALIVE];
struct Entity allEntities[MAX_ENTITIES];
struct Item allItems[MAX_ITEMS];
#define MAX_PROJECTILES 2
struct Projectile projectiles[MAX_PROJECTILES];

@ -23,7 +23,7 @@ void addZombie(){
}
if (attempts<10){
int i;
for(i=0;i<MAX_ALIVE-1;i++){
for(i=0;i<MAX_ENTITIES-1;i++){
if(!allEntities[i].isAlive){
struct Entity zombie;
zombie.curYpos=openPos.y;
@ -46,7 +46,7 @@ void addZombie(){
void moveZombies(){
int i;
for(i=1;i<MAX_ALIVE;i++){
for(i=1;i<MAX_ENTITIES;i++){
if(allEntities[i].isAlive){
int moveCheck = rand()%20;
if(moveCheck==1){

Loading…
Cancel
Save