Added option to input via arrow keys

This commit is contained in:
AnnaSnoeijs 2025-06-06 21:31:59 +02:00
parent 30c1b383e5
commit 70b1eef1d6

View file

@ -47,6 +47,8 @@
#define ONLYPUT
#define ARROWS
#ifndef ONLYPUT
typedef enum {
PUT,
@ -276,6 +278,27 @@ static int askColumn(
#endif /* ONLYPUT */
){
int column = 0;
#ifdef ARROWS
move( BOARD_Y, BOARD_X );
if( board.player ) addstr( "1" );
else addstr( "0" );
for(;;){
int ch = mvgetch(
BOARD_Y + BOARD_DY * ( BOARD_HEIGTH - board.heigth[ column ] ),
BOARD_X + 1 + BOARD_DX * ( column + 1 )
);
switch( ch ){
case KEY_RIGHT:
column += ( column < BOARD_WIDTH - 1 );
break;
case KEY_LEFT:
column -= ( column > 0 );
break;
case KEY_DOWN:
return column;
}
}
#else /* !ARROWS */
for(;;){
mvaddstr(
INPUT_Y,
@ -290,7 +313,6 @@ static int askColumn(
#endif /* ONLYPUT */
addstr( " put the piece? " );
#ifndef ONLYPUT
break;
case POP:
addstr( " pop a piece? " );
}
@ -304,8 +326,7 @@ static int askColumn(
INPUT_X
);
clrtoeol();
if( column >= 0 && column < BOARD_WIDTH ) // The collumn--; is a really
// temporary placeholder to make the unfinished shit compile at least
if( column >= 0 && column < BOARD_WIDTH )
#ifndef ONLYPUT
switch( move ){
case PUT:
@ -323,6 +344,7 @@ static int askColumn(
#endif /* ! ONLYPUT */
else addstr( "Pls enter a column that exists" );
}
#endif /* ! ARROWS */
}
#ifndef ONLYPUT