|
|
|
@ -35,21 +35,21 @@ struct gfx_state* gfx_init(struct gamestate *g) |
|
|
|
|
start_color(); |
|
|
|
|
|
|
|
|
|
#ifdef INVERT_COLORS |
|
|
|
|
init_pair(0, 0, 1); |
|
|
|
|
init_pair(1, 0, 2); |
|
|
|
|
init_pair(2, 0, 3); |
|
|
|
|
init_pair(3, 0, 4); |
|
|
|
|
init_pair(4, 0, 5); |
|
|
|
|
init_pair(5, 0, 6); |
|
|
|
|
init_pair(6, 0, 7); |
|
|
|
|
init_pair(1, COLOR_BLACK, COLOR_RED); |
|
|
|
|
init_pair(2, COLOR_BLACK, COLOR_GREEN); |
|
|
|
|
init_pair(3, COLOR_BLACK, COLOR_YELLOW); |
|
|
|
|
init_pair(4, COLOR_BLACK, COLOR_BLUE); |
|
|
|
|
init_pair(5, COLOR_BLACK, COLOR_MAGENTA); |
|
|
|
|
init_pair(6, COLOR_BLACK, COLOR_CYAN); |
|
|
|
|
init_pair(7, COLOR_BLACK, COLOR_WHITE); |
|
|
|
|
#else |
|
|
|
|
init_pair(0, 1, 0); |
|
|
|
|
init_pair(1, 2, 0); |
|
|
|
|
init_pair(2, 3, 0); |
|
|
|
|
init_pair(3, 4, 0); |
|
|
|
|
init_pair(4, 5, 0); |
|
|
|
|
init_pair(5, 6, 0); |
|
|
|
|
init_pair(6, 7, 0); |
|
|
|
|
init_pair(1, COLOR_RED, COLOR_BLACK); |
|
|
|
|
init_pair(2, COLOR_GREEN, COLOR_BLACK); |
|
|
|
|
init_pair(3, COLOR_YELLOW, COLOR_BLACK); |
|
|
|
|
init_pair(4, COLOR_BLUE, COLOR_BLACK); |
|
|
|
|
init_pair(5, COLOR_MAGENTA, COLOR_BLACK); |
|
|
|
|
init_pair(6, COLOR_CYAN, COLOR_BLACK); |
|
|
|
|
init_pair(7, COLOR_WHITE, COLOR_BLACK); |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -64,32 +64,45 @@ void gfx_draw(struct gfx_state *s, struct gamestate *g) |
|
|
|
|
mvwprintw(s->window, 0, 0, "Score: %d\n", g->score); |
|
|
|
|
|
|
|
|
|
mvwprintw(s->window, 1, 0, " Hi: %d\n", g->score_high); |
|
|
|
|
|
|
|
|
|
wattron(s->window, A_DIM); |
|
|
|
|
iterate(g->opts->grid_width * (g->print_width + 2) + 1, waddch(s->window, '-')); |
|
|
|
|
wattroff(s->window, A_DIM); |
|
|
|
|
|
|
|
|
|
int x, y, |
|
|
|
|
xpos = 0, |
|
|
|
|
ypos = 3; |
|
|
|
|
|
|
|
|
|
for (y = 0; y < g->opts->grid_height; ++y, ++ypos, xpos = 0) { |
|
|
|
|
wattron(s->window, A_DIM); |
|
|
|
|
mvwprintw(s->window, ypos, xpos++, "|"); |
|
|
|
|
wattroff(s->window, A_DIM); |
|
|
|
|
|
|
|
|
|
for (x = 0; x < g->opts->grid_width; ++x) { |
|
|
|
|
if (g->grid[x][y]) { |
|
|
|
|
wattron(s->window, COLOR_PAIR(g->grid[x][y] % NUMBER_OF_COLORS)); |
|
|
|
|
wattron(s->window, COLOR_PAIR(g->grid[x][y] % NUMBER_OF_COLORS + 1)); |
|
|
|
|
mvwprintw(s->window, ypos, xpos, "%-*ld", g->print_width, merge_value(g->grid[x][y])); |
|
|
|
|
wattroff(s->window, COLOR_PAIR(g->grid[x][y] % NUMBER_OF_COLORS)); |
|
|
|
|
mvwprintw(s->window, ypos, xpos + g->print_width, " |"); |
|
|
|
|
mvwprintw(s->window, ypos, xpos + g->print_width, " "); |
|
|
|
|
wattroff(s->window, COLOR_PAIR(g->grid[x][y] % NUMBER_OF_COLORS + 1)); |
|
|
|
|
|
|
|
|
|
wattron(s->window, A_DIM); |
|
|
|
|
mvwprintw(s->window, ypos, xpos + g->print_width + 1, "|"); |
|
|
|
|
wattroff(s->window, A_DIM); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
wattron(s->window, A_DIM); |
|
|
|
|
iterate(g->print_width + 1, waddch(s->window, ' ')); |
|
|
|
|
waddch(s->window, '|'); |
|
|
|
|
wattroff(s->window, A_DIM); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
xpos += (g->print_width + 2); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
wattron(s->window, A_DIM); |
|
|
|
|
iterate(g->opts->grid_height * (g->print_width + 2) + 1, waddch(s->window, '-')); |
|
|
|
|
wattroff(s->window, A_DIM); |
|
|
|
|
wrefresh(s->window); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|