mvaddcb (y, x, black);
break;
case '1':
- mvaddcb (y, x, cyan);
+ mvaddcb (y, x, gray);
break;
case '2':
- mvaddcb (y, x, yellow);
+ mvaddcb (y, x, green);
break;
case '3':
- mvaddcb (y, x, magenta);
+ mvaddcb (y, x, darkgreen);
break;
case '4':
- mvaddcb (y, x, brown);
+ mvaddcb (y, x, yellow);
break;
case '5':
- mvaddcb (y, x, blue);
- break;
- case '6':
mvaddcb (y, x, red);
break;
- case '7':
- mvaddcb (y, x, green);
- break;
- case '8':
- mvaddcb (y, x, white);
- break;
}
}
}
}
-void displaysnake (board_t *board, snake_t *snake)
-{
- int i;
-
- int color = green;
- for (i = 0; i < snake->length; i++) {
- _element (board, snake->x[i], snake->y[i], color);
- color = darkgreen;
- }
-}
-
char *savewindow (int length, int xoffset, int yoffset)
{
char *name = (char *) calloc (1, length + 1);
setcolor (black_gray);
}
+void displaysnake (board_t *board, snake_t *snake)
+{
+ int i;
+
+ char symb = '2';
+ for (i = 0; i < snake->length; i++) {
+ _element (board, snake->x[i], snake->y[i], symb);
+ symb = '3';
+ }
+}
+
/* vim: set ts=4 sw=4 et: */
void msgwindow (char *msg, int xoffset, int yoffset, int length);
+void displaysnake (board_t *board, snake_t *snake);
+
#endif /* __DISPLAY_H__ */
/* vim: set ts=4 sw=4 et: */
char *cell = getcell (board, x, y);
switch (*cell) {
- case '6': /* decrease size */
+ case '5': /* decrease size */
if (snake->length > 2) {
snake->length--;
snake->x[snake->length] = 0;
}
/* fall through */
case ' ': /* only forward */
- for (i = snake->length - 1; i > 0; i++) {
+ for (i = snake->length - 1; i > 0; i--) {
snake->x[i] = snake->x[i - 1];
snake->y[i] = snake->y[i - 1];
}
break;
- case '5': /* increase size */
- for (i = snake->length - 1; i >= 0; i++) {
+ case '4': /* increase size */
+ for (i = snake->length - 1; i >= 0; i--) {
snake->x[i + 1] = snake->x[i];
snake->y[i + 1] = snake->y[i];
}
keypad (stdscr, TRUE);
curs_set (0);
start_color ();
+ halfdelay (1);
/* load playground */
int w0board = COLS - strmaxlen (help, '\n') - 2 * (xoffset + 1);
int yscore = yboard - 1;
int xhelp = xscore;
int yhelp = yscore + 3 + xoffset;
- int xcursor = board->width / 2;
- int ycursor = board->height / 2;
int xsave = max (xboard + (board->xsize - savelen) / 2, 1);
int ysave = yboard + (board->ysize - 1) / 2;
char *savename = NULL;
/* main loop */
int stop = 0;
int mode = 0;
- int dir = 3;
timeval_t turn = {0, 0};
int speed = 3000;
while (!stop) {
boardwindow (board, 1);
+ displaysnake (board, snake);
if (isovertime (&turn)) {
setendtime (&turn, speed);
if (!movesnake (board, snake, snake->dir)) {