Re: GNOME Breakout initial public development release



On Tue, 21 Mar 2000, Michael Pearson wrote:

> The main reason I'm posting this message is the first requirement: I'd really
> like somebody to check the package out before I make a freshmeat or
> happypenguin announcement.

Seems very nice - no installation problems, clean code, not horribly
buggy.

> If you're interested, the source is available at
> http://www.tuial.com/~alcaron/software/gnome-breakout-0.1.0.tar.gz
> 
> Even if you can break it and send me a backtrace and bug report, that's great.

1. Would be nice to have mouse control of the paddle.
2. I really want bigger playing fields (I'm remembering Epic's Super Blast
here - could do full screen on a wide variety of screen resolutions).

Sorry, am not offering to implement these just yet. :)

> I already know about the bug where the ball doesn't come down. If you can fix
> this, that's even better :)

Here is a stupid little patch that might help things (not like I tested
it, but since I had a fun time playing I felt obligated to give this a try
:)

--- ./ball.c.sopwith	Tue Mar 21 01:46:45 2000
+++ ./ball.c	Tue Mar 21 01:52:36 2000
@@ -129,8 +129,20 @@
 
 /* Moves the ball one frame */
 void move_ball(Ball *ball) {
+	gdouble y_increment;
+
+#ifdef FIND_REAL_SOURCE_OF_BUG
+	g_assert(y_increment >= 1);
+#else
+	y_increment = 1;
+	do {
+	  if(y_increment < 1) ball->direction = DEFAULT_DIRECTION;
+	  y_increment (gdouble) ball->speed * cos(ball->direction);
+	} while(y_increment < 1);
+#endif
+
 	ball->geometry.x1 += (gdouble) ball->speed * sin(ball->direction);
-	ball->geometry.y1 += (gdouble) ball->speed * cos(ball->direction);
+	ball->geometry.y1 += y_increment;
 	ball->geometry.x2 = ball->geometry.x1 + BALL_WIDTH;
 	ball->geometry.y2 = ball->geometry.y1 + BALL_HEIGHT;
 	update_canvas_position((Entity *) ball);

-- Elliot
"Moron of the week" for four years running




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]