mirror of
https://github.com/abakh/nbsdgames.git
synced 2025-02-02 15:07:27 -05:00
Fixing redsquare (-_Q)
This commit is contained in:
parent
1746aac1de
commit
8705689026
@ -177,36 +177,36 @@ void new_level(byte board[LEN][WID]){
|
||||
case 0:
|
||||
cy=12;
|
||||
cx=RWID/2;
|
||||
add_line(board,5, " #### #");
|
||||
add_line(board,6, " #### #");
|
||||
add_line(board,7, " # # ");
|
||||
add_line(board,8, " # ## # ## # ##");
|
||||
add_line(board,9, " # # # ## # ## #");
|
||||
add_line(board,10," # # # # # # # #");
|
||||
add_line(board,11," ### ## # # # #");
|
||||
add_line(board,5, " #### #");
|
||||
add_line(board,6, " #### #");
|
||||
add_line(board,7, " # # ");
|
||||
add_line(board,8, " # ## # ## # ##");
|
||||
add_line(board,9, " # # # ## # ## #");
|
||||
add_line(board,10," # # # # # # # #");
|
||||
add_line(board,11," ### ## # # # #");
|
||||
|
||||
add_line(board,15," #### ");
|
||||
add_line(board,16," # # ");
|
||||
add_line(board,17," # ## # ## # # ## # #");
|
||||
add_line(board,16," # # ");
|
||||
add_line(board,17," # ## # ## # # ## # #");
|
||||
add_line(board,18," # # # ## # # # # # # # #");
|
||||
add_line(board,19," # # # # # # # # # # # # #");
|
||||
add_line(board,20," #### ## # # # # ## # ###");
|
||||
add_line(board,21," #");
|
||||
add_line(board,22," # #");
|
||||
add_line(board,23," ##");
|
||||
add_line(board,21," #");
|
||||
add_line(board,22," # #");
|
||||
add_line(board,23," ##");
|
||||
break;
|
||||
case 1:
|
||||
cy=12;
|
||||
cx=RWID/2;
|
||||
add_line(board,5, " # # # #");
|
||||
add_line(board,6, " # # ## # ");
|
||||
add_line(board,5, " # # # #");
|
||||
add_line(board,6, " # # ## # ");
|
||||
add_line(board,7, " # # # ## ### # # ## ## # # ##");
|
||||
add_line(board,8, " # # # # # # # # ## # # # ##");
|
||||
add_line(board,9, " # # # # # # # # # # # # #");
|
||||
add_line(board,10," # # ## # ## # # # # # # #");
|
||||
|
||||
add_line(board,15," #### # ");
|
||||
add_line(board,16," # # # ");
|
||||
add_line(board,15," #### # ");
|
||||
add_line(board,16," # # # ");
|
||||
add_line(board,17," # # # ## # # # ## # ## # #");
|
||||
add_line(board,18," ##### ## # # # # # # # # # #");
|
||||
add_line(board,19," # # # # # # # # # # # #");
|
||||
@ -215,100 +215,100 @@ void new_level(byte board[LEN][WID]){
|
||||
case 2:
|
||||
cy= 12;
|
||||
cx= 10;
|
||||
add_line(board,3, " ## # #");
|
||||
add_line(board,4, " ## # # ");
|
||||
add_line(board,5, " # # ");
|
||||
add_line(board,6, " # # # # ");
|
||||
add_line(board,7, " ### ### ");
|
||||
add_line(board,3, " ## # #");
|
||||
add_line(board,4, " ## # # ");
|
||||
add_line(board,5, " # # ");
|
||||
add_line(board,6, " # # # # ");
|
||||
add_line(board,7, " ### ### ");
|
||||
add_line(board,17," ## ## ");
|
||||
add_line(board,18," # # # #");
|
||||
add_line(board,19," # # # # ");
|
||||
add_line(board,20," # # ");
|
||||
add_line(board,21," ### ### ");
|
||||
add_line(board,22," ### ### ");
|
||||
add_line(board,23," ## ## ");
|
||||
add_line(board,24," ## ## ");
|
||||
add_line(board,25," # ## ## # ");
|
||||
add_line(board,20," # # ");
|
||||
add_line(board,21," ### ### ");
|
||||
add_line(board,22," ### ### ");
|
||||
add_line(board,23," ## ## ");
|
||||
add_line(board,24," ## ## ");
|
||||
add_line(board,25," # ## ## # ");
|
||||
add_line(board,26," ### ###");
|
||||
add_line(board,27," # #");
|
||||
|
||||
add_line(board,30," ##");
|
||||
add_line(board,31," ##");
|
||||
add_line(board,30," ##");
|
||||
add_line(board,31," ##");
|
||||
break;
|
||||
case 3:
|
||||
cy=RLEN/2;
|
||||
cx=RWID/2;
|
||||
add_line(board,0, " ");
|
||||
add_line(board,1, " # # ");
|
||||
add_line(board,2, " # # ");
|
||||
add_line(board,3, " ### ### ");
|
||||
add_line(board,4, " # # ");
|
||||
add_line(board,5, " # # ");
|
||||
add_line(board,6, " ### ### ");
|
||||
add_line(board,7, " # # ");
|
||||
add_line(board,8, " # # ");
|
||||
add_line(board,9, " ### ### ");
|
||||
add_line(board,10," # # ");
|
||||
add_line(board,11," # # ");
|
||||
add_line(board,12," ### ### ");
|
||||
add_line(board,13," # # ");
|
||||
add_line(board,14," # #");
|
||||
add_line(board,15," ### ###");
|
||||
add_line(board,17," ");
|
||||
add_line(board,18," # ");
|
||||
add_line(board,19," # ");
|
||||
add_line(board,20," ### ");
|
||||
add_line(board,21," # ");
|
||||
add_line(board,22," # ");
|
||||
add_line(board,23," ### ");
|
||||
add_line(board,24," # ");
|
||||
add_line(board,25," # ");
|
||||
add_line(board,26," ### ");
|
||||
add_line(board,27," # ");
|
||||
add_line(board,28," # ");
|
||||
add_line(board,29," ### ");
|
||||
add_line(board,30," # ");
|
||||
add_line(board,31," # ");
|
||||
add_line(board,32," ### ");
|
||||
add_line(board,0, " ");
|
||||
add_line(board,1, " # # ");
|
||||
add_line(board,2, " # # ");
|
||||
add_line(board,3, " ### ### ");
|
||||
add_line(board,4, " # # ");
|
||||
add_line(board,5, " # # ");
|
||||
add_line(board,6, " ### ### ");
|
||||
add_line(board,7, " # # ");
|
||||
add_line(board,8, " # # ");
|
||||
add_line(board,9, " ### ### ");
|
||||
add_line(board,10," # # ");
|
||||
add_line(board,11," # # ");
|
||||
add_line(board,12," ### ### ");
|
||||
add_line(board,13," # # ");
|
||||
add_line(board,14," # #");
|
||||
add_line(board,15," ### ###");
|
||||
add_line(board,17," ");
|
||||
add_line(board,18," # ");
|
||||
add_line(board,19," # ");
|
||||
add_line(board,20," ### ");
|
||||
add_line(board,21," # ");
|
||||
add_line(board,22," # ");
|
||||
add_line(board,23," ### ");
|
||||
add_line(board,24," # ");
|
||||
add_line(board,25," # ");
|
||||
add_line(board,26," ### ");
|
||||
add_line(board,27," # ");
|
||||
add_line(board,28," # ");
|
||||
add_line(board,29," ### ");
|
||||
add_line(board,30," # ");
|
||||
add_line(board,31," # ");
|
||||
add_line(board,32," ### ");
|
||||
break;
|
||||
case 4:
|
||||
cy=rand()%(RLEN/2);
|
||||
cx=rand()%(RWID/2);
|
||||
add_line(board,0, " ");
|
||||
add_line(board,1, " ");
|
||||
add_line(board,2, " ");
|
||||
add_line(board,3, " ");
|
||||
add_line(board,4, " ");
|
||||
add_line(board,5, " ");
|
||||
add_line(board,6, " ");
|
||||
add_line(board,0, " # # # # ");
|
||||
add_line(board,1, " # | | # # # ");
|
||||
add_line(board,2, " # # | | # # # # # # ");
|
||||
add_line(board,3 ," #### | | #### #### #### ");
|
||||
add_line(board,11," ");
|
||||
add_line(board,12," ");
|
||||
add_line(board,13," ");
|
||||
add_line(board,8 ," # # # # ");
|
||||
add_line(board,9 ," # # # # ");
|
||||
add_line(board,10," # # # # # # # # ");
|
||||
add_line(board,11," #### #### #### #### ");
|
||||
add_line(board,19," ");
|
||||
add_line(board,20," ");
|
||||
add_line(board,16," # # # # ");
|
||||
add_line(board,17," #| | # # # ");
|
||||
add_line(board,18," # #| | # # # # # # ");
|
||||
add_line(board,19," ####| | #### #### #### ");
|
||||
add_line(board,25," ");
|
||||
add_line(board,26," ");
|
||||
add_line(board,27," ");
|
||||
add_line(board,28," ");
|
||||
add_line(board,25," # # ");
|
||||
add_line(board,26," # # ");
|
||||
add_line(board,27," # # # # ");
|
||||
add_line(board,28," #### #### ");
|
||||
//add_line(board,5," #");
|
||||
//add_line(board,6," ##");
|
||||
//add_line(board,7," ##");
|
||||
add_line(board,0, " ");
|
||||
add_line(board,1, " ");
|
||||
add_line(board,2, " ");
|
||||
add_line(board,3, " ");
|
||||
add_line(board,4, " ");
|
||||
add_line(board,5, " ");
|
||||
add_line(board,6, " ");
|
||||
add_line(board,0, " # # # # ");
|
||||
add_line(board,1, " # | | # # # ");
|
||||
add_line(board,2, " # # | | # # # # # # ");
|
||||
add_line(board,3 ," #### | | #### #### #### ");
|
||||
add_line(board,11," ");
|
||||
add_line(board,12," ");
|
||||
add_line(board,13," ");
|
||||
add_line(board,8 ," # # # # ");
|
||||
add_line(board,9 ," # # # # ");
|
||||
add_line(board,10," # # # # # # # # ");
|
||||
add_line(board,11," #### #### #### #### ");
|
||||
add_line(board,19," ");
|
||||
add_line(board,20," ");
|
||||
add_line(board,16," # # # # ");
|
||||
add_line(board,17," #| | # # # ");
|
||||
add_line(board,18," # #| | # # # # # # ");
|
||||
add_line(board,19," ####| | #### #### #### ");
|
||||
add_line(board,25," ");
|
||||
add_line(board,26," ");
|
||||
add_line(board,27," ");
|
||||
add_line(board,28," ");
|
||||
add_line(board,25," # # ");
|
||||
add_line(board,26," # # ");
|
||||
add_line(board,27," # # # # ");
|
||||
add_line(board,28," #### #### ");
|
||||
//add_line(board,5," #");
|
||||
//add_line(board,6," ##");
|
||||
//add_line(board,7," ##");
|
||||
break;
|
||||
default:
|
||||
srand(level);
|
||||
@ -373,7 +373,7 @@ void reemerge(byte board[LEN][WID]){
|
||||
rx=0;
|
||||
if(board[ry][rx]!=RED){
|
||||
if(!y){
|
||||
y=LEN-1;//it can be divided at both sides of the border, this prevents failing
|
||||
y=LEN-1;//the square can be divided at both sides of the border, this prevents failing
|
||||
//it goes to look from the upper-left corner of the square as it would for other squares
|
||||
goto FoundTheFirst;
|
||||
}
|
||||
@ -417,15 +417,11 @@ void help(void){
|
||||
logo();
|
||||
attron(A_BOLD);
|
||||
mvprintw(3,0," **** THE CONTROLS ****");
|
||||
mvprintw(10,0,"YOU CAN ALSO USE THE MOUSE!");
|
||||
attroff(A_BOLD);
|
||||
mvprintw(4,0,"RETURN/ENTER : Examine for bombs");
|
||||
mvprintw(5,0,"SPACE : Flag/Unflag");
|
||||
mvprintw(6,0,"hjkl/ARROW KEYS : Move cursor");
|
||||
mvprintw(7,0,"q : Quit");
|
||||
mvprintw(8,0,"F1 & F2 : Help on controls & gameplay");
|
||||
mvprintw(9,0,"PgDn,PgUp,<,> : Scroll");
|
||||
mvprintw(12,0,"Press a key to continue");
|
||||
mvprintw(4,0,"hjkl/ARROW KEYS : Move square");
|
||||
mvprintw(5,0,"q : Quit");
|
||||
mvprintw(6,0,"F1 & F2 : Help on controls & gameplay");
|
||||
mvprintw(8,0,"Press a key to continue");
|
||||
refresh();
|
||||
getch();
|
||||
erase();
|
||||
@ -436,14 +432,9 @@ void gameplay(void){
|
||||
attron(A_BOLD);
|
||||
mvprintw(3,0," **** THE GAMEPLAY ****");
|
||||
attroff(A_BOLD);
|
||||
mvprintw(4,0,"Try to find the landmines in the field\n");
|
||||
printw("with logical reasoning: When you click\n");
|
||||
printw("on a tile ( a '.' here), numbers may show\n");
|
||||
printw("up that indicate the number of landmines\n");
|
||||
printw("in adjacent tiles; you should find and \n");
|
||||
printw("avoid the landmines based on them; and\n");
|
||||
printw("clicking on a landmine would make you\n");
|
||||
printw("lose the game.");
|
||||
mvprintw(4,0,"Catch the cross or overwhelm the\n");
|
||||
printw( "white cells with those of your own,\n");
|
||||
printw( "in the environment of Conway's game of life.\n");
|
||||
refresh();
|
||||
getch();
|
||||
erase();
|
||||
@ -513,16 +504,6 @@ int main(void){
|
||||
cinred++;
|
||||
else
|
||||
cinred=0;
|
||||
/*if(rnum>anum||cinred==2){
|
||||
mvprintw(LEN+5,0,"Well done! Press a key to continue:");
|
||||
curs_set(1);
|
||||
getch();
|
||||
curs_set(0);
|
||||
new_level(board);
|
||||
py=LEN*3/4;
|
||||
px=WID/2;
|
||||
mk_square(board);
|
||||
}*/
|
||||
count(board);
|
||||
if(rnum!=4)
|
||||
coherent=0;
|
||||
@ -543,6 +524,14 @@ int main(void){
|
||||
mk_square(board);
|
||||
continue;
|
||||
}
|
||||
else if(!rnum){
|
||||
move(LEN+5,0);
|
||||
printw("You have lost The Game");
|
||||
if(rand()%5==0)
|
||||
printw(" (and RedSquare)");
|
||||
printw(". ");
|
||||
break;
|
||||
}
|
||||
input = getch();
|
||||
live(board);
|
||||
count(board);//apparently this should come at both sides of live+draw. resulting from trial and error.
|
||||
@ -551,21 +540,6 @@ int main(void){
|
||||
if(!coherent && rnum==4)//there can be a square
|
||||
reemerge(board);
|
||||
|
||||
/*if(board[cy][cx]==RED)
|
||||
cinred++;
|
||||
else
|
||||
cinred=0;*/
|
||||
|
||||
/*if(rnum>anum||cinred==2){
|
||||
mvprintw(LEN+5,0,"Well done! Press a key to continue:");
|
||||
curs_set(1);
|
||||
getch();
|
||||
curs_set(0);
|
||||
new_level(board);
|
||||
py=LEN*3/4;
|
||||
px=WID/2;
|
||||
mk_square(board);
|
||||
}*/
|
||||
if( input==KEY_F(1) || input=='?' )
|
||||
help();
|
||||
if( input==KEY_F(2) )
|
||||
@ -599,49 +573,13 @@ int main(void){
|
||||
mk_square(board);
|
||||
}
|
||||
DidntMove:
|
||||
/*switch(rand()%5){//move the cross
|
||||
case 0:
|
||||
cx++;
|
||||
if(cx==WID)
|
||||
cx=0;
|
||||
break;
|
||||
case 1:
|
||||
cy--;
|
||||
if(cy==-1)
|
||||
cy=LEN-1;
|
||||
break;
|
||||
case 2:
|
||||
cx--;
|
||||
if(cx==-1)
|
||||
cx=WID-1;
|
||||
break;
|
||||
case 3:
|
||||
cy++;
|
||||
if(cy==LEN)
|
||||
cy=0;
|
||||
break;
|
||||
case 4:
|
||||
;//stay there
|
||||
}*/
|
||||
/*if(board[cy][cx]==RED)
|
||||
cinred++;
|
||||
else
|
||||
cinred=0;
|
||||
if(rnum>anum||cinred==2){
|
||||
mvprintw(LEN+5,0,"Well done! Press a key to continue:");
|
||||
curs_set(1);
|
||||
getch();
|
||||
curs_set(0);
|
||||
new_level(board);
|
||||
py=LEN*3/4;
|
||||
px=WID/2;
|
||||
mk_square(board);
|
||||
}*/
|
||||
if( input=='q')
|
||||
sigint_handler(0);
|
||||
}
|
||||
mvprintw(LEN+5,0,"Wanna play again?(y/n)");
|
||||
|
||||
printw("Wanna play again?(y/n)");
|
||||
curs_set(1);
|
||||
flushinp();
|
||||
input=getch();
|
||||
if(input != 'N' && input != 'n' && input != 'q')
|
||||
goto Start;
|
||||
|
Loading…
Reference in New Issue
Block a user