#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX(a, b) ((a) > (b) ? (a) : (b))
+enum {
+ GAME_YPOS = 1 // top row of game and goal areas.
+};
+
static const char *progname = "rrace";
static const struct option lopts[] = { LOPTS_INITIALIZER, {0} };
getmaxyx(border, h, w);
w = 2*(w+1)/2;
- if (mvwin(border, 2+h*y, start_column+w*x) == ERR)
+ if (mvwin(border, 1+GAME_YPOS+h*y, start_column+w*x) == ERR)
return;
if (colour != TILE_EMPTY) {
getmaxyx(stdscr, h, w);
- if (h <= 2) {
+ if (h <= GAME_YPOS+1) {
bl = ACS_ULCORNER, br = ACS_URCORNER;
- } else if (h <= 3*sz+2) {
+ } else if (h <= 3*sz+GAME_YPOS+1) {
bl = br = ACS_VLINE, bs = ' ';
}
/* Frame for game area */
w = MIN(scr_w-2, 3+10*gamesz);
- h = MIN(scr_h-1, 2+5*gamesz);
- realloc_area(&state->gamewin[WINDOW_AREA], h, w, 1, 2);
+ h = MIN(scr_h-GAME_YPOS, 2+5*gamesz);
+ realloc_area(&state->gamewin[WINDOW_AREA], h, w, GAME_YPOS, 2);
/* Frame for goal area */
w = MIN(scr_w-split, 3+6*goalsz);
- h = MIN(scr_h-1, 2+3*goalsz);
- realloc_area(&state->goalwin[WINDOW_AREA], h, w, 1, split);
+ h = MIN(scr_h-GAME_YPOS, 2+3*goalsz);
+ realloc_area(&state->goalwin[WINDOW_AREA], h, w, GAME_YPOS, split);
}
static void app_initialize(int argc, char **argv)
w = 2*(w+1)/2;
if (x < 4 || (x -= 4)/5 >= w) return;
- if (y < 2 || (y -= 2)/5 >= h) return;
+ if (y <= GAME_YPOS || (y -= GAME_YPOS+1)/5 >= h) return;
/* Turn off the keyboard cursor when using the mouse */
cursor_mask = state->cursor < 0 ? -1 : 1ul << state->cursor;