vt100 simple mode added
This commit is contained in:
parent
01af91121b
commit
569e11710f
|
@ -83,13 +83,14 @@ void merge(struct gamestate *g, direction d, void (*callback)(struct gamestate *
|
||||||
if (g->grid[x][y] && (g->grid[x][y] == g->grid[x+xoff][y+yoff])) {\
|
if (g->grid[x][y] && (g->grid[x][y] == g->grid[x+xoff][y+yoff])) {\
|
||||||
g->grid[x][y] += g->grid[x+xoff][y+yoff];\
|
g->grid[x][y] += g->grid[x+xoff][y+yoff];\
|
||||||
g->grid[x+xoff][y+yoff] = 0;\
|
g->grid[x+xoff][y+yoff] = 0;\
|
||||||
g->score_last = g->grid[x][y];\
|
g->score_last += g->grid[x][y];\
|
||||||
g->score += g->grid[x][y];\
|
g->score += g->grid[x][y];\
|
||||||
g->moved = 1;\
|
g->moved = 1;\
|
||||||
}\
|
}\
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
int x, y;
|
int x, y;
|
||||||
|
g->score_last = 0;
|
||||||
|
|
||||||
if (d == dir_left) {
|
if (d == dir_left) {
|
||||||
for (x = 0; x < g->opts->grid_width - 1; ++x) {
|
for (x = 0; x < g->opts->grid_width - 1; ++x) {
|
||||||
|
|
|
@ -70,9 +70,7 @@ int get_keypress(void)
|
||||||
return getch();
|
return getch();
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif VT100_COMPATIBLE
|
#else /* vt100 and standard shared functions */
|
||||||
|
|
||||||
#else
|
|
||||||
struct termios sattr;
|
struct termios sattr;
|
||||||
void drawstate_clear()
|
void drawstate_clear()
|
||||||
{
|
{
|
||||||
|
@ -90,8 +88,19 @@ void drawstate_init(void)
|
||||||
tcsetattr(STDOUT_FILENO, TCSANOW, &tattr);
|
tcsetattr(STDOUT_FILENO, TCSANOW, &tattr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int get_keypress(void)
|
||||||
|
{
|
||||||
|
return fgetc(stdin);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void draw_screen(struct gamestate *g)
|
void draw_screen(struct gamestate *g)
|
||||||
{
|
{
|
||||||
|
/* Clear the screen each draw if we are able to */
|
||||||
|
#ifdef VT100_COMPATIBLE
|
||||||
|
printf("\033[2J\033[H");
|
||||||
|
#endif
|
||||||
|
|
||||||
printf("HISCORE: %ld |", g->score_high);
|
printf("HISCORE: %ld |", g->score_high);
|
||||||
printf("| SCORE: %ld ", g->score);
|
printf("| SCORE: %ld ", g->score);
|
||||||
if (g->score_last) printf("(+%ld)", g->score_last);
|
if (g->score_last) printf("(+%ld)", g->score_last);
|
||||||
|
@ -114,13 +123,7 @@ void draw_screen(struct gamestate *g)
|
||||||
ITER(g->opts->grid_width, printf("------"));
|
ITER(g->opts->grid_width, printf("------"));
|
||||||
printf("-\n\n");
|
printf("-\n\n");
|
||||||
}
|
}
|
||||||
|
#endif /* CURSES */
|
||||||
int get_keypress(void)
|
|
||||||
{
|
|
||||||
return fgetc(stdin);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void ddraw(struct gamestate *g)
|
void ddraw(struct gamestate *g)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user