diff options
author | Thomas Martitz <kugel@rockbox.org> | 2009-02-05 14:22:04 +0000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2009-02-05 14:22:04 +0000 |
commit | d8662489dc19592abccca44c0e1254584c6a0d29 (patch) | |
tree | ea116005b859397acca88f8e4c8c8889c954c5d9 | |
parent | 6db3aace5931e722b7a68b2ec1646fa49c077688 (diff) |
Fix FS#2533, apple appearing late in the snake plugin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19926 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/plugins/snake.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c index ef179c6654..a80aaa0cff 100644 --- a/apps/plugins/snake.c +++ b/apps/plugins/snake.c @@ -194,7 +194,8 @@ PLUGIN_HEADER static int board[BOARD_WIDTH][BOARD_HEIGHT],snakelength; static unsigned int score,hiscore=0,level=1; -static short dir,frames,apple,dead=0; +static int dir,dead=0; +static bool apple; void die (void) { @@ -224,7 +225,7 @@ void colission (short x, short y) case -1: snakelength+=2; score+=level; - apple=0; + apple=false; break; default: die(); @@ -356,19 +357,15 @@ void game (void) { frame(); if (dead) return; - frames++; - if (frames==10) { - frames=0; - if (!apple) { - do { - x=rb->rand() % BOARD_WIDTH; - y=rb->rand() % BOARD_HEIGHT; - } while (board[x][y]); - apple=1; - board[x][y]=-1; - rb->lcd_fillrect((x*4)+1,y*4,2,4); - rb->lcd_fillrect(x*4,(y*4)+1,4,2); - } + if (!apple) { + do { + x=rb->rand() % BOARD_WIDTH; + y=rb->rand() % BOARD_HEIGHT; + } while (board[x][y]); + apple=true; + board[x][y]=-1; + rb->lcd_fillrect((x*4)+1,y*4,2,4); + rb->lcd_fillrect(x*4,(y*4)+1,4,2); } rb->sleep(HZ/level); @@ -423,7 +420,7 @@ void game_init(void) { } } dead=0; - apple=0; + apple=false; snakelength=4; score=0; board[11][7]=1; |