mirror of
https://github.com/gwenhael-le-moine/c-urs_-toil-s.git
synced 2024-12-27 09:58:44 +01:00
with colors!
This commit is contained in:
parent
d20d0885b4
commit
6ffa3ef86d
1 changed files with 37 additions and 0 deletions
37
star.c
37
star.c
|
@ -8,6 +8,15 @@
|
||||||
#define LEVEL_HEIGHT 9
|
#define LEVEL_HEIGHT 9
|
||||||
#define LEVEL_WIDTH 16
|
#define LEVEL_WIDTH 16
|
||||||
|
|
||||||
|
enum { color_BALL = 1,
|
||||||
|
color_CUBE,
|
||||||
|
color_VOID,
|
||||||
|
color_GIFT,
|
||||||
|
color_WALL,
|
||||||
|
color_BALL_SELECTED,
|
||||||
|
color_CUBE_SELECTED,
|
||||||
|
};
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
WALL ='#',
|
WALL ='#',
|
||||||
BALL ='@',
|
BALL ='@',
|
||||||
|
@ -396,14 +405,22 @@ void display_level( struct state *s )
|
||||||
for( j = 0 ; j < LEVEL_WIDTH ; j++ ) {
|
for( j = 0 ; j < LEVEL_WIDTH ; j++ ) {
|
||||||
switch( get_cell( s, j, i ) ) {
|
switch( get_cell( s, j, i ) ) {
|
||||||
case WALL:
|
case WALL:
|
||||||
|
attron( COLOR_PAIR( color_WALL ));
|
||||||
mvprintw( i+1, j*2, "##" );
|
mvprintw( i+1, j*2, "##" );
|
||||||
|
attroff( COLOR_PAIR( color_WALL ));
|
||||||
break;
|
break;
|
||||||
case VOID:
|
case VOID:
|
||||||
|
attron( COLOR_PAIR( color_VOID ));
|
||||||
mvprintw( i+1, j*2, " " );
|
mvprintw( i+1, j*2, " " );
|
||||||
|
attroff( COLOR_PAIR( color_VOID ));
|
||||||
break;
|
break;
|
||||||
case BALL:
|
case BALL:
|
||||||
if ( s->moving == BALL ) {
|
if ( s->moving == BALL ) {
|
||||||
attron( A_BOLD );
|
attron( A_BOLD );
|
||||||
|
attron( COLOR_PAIR( color_BALL_SELECTED ));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
attron( COLOR_PAIR( color_BALL ));
|
||||||
}
|
}
|
||||||
mvprintw( i+1, j*2, "()" );
|
mvprintw( i+1, j*2, "()" );
|
||||||
if ( s->moving == BALL ) {
|
if ( s->moving == BALL ) {
|
||||||
|
@ -413,14 +430,24 @@ void display_level( struct state *s )
|
||||||
case CUBE:
|
case CUBE:
|
||||||
if ( s->moving == CUBE ) {
|
if ( s->moving == CUBE ) {
|
||||||
attron( A_BOLD );
|
attron( A_BOLD );
|
||||||
|
attron( COLOR_PAIR( color_BALL_SELECTED ));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
attron( COLOR_PAIR( color_BALL ));
|
||||||
}
|
}
|
||||||
mvprintw( i+1, j*2, "[]" );
|
mvprintw( i+1, j*2, "[]" );
|
||||||
if ( s->moving == CUBE ) {
|
if ( s->moving == CUBE ) {
|
||||||
attroff( A_BOLD );
|
attroff( A_BOLD );
|
||||||
|
attroff( COLOR_PAIR( color_CUBE_SELECTED ));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
attroff( COLOR_PAIR( color_CUBE ));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GIFT:
|
case GIFT:
|
||||||
|
attron( COLOR_PAIR( color_GIFT ));
|
||||||
mvprintw( i+1, j*2, "<>" );
|
mvprintw( i+1, j*2, "<>" );
|
||||||
|
attroff( COLOR_PAIR( color_GIFT ));
|
||||||
break;
|
break;
|
||||||
default: break; /* ignore newlines */
|
default: break; /* ignore newlines */
|
||||||
}
|
}
|
||||||
|
@ -444,6 +471,16 @@ int main( int argc, char* argv[] )
|
||||||
nonl();
|
nonl();
|
||||||
intrflush( w_main, FALSE );
|
intrflush( w_main, FALSE );
|
||||||
keypad( w_main, TRUE );
|
keypad( w_main, TRUE );
|
||||||
|
/* if ( has_colors( ) == TRUE ) { */
|
||||||
|
start_color( );
|
||||||
|
init_pair( color_CUBE, COLOR_RED, COLOR_BLACK );
|
||||||
|
init_pair( color_BALL, COLOR_BLUE, COLOR_BLACK );
|
||||||
|
init_pair( color_GIFT, COLOR_YELLOW, COLOR_BLACK );
|
||||||
|
init_pair( color_WALL, COLOR_WHITE, COLOR_WHITE );
|
||||||
|
init_pair( color_VOID, COLOR_BLACK, COLOR_BLACK );
|
||||||
|
init_pair( color_CUBE_SELECTED, COLOR_RED, COLOR_YELLOW );
|
||||||
|
init_pair( color_BALL_SELECTED, COLOR_BLUE, COLOR_YELLOW );
|
||||||
|
/* } */
|
||||||
|
|
||||||
/* load the first level to start the loop in a correct state */
|
/* load the first level to start the loop in a correct state */
|
||||||
load_level( s, levels[ lvl ] );
|
load_level( s, levels[ lvl ] );
|
||||||
|
|
Loading…
Reference in a new issue