[Tux4kids-commits] r314 - tuxmath/trunk/src
tholy-guest at alioth.debian.org
tholy-guest at alioth.debian.org
Tue Nov 6 14:08:30 UTC 2007
Author: tholy-guest
Date: 2007-11-06 14:08:30 +0000 (Tue, 06 Nov 2007)
New Revision: 314
Modified:
tuxmath/trunk/src/game.c
Log:
Small improvement to help: give kids more control over the pace of the
help messages, by putting in a couple of "Press any key to continue"
type messages. This might be better handling kids with very different
reading speeds.
Modified: tuxmath/trunk/src/game.c
===================================================================
--- tuxmath/trunk/src/game.c 2007-10-31 20:48:17 UTC (rev 313)
+++ tuxmath/trunk/src/game.c 2007-11-06 14:08:30 UTC (rev 314)
@@ -108,6 +108,7 @@
//static int extra_life_counter;
static int bonus_comet_counter;
static int extra_life_earned;
+static int key_pressed;
/* Feedback-related variables */
static int city_expl_height;
@@ -126,7 +127,7 @@
static laser_type laser;
static SDL_Surface* bkgd = NULL;
-static game_message s1, s2, s3, s4;
+static game_message s1, s2, s3, s4, s5;
typedef struct {
int x_is_blinking;
int extra_life_is_blinking;
@@ -599,6 +600,7 @@
game_clear_message(&s2);
game_clear_message(&s3);
game_clear_message(&s4);
+ game_clear_message(&s5);
help_controls.x_is_blinking = 0;
help_controls.extra_life_is_blinking = 0;
@@ -718,8 +720,15 @@
game_set_message(&s1,"If an igloo gets hit by a comet,",left_edge,100);
game_set_message(&s2,"it melts. But don't worry, the",left_edge,135);
game_set_message(&s3,"penguin is OK!",left_edge,170);
- game_set_message(&s4,"Watch what happens:",left_edge,225);
+ game_set_message(&s4,"Just watch what happens:",left_edge,225);
+ game_set_message(&s5,"(Press a key to start)",left_edge,260);
+ key_pressed = 0;
+ while (!key_pressed && !(quit_help = help_renderframe_exit()));
+ if (quit_help)
+ return;
+ game_clear_message(&s5);
+
help_add_comet(3,MC_OPER_MULT,3,9);
comets[0].y = 2*(screen->h)/3; // start it low down
while (!(comets[0].expl) && !(quit_help = help_renderframe_exit())); // wait 3 secs
@@ -727,7 +736,7 @@
return;
game_set_message(&s4,"Notice the answer",left_edge,comets[0].y-100);
help_renderframe_exit();
- SDL_Delay(2000);
+ SDL_Delay(4000);
frame_start = frame;
while (frame-frame_start < 5*FPS && !(quit_help = help_renderframe_exit())); // wait 5 secs
@@ -736,9 +745,15 @@
game_set_message(&s1,"If it gets hit again, the",left_edge,100);
game_set_message(&s2,"penguin leaves.",left_edge,135);
- game_clear_message(&s3);
+ game_set_message(&s3, "(Press a key when ready)",left_edge,200);
game_clear_message(&s4);
+ key_pressed = 0;
+ while (!key_pressed && !(quit_help = help_renderframe_exit()));
+ if (quit_help)
+ return;
+ game_clear_message(&s3);
+
help_add_comet(56,MC_OPER_DIV,8,7);
comets[0].y = 2*(screen->h)/3; // start it low down
while (comets[0].alive && !(quit_help = help_renderframe_exit()));
@@ -887,6 +902,7 @@
game_write_message(&s2);
game_write_message(&s3);
game_write_message(&s4);
+ game_write_message(&s5);
}
void game_handle_user_events(void)
@@ -3016,6 +3032,8 @@
void game_key_event(SDLKey key)
{
+ key_pressed = 1; // Signal back in cases where waiting on any key
+
if (key == SDLK_ESCAPE)
{
/* Escape key - quit! */
More information about the Tux4kids-commits
mailing list