[gnome-games] Finally solved the colision detection bug
- From: Jason Clinton <jclinton src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-games] Finally solved the colision detection bug
- Date: Wed, 14 Oct 2009 02:53:20 +0000 (UTC)
commit d84c83c61a2374227846282fd0645025d2d1b06f
Author: Guillaume Beland <guillaume beland gmail com>
Date: Thu Aug 6 16:24:22 2009 -0400
Finally solved the colision detection bug
gnibbles/worm-clutter.c | 13 +++++--------
1 files changed, 5 insertions(+), 8 deletions(-)
---
diff --git a/gnibbles/worm-clutter.c b/gnibbles/worm-clutter.c
index 2c7193b..56616e9 100644
--- a/gnibbles/worm-clutter.c
+++ b/gnibbles/worm-clutter.c
@@ -423,6 +423,8 @@ gnibbles_worm_move_head_pointer (GnibblesWorm *worm)
if (worm->yhead <= 0)
worm->yhead = BOARDHEIGHT - 1;
+ gnibbles_worm_add_actor (worm);
+ board->walls[worm->xhead][worm->yhead] = WORMCHAR + worm->number;
}
static void
@@ -446,6 +448,9 @@ gnibbles_worm_move_tail_pointer (GnibblesWorm *worm)
default:
break;
}
+
+ gnibbles_worm_remove_actor (worm);
+ board->walls[worm->xhead][worm->yhead] = EMPTYCHAR;
}
static void
@@ -668,10 +673,8 @@ gnibbles_worm_move_head (GnibblesWorm *worm)
worm->keypress = 0;
gnibbles_worm_move_head_pointer (worm);
- gnibbles_worm_add_actor (worm);
gnibbles_worm_handle_bonus (worm);
- board->walls[worm->xhead][worm->yhead] = WORMCHAR + worm->number;
worm->length++;
if (key_queue[worm->number] && !g_queue_is_empty (key_queue[worm->number])) {
@@ -687,17 +690,11 @@ gnibbles_worm_move_tail (GnibblesWorm *worm)
if (worm->change <= 0) {
gnibbles_worm_move_tail_pointer (worm);
- gnibbles_worm_remove_actor (worm);
-
if (worm->change) {
-
gnibbles_worm_move_tail_pointer (worm);
- gnibbles_worm_remove_actor (worm);
- board->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
worm->change++;
worm->length--;
}
- board->walls[worm->xtail][worm->ytail] = EMPTYCHAR;
} else {
worm->change--;
worm->length++;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]