#include <curses.h>
#define StartX 1
#define StartY 1
#define TRUE 1
#define FALSE 0
void init()
{
initscr();
cbreak();
nonl();
noecho();
intrflush( stdscr, FALSE );
keypad( stdscr, TRUE );
refresh();
}
int main()
{
int x = StartX;
int y = StartY;
int ch ;
init( );
box(stdscr, '|','-');
attron( A_REVERSE );
move( x,y );
do
{
ch = getch();
switch( ch )
{
case KEY_UP:
--x ;
break;
case KEY_DOWN:
++x ;
break;
case KEY_LEFT:
--y ;
break ;
case KEY_RIGHT:
++y ;
break ;
case 9:
y+=7 ;
break ;
case 13:
++x ;
y=0;
break ;
case 8:
mvaddch( x,--y, ' ');
break ;
case 27:
endwin();
exit( 1 );
default:
addch( ch );
y++;
break;
}
move( x, y );
}while( 1 );
}