~ubuntu-branches/ubuntu/trusty/gcompris/trusty

« back to all changes in this revision

Viewing changes to src/boards/paratrooper.c

  • Committer: Bazaar Package Importer
  • Author(s): Yann Dirson
  • Date: 2006-12-15 23:08:17 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20061215230817-exr5ks1hd73s3tlk
Tags: 8.2.2-1
* New upstream bugfix release, fixes among other things the support for
  the version of gnucap shipped in etch.
* Add missing dependency on python-gtk2 (Closes: #396523).
* Removed reference to non-existent sound file from memory.c (upstream
  fix - impacts 8.2 as well).  
* Now suggests gnuchess, gnucap, and tuxpaint.
* Updated extended description for the main package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* gcompris - paratrooper.c
2
2
 *
3
 
 * Time-stamp: <2004/10/21 22:48:19 bruno>
 
3
 * Time-stamp: <2006/08/21 23:34:30 bruno>
4
4
 *
5
5
 * Copyright (C) 2000 Bruno Coudoin
6
6
 *
77
77
static void              end_board (void);
78
78
static gboolean          is_our_board (GcomprisBoard *gcomprisBoard);
79
79
static void              set_level (guint level);
80
 
static gint              key_press(guint keyval);
 
80
static gint              key_press(guint keyval, gchar *commit_str, gchar *preedit_str);
81
81
 
82
82
static GnomeCanvasItem  *paratrooper_create_cloud(GnomeCanvasGroup *parent);
83
83
static gint              paratrooper_drop_clouds (GtkWidget *widget, gpointer data);
99
99
{
100
100
   NULL,
101
101
   NULL,
102
 
   N_("Paratrooper"),
103
 
   N_("Direct the paratrooper to help him land safely"),
 
102
   "Parachutist",
 
103
   "Direct the parachutist to help him or her land safely",
104
104
   "Bruno Coudoin <bruno.coudoin@free.fr>",
105
105
   NULL,
106
106
   NULL,
114
114
   NULL,
115
115
   set_level,
116
116
   NULL,
 
117
   NULL,
 
118
   NULL,
117
119
   NULL
118
120
};
119
121
 
123
125
 *
124
126
 */
125
127
 
126
 
BoardPlugin 
127
 
*get_bplugin_info(void)
128
 
{
129
 
  return &menu_bp;
130
 
}
 
128
GET_BPLUGIN_INFO(paratrooper)
131
129
 
132
130
/*
133
131
 * in : boolean TRUE = PAUSE : FALSE = CONTINUE
155
153
        {
156
154
          gcomprisBoard->level++;
157
155
          if(gcomprisBoard->level>gcomprisBoard->maxlevel) { // the current board is finished : bail out
158
 
            board_finished(BOARD_FINISHED_RANDOM);
 
156
            gc_bonus_end_display(BOARD_FINISHED_RANDOM);
159
157
            return;
160
158
          }
161
159
          printf("paratrooper pause start next level\n");
183
181
    {
184
182
      gcomprisBoard=agcomprisBoard;
185
183
 
186
 
      gcompris_set_background(gnome_canvas_root(gcomprisBoard->canvas), "images/scenery3_background.png");
 
184
      /* disable im_context */
 
185
      gcomprisBoard->disable_im_context = TRUE;
 
186
 
 
187
      gc_set_background(gnome_canvas_root(gcomprisBoard->canvas), "images/scenery3_background.png");
187
188
 
188
189
 
189
190
      /* set initial values for this level */
190
191
      gcomprisBoard->level = 1;
191
192
      gcomprisBoard->maxlevel = 6;
192
 
      gcompris_bar_set(GCOMPRIS_BAR_LEVEL);
 
193
      gc_bar_set(GC_BAR_LEVEL);
193
194
 
194
195
      /* Init of paratrooper struct */
195
196
      paratrooperItem.rootitem = NULL;
226
227
    }
227
228
}
228
229
 
229
 
static gint key_press(guint keyval)
 
230
static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
230
231
{
231
232
 
232
233
  if(!gcomprisBoard)
233
 
    return TRUE;
 
234
    return FALSE;
234
235
 
235
236
 
236
237
  /* Add some filter for control and shift key */
256
257
    case GDK_KP_Enter:
257
258
    case GDK_Return:
258
259
      return TRUE;
259
 
    case GDK_KP_0:
260
 
    case GDK_KP_Insert:
261
 
      keyval=GDK_0;
262
 
      break;
263
 
    case GDK_KP_1:
264
 
    case GDK_KP_End:
265
 
      keyval=GDK_1;
266
 
      break;
267
 
    case GDK_KP_2:
268
 
    case GDK_KP_Down:
269
 
      keyval=GDK_2;
270
 
      break;
271
 
    case GDK_KP_3:
272
 
    case GDK_KP_Page_Down:
273
 
      keyval=GDK_3;
274
 
      break;
275
 
    case GDK_KP_4:
276
 
    case GDK_KP_Left:
277
 
      keyval=GDK_4;
278
 
      break;
279
 
    case GDK_KP_5:
280
 
    case GDK_KP_Begin:
281
 
      keyval=GDK_5;
282
 
      break;
283
 
    case GDK_KP_6:
284
 
    case GDK_KP_Right:
285
 
      keyval=GDK_6;
286
 
      break;
287
 
    case GDK_KP_7:
288
 
    case GDK_KP_Home:
289
 
      keyval=GDK_7;
290
 
      break;
291
 
    case GDK_KP_8:
292
 
    case GDK_KP_Up:
293
 
      keyval=GDK_8;
294
 
      break;
295
 
    case GDK_KP_9:
296
 
    case GDK_KP_Page_Up:
297
 
      keyval=GDK_9;
298
 
      break;
299
260
    case GDK_Right:
300
261
      break;
301
262
    case GDK_Left:
344
305
 
345
306
  gamewon = FALSE;
346
307
 
347
 
  gcompris_bar_set_level(gcomprisBoard);
 
308
  gc_bar_set_level(gcomprisBoard);
348
309
 
349
310
  paratrooper_destroy_all_items();
350
311
 
352
313
  speed=100+(30/(gcomprisBoard->level));
353
314
  gcomprisBoard->number_of_sublevel=0;
354
315
  /* Make the images tend to 0.5 ratio */
355
 
  imageZoom=0.3+(0.4/(gcomprisBoard->level));
 
316
  imageZoom=0.4+(0.4/(gcomprisBoard->level));
356
317
 
357
318
  /* Setup and Display the plane */
358
319
  planespeed_y = 0;
359
320
  planespeed_x = 4 + gcomprisBoard->level;
360
321
  str = g_strdup_printf("%s%s", pixmapsdir, "tuxplane.png");
361
 
  pixmap = gcompris_load_pixmap(str);
 
322
  pixmap = gc_pixmap_load(str);
362
323
  plane_x = 0;
363
324
  plane_y = 40;
364
325
  planeitem = gnome_canvas_item_new (gnome_canvas_root(gcomprisBoard->canvas),
387
348
  /* Display the target */
388
349
  g_free(str);
389
350
  str = g_strdup_printf("%s%s", pixmapsdir, "fishingboat.png");
390
 
  pixmap = gcompris_load_pixmap(str);
 
351
  pixmap = gc_pixmap_load(str);
391
352
  boat_x = 350;
392
353
  boat_y = gcomprisBoard->height-100;
393
354
  boat_landarea_y = boat_y+20;
424
385
 
425
386
  g_free(str);
426
387
  str = g_strdup_printf("%s%s", pixmapsdir, "minitux.png");
427
 
  pixmap = gcompris_load_pixmap(str);
 
388
  pixmap = gc_pixmap_load(str);
428
389
 
429
390
  paratrooperItem.paratrooper = gnome_canvas_item_new (GNOME_CANVAS_GROUP(paratrooperItem.rootitem),
430
391
                                                       gnome_canvas_pixbuf_get_type (),
442
403
 
443
404
  g_free(str);
444
405
  str = g_strdup_printf("%s%s", pixmapsdir, "parachute.png");
445
 
  pixmap = gcompris_load_pixmap(str);
 
406
  pixmap = gc_pixmap_load(str);
446
407
 
447
408
  paratrooperItem.parachute = gnome_canvas_item_new (GNOME_CANVAS_GROUP(paratrooperItem.rootitem),
448
409
                                                     gnome_canvas_pixbuf_get_type (),
612
573
        {
613
574
          gnome_canvas_item_hide(paratrooperItem.parachute);
614
575
          paratrooperItem.status = TUX_LANDED;
615
 
          gcompris_play_ogg ("bonus", NULL);
 
576
          gc_sound_play_ogg ("sounds/bonus.ogg", NULL);
616
577
          next_state();
617
578
        }
618
579
      else
624
585
            {
625
586
              gnome_canvas_item_hide(paratrooperItem.parachute);
626
587
              paratrooperItem.status = TUX_CRASHED;
627
 
              gcompris_play_ogg ("crash", NULL);
 
588
              gc_sound_play_ogg ("sounds/crash.ogg", NULL);
628
589
              next_state();
629
590
            }
630
591
        }
648
609
 
649
610
 
650
611
  str = g_strdup_printf("%s%s", pixmapsdir, "cloud.png");
651
 
  pixmap = gcompris_load_pixmap(str);
 
612
  pixmap = gc_pixmap_load(str);
652
613
 
653
614
  if(windspeed>0)
654
615
    x = 0;
732
693
      break;
733
694
    case TUX_LANDED:
734
695
      gamewon = TRUE;
735
 
      gcompris_display_bonus(gamewon, BONUS_TUX);
 
696
      gc_bonus_display(gamewon, BONUS_TUX);
736
697
      break;
737
698
    case TUX_CRASHED:
738
699
      /* Restart */
768
729
         
769
730
   return FALSE;
770
731
 }
771
 
 
772
 
 
773
 
 
774
 
 
775
 
/* Local Variables: */
776
 
/* mode:c */
777
 
/* eval:(load-library "time-stamp") */
778
 
/* eval:(make-local-variable 'write-file-hooks) */
779
 
/* eval:(add-hook 'write-file-hooks 'time-stamp) */
780
 
/* eval:(setq time-stamp-format '(time-stamp-yyyy/mm/dd time-stamp-hh:mm:ss user-login-name)) */
781
 
/* End: */