Fix adding to full columns
This commit is contained in:
parent
70b1eef1d6
commit
e98c732979
1 changed files with 15 additions and 2 deletions
17
connect4.c
17
connect4.c
|
|
@ -280,8 +280,11 @@ static int askColumn(
|
||||||
int column = 0;
|
int column = 0;
|
||||||
#ifdef ARROWS
|
#ifdef ARROWS
|
||||||
move( BOARD_Y, BOARD_X );
|
move( BOARD_Y, BOARD_X );
|
||||||
if( board.player ) addstr( "1" );
|
if( board.player ) addstr( "p1" );
|
||||||
else addstr( "0" );
|
else addstr( "p0" );
|
||||||
|
refresh();
|
||||||
|
for(; board.heigth[ column ] >= BOARD_HEIGTH; )
|
||||||
|
column += ( column < BOARD_WIDTH - 1 );
|
||||||
for(;;){
|
for(;;){
|
||||||
int ch = mvgetch(
|
int ch = mvgetch(
|
||||||
BOARD_Y + BOARD_DY * ( BOARD_HEIGTH - board.heigth[ column ] ),
|
BOARD_Y + BOARD_DY * ( BOARD_HEIGTH - board.heigth[ column ] ),
|
||||||
|
|
@ -297,6 +300,16 @@ static int askColumn(
|
||||||
case KEY_DOWN:
|
case KEY_DOWN:
|
||||||
return column;
|
return column;
|
||||||
}
|
}
|
||||||
|
for(; board.heigth[ column ] >= BOARD_HEIGTH; ) switch( ch ){
|
||||||
|
case KEY_RIGHT:
|
||||||
|
if( column >= BOARD_WIDTH ) ch = KEY_LEFT;
|
||||||
|
else column++;
|
||||||
|
break;
|
||||||
|
case KEY_LEFT:
|
||||||
|
if( column == 0 ) ch = KEY_RIGHT;
|
||||||
|
else column--;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#else /* !ARROWS */
|
#else /* !ARROWS */
|
||||||
for(;;){
|
for(;;){
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue