int drawlocation = 0;
int pod_in = 0;
+int pause = 0;
struct game_object {
int number; //object number
int life_loss(int lives, int score){
if(lives>=1){
- cbreak();
- mvprintw(10,20,"Boom. Press any key to continue.\n");
- getch();
+ pause = 0;
+ while(pause!=' '){
+ cbreak();
+ mvprintw(10,20,"Boom. Press SPACE to continue.\n");
+ pause = getch();
+ };
halfdelay(1);
} else {
- cbreak();
- mvprintw(10,20,"GAME OVER. Score:%d Press any key to exit.\n", score);
- getch();
- endwin();
- exit(0);
+ pause = 0;
+ while(pause!=' '){
+ cbreak();
+ mvprintw(10,20,"GAME OVER. Score:%d Press SPACE to exit.\n", score);
+ pause = getch();
+ };
+ endwin();
+ exit(0);
};
}
+game_object player_init(game_object player){
+ player.x = rand()%17;
+ player.y = rand()%600+20;
+ player.direction = 5;
+ player.face = 1;
+ player.speed = 0;
+ player.vspeed = 0;
+ player.vtime = 0;
+
+ return player;
+}
+
int main(){
//Check screen size 80x25 and exit if not big enough
cbreak();
halfdelay(1);
noecho();
- //keypad(stdscr, TRUE);
while(loopvar == 0){
//pause
if(input==' '){
- cbreak();
- mvprintw(10,25,"Paused. Press any key to continue.\n");
- getch();
- halfdelay(1);
+ pause = 0;
+ while(pause!=' '){
+ cbreak();
+ mvprintw(10,25,"Paused. Press SPACE to continue.\n");
+ pause = getch();
+ halfdelay(1);
+ };
};
//check for / process pod pickup
//add to score
score = score + 20;
life_loss(lives, score);
+ player = player_init(player);
+ drawlocation = player.y-20;
//kill any carried pods
if(pod_in>0){
for(int podloop = 0; podloop<8; podloop=podloop+2){
if(player.x==landers[landerloop].x){ landershot[landershotloop].direction = 6; };
if(player.x>landers[landerloop].x){ landershot[landershotloop].direction = 3; };
};
- landershot[landershotloop].speed = landers[landerloop].speed + 2;
+ landershot[landershotloop].speed = landers[landerloop].speed;
landershot[landershotloop].x = landers[landerloop].x;
landershot[landershotloop].y = landers[landerloop].y + (landers[landerloop].speed * multiplier);
landershot[landershotloop].vtime = 1;
landershot[landershotloop].vtime = 100;
landershot[landershotloop] = age_bullet(landershot[landershotloop]);
life_loss(lives, score);
+ player = player_init(player);
+ drawlocation = player.y-20;
//kill any carried pods
if(pod_in>0){
for(int podloop = 0; podloop<8; podloop=podloop+2){
//Award lives, if any
if(lives<4){lives++;};
//Print goodies, getch
- cbreak();
- mvprintw(10,20,"Level %d Completed. Press any key to continue.\n", level);
- getch();
+ pause = 0;
+ while(pause!=' '){
+ cbreak();
+ mvprintw(10,20,"Level %d Completed. Press SPACE to continue.\n", level);
+ pause = getch();
+ };
halfdelay(1);
//Advance level
level++;