void drawTile(int tile) { if (tile) { int i = 1 << tile; int color = (tile % COLORS_NO) + 1; coloron(color); if (i < 100) printw(" %2d ", i); else printw("%4d", i); coloroff(color); } else addstr(" . "); }
void drawGrid(const Grid& grid) { rescur(); addch('\n'); for (int y=0; y<WY; ++y) { for (int x=0; x<WX; ++x) { addstr(" "); drawTile(grid.getTile(x, y)); } addstr("\n\n\n"); } addstr(" "); coloron(14); printw(" 2k48 moves: %-4d ", grid.getMoves()); coloroff(14); refresh(); animDelay(); }
void printbar (const char *str, double perc, int reverse) { int bar = (int) (perc * 0.25); int i; if (str == NULL || perc < 0.0 || perc > 100.0) return; if (strlen (str) > 6) { mvprintw (global.line++, 0, "%s:\n", str); mvprintw (global.line++, 0, "\t%3d%% [", (int) perc); } else mvprintw (global.line++, 0, "%s:\t%3d%% [", str, (int) perc); if (reverse) { if (perc > 50.0) coloron (GREEN); else if (perc > 10.0 && perc <= 50.0) coloron (YELLOW); else coloron (RED); } else { if (perc < 50.0) coloron (GREEN); else if (perc >= 50.0 && perc < 90.0) coloron (YELLOW); else coloron (RED); } for (i = 0; i < bar; ++i) printw ("="); for (; i < 25; ++i) printw (" "); coloroff (GREEN); coloroff (YELLOW); printw ("]"); }