/* * move the boat during 'n' vacations * input the boat structure, properly filled * return an int, result of boat->landed (false, is still on water) */ int move_boat_n_vac(boat *aboat, int nb_vacs) { int i; for (i=0; !aboat->landed && i<nb_vacs; i++) { move_boat(aboat); } return aboat->landed; }
/* ==================================== */ static gboolean item_event (GooCanvasItem *item, GooCanvasItem *target, GdkEventButton *event, gpointer data) { if(board_paused) return FALSE; /* If there is already an animation do nothing */ if(animation) return FALSE; if(item == lock_left_item) { if(lock_water_low && canallock_right_up) toggle_lock(item); else gc_sound_play_ogg ("sounds/crash.ogg", NULL); } else if(item == lock_right_item) { if(!lock_water_low && canallock_left_up) toggle_lock(item); else gc_sound_play_ogg ("sounds/crash.ogg", NULL); } else if(item == canallock_left_item && canallock_right_up) { if(lock_right_up) toggle_lock(item); else gc_sound_play_ogg ("sounds/crash.ogg", NULL); } else if(item == canallock_right_item && canallock_left_up) { if(lock_left_up) toggle_lock(item); else gc_sound_play_ogg ("sounds/crash.ogg", NULL); } else if(item == tuxboat_item) { move_boat(); } else { gc_sound_play_ogg ("sounds/crash.ogg", NULL); } update_lights(); return FALSE; }