1
0
Fork 0

Fixing redsquare (-_Q)

This commit is contained in:
untakenstupidnick 2020-05-24 17:41:50 +04:30
parent 1746aac1de
commit 8705689026
1 changed files with 115 additions and 177 deletions

View File

@ -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;