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.
54 lines
1.3 KiB
54 lines
1.3 KiB
#include <structs.h>
|
|
#include <string.h>
|
|
#include <ncurses.h>
|
|
#include <world.h>
|
|
#include <screen.h>
|
|
#include <getPos.h>
|
|
|
|
void initializeWorld() {
|
|
|
|
struct Entity player = {.type="player",.symbol='@', .curYpos=1, .curXpos=1, .nextYpos=1, .nextXpos=1 ,.isAlive=1};
|
|
struct Weapon pistol = {.type="Pistol", .isAlive=1, .range=3, .maxCapacity=12, .curCapacity=12, .symbols="-\\|/-\\|/"};
|
|
|
|
srand(time(NULL));
|
|
initscr();
|
|
curs_set(0);
|
|
cbreak();
|
|
nodelay(stdscr, TRUE);
|
|
keypad(stdscr, TRUE);
|
|
noecho();
|
|
getmaxyx(stdscr,scrRows,scrCols);
|
|
viewportWin=newwin(scrRows-10,scrCols,0,0);
|
|
getmaxyx(viewportWin,viewportWinRows,viewportWinCols);
|
|
scoreWin=newwin(10,scrCols,scrRows-10,0);
|
|
|
|
allEntities[0]=player;
|
|
allEntities[0].curYpos=viewportWinRows/2;
|
|
allEntities[0].curXpos=viewportWinCols/2;
|
|
allEntities[0].nextYpos=allEntities[0].curYpos;
|
|
allEntities[0].nextXpos=allEntities[0].curXpos;
|
|
allEntities[0].weapons[1]=pistol;
|
|
allEntities[0].curWeapon=1;
|
|
|
|
drawScore();
|
|
drawViewport();
|
|
int i;
|
|
for(i=0;i<INITIAL_SPAWN_NUM;i++){
|
|
struct OpenPos openPos = getOpenPos();
|
|
addZombie(openPos.y,openPos.x);
|
|
}
|
|
}
|
|
|
|
void restartGame(){
|
|
int i;
|
|
for(i=0;i<MAX_ENTITIES;i++){
|
|
allEntities[i].isAlive=0;
|
|
}
|
|
for(i=0;i<MAX_ITEMS;i++){
|
|
allItems[i].isAlive=0;
|
|
}
|
|
zombieModifier=0;
|
|
itemModifier=0;
|
|
endwin();
|
|
main();
|
|
}
|
|
|