/* Called with items_lock locked */ static void wordsgame_next_level_unlocked() { gcomprisBoard->number_of_sublevel = 10 + ((gcomprisBoard->level-1) * 5); gc_score_start(SCORESTYLE_NOTE, BOARDWIDTH - 195, BOARDHEIGHT - 30, gcomprisBoard->number_of_sublevel); gc_bar_set_level(gcomprisBoard); gc_score_set(gcomprisBoard->sublevel); wordsgame_destroy_all_items(); if (preedit_text){ goo_canvas_item_remove(preedit_text); preedit_text=NULL; } gc_im_reset(); items=g_ptr_array_new(); items2del=g_ptr_array_new(); /* Increase speed only after 5 levels */ if(gcomprisBoard->level > 5) { gint temp = fallSpeed-gcomprisBoard->level*200; if (temp > MIN_FALLSPEED) fallSpeed=temp; } pause_board(FALSE); }
/* set initial values for the next level */ static void imageid_next_level() { gc_bar_set_level(gcomprisBoard); imageid_destroy_all_items(); selected_button = NULL; gamewon = FALSE; destroy_board_list(); init_xml(gcomprisBoard->level); gcomprisBoard->number_of_sublevel = g_list_length(board_list); gc_score_end(); gc_score_start(SCORESTYLE_NOTE, BOARDWIDTH - 195, BOARDHEIGHT - 30, gcomprisBoard->number_of_sublevel); gc_score_set(gcomprisBoard->sublevel); /* Try the next level */ imageid_create_item(goo_canvas_get_root_item(gcomprisBoard->canvas)); }
/* ===================================================================== * * =====================================================================*/ static void start_board (GcomprisBoard *agcomprisBoard) { if(agcomprisBoard!=NULL) { gcomprisBoard=agcomprisBoard; gcomprisBoard->level=1; gcomprisBoard->maxlevel=LAST_BOARD; gcomprisBoard->sublevel = 1; gcomprisBoard->number_of_sublevel = 8; gc_bar_set(GC_BAR_LEVEL); gc_score_start(SCORESTYLE_NOTE, BOARDWIDTH - 195, BOARDHEIGHT - 30, gcomprisBoard->number_of_sublevel); gamewon = FALSE; init_xml(); g_signal_connect(goo_canvas_get_root_item(gcomprisBoard->canvas), "button_press_event", (GtkSignalFunc) item_event, NULL); colors_next_level(); pause_board(FALSE); } }
static void level_set_score() { int l; g_message("letters_array length for level %d is %ld\n", gcomprisBoard->level, g_utf8_strlen(letters_array[gcomprisBoard->level-1],-1)); l = g_utf8_strlen(letters_array[gcomprisBoard->level-1],-1)/3; gcomprisBoard->number_of_sublevel = (DEFAULT_SUBLEVEL>l?DEFAULT_SUBLEVEL:l); gc_score_start(SCORESTYLE_NOTE, BOARDWIDTH - 195, BOARDHEIGHT - 30, gcomprisBoard->number_of_sublevel); gc_bar_set(GC_BAR_CONFIG|GC_BAR_LEVEL); }
static void start_board (GcomprisBoard *agcomprisBoard) { if(agcomprisBoard!=NULL) { gcomprisBoard=agcomprisBoard; gcomprisBoard->level=1; gcomprisBoard->sublevel=1; gc_bar_set(GC_BAR_LEVEL|GC_BAR_CONFIG); gc_bar_location(-1, -1, 0.7); if (strcmp(gcomprisBoard->mode, "count") == 0) board_mode = MODE_COUNT; else if (strcmp(gcomprisBoard->mode, "weight") == 0) board_mode = MODE_WEIGHT; else board_mode = DEFAULT_MODE; gcomprisBoard->maxlevel = (board_mode == MODE_COUNT) ? 4 : 5; gcomprisBoard->number_of_sublevel = (board_mode == MODE_COUNT) ? 5 : 3; bonus_item = (board_mode == MODE_COUNT) ? GC_BONUS_SMILEY : GC_BONUS_TUX; gamewon = FALSE; pause_board(FALSE); GHashTable *config = gc_db_get_board_conf(); gchar *drag_mode_str = g_hash_table_lookup( config, "drag_mode"); if (drag_mode_str && (strcmp (drag_mode_str, "NULL") != 0)) drag_mode = g_ascii_strtod(drag_mode_str, NULL); else drag_mode = GC_DRAG_MODE_DEFAULT; gc_set_background(goo_canvas_get_root_item(gcomprisBoard->canvas), "scale/tabepice.jpg"); gc_drag_start(goo_canvas_get_root_item(gcomprisBoard->canvas), (GcDragFunc)scale_drag_event, drag_mode); gc_score_start(SCORESTYLE_NOTE, BOARDWIDTH - 220, 450 , gcomprisBoard->number_of_sublevel); scale_next_level(); } }
/* void gc_score_start (ScoreStyleList style, guint x, guint y, guint max); */ static PyObject* py_gc_score_start(PyObject* self, PyObject* args) { int style; int x,y; guint max; /* Parse arguments */ if(!PyArg_ParseTuple(args, "iiii:gc_score_start", &style, &x, &y, &max)) return NULL; if(max<0) return NULL; /* Call the corresponding C function */ gc_score_start(style, x, y, max); /* Create and return the result */ Py_INCREF(Py_None); return Py_None; }
/* set initial values for the next level */ static void planegame_next_level() { RsvgHandle *svg_handle = NULL; GooCanvasItem *item; gc_bar_set_level(gcomprisBoard); planegame_destroy_all_items(); rootitem = goo_canvas_group_new (goo_canvas_get_root_item(gcomprisBoard->canvas), NULL); clouds_rootitem = goo_canvas_group_new (rootitem, NULL); /* Try the next level */ speed=100+(40/(gcomprisBoard->level)); fallSpeed=10000-gcomprisBoard->level*200; /* Make the images tend to 0.5 ratio */ imageZoom=0.3+(0.5/(gcomprisBoard->level)); /* Setup and Display the plane */ planespeed_y = 0; planespeed_x = 0; svg_handle = gc_rsvg_load("planegame/tuxhelico.svgz"); plane_x = 50; plane_y = 300; planeitem = goo_canvas_group_new (rootitem, NULL); goo_canvas_item_translate(planeitem, plane_x, plane_y); item = goo_canvas_svg_new (planeitem, svg_handle, NULL); goo_canvas_item_scale(item, 0.4 * imageZoom, 0.4 * imageZoom); g_object_unref(svg_handle); /* Game rules */ plane_target = 1; plane_last_target = 10; gcomprisBoard->number_of_sublevel=plane_last_target; gcomprisBoard->sublevel=plane_target; if(gcomprisBoard->level>1) { /* No scoring after level 1 */ gc_score_end(); } else { gc_score_start(SCORESTYLE_NOTE, BOARDWIDTH - 195, BOARDHEIGHT - 30, gcomprisBoard->number_of_sublevel); gc_score_set(gcomprisBoard->sublevel); } }
static void start_board (GcomprisBoard *agcomprisBoard) { GHashTable *config = gc_db_get_board_conf(); guint ready; board_paused = TRUE; gc_locale_set(g_hash_table_lookup( config, "locale_sound")); g_hash_table_destroy(config); ready = sounds_are_fine(); gc_sound_bg_pause(); if (agcomprisBoard!=NULL) { gcomprisBoard=agcomprisBoard; if ( gcomprisBoard->mode && g_ascii_strcasecmp(gcomprisBoard->mode, "uppercase")==0 ) uppercase_only = TRUE; else uppercase_only = FALSE; gc_set_background(goo_canvas_get_root_item(gcomprisBoard->canvas), "click_on_letter/background.svgz"); gc_score_start(SCORESTYLE_NOTE, 50, 50, 0); load_datafile(); gcomprisBoard->level=1; gcomprisBoard->sublevel=1; carriage_svg_handle = gc_rsvg_load("click_on_letter/carriage.svgz"); rsvg_handle_get_dimensions (carriage_svg_handle, &carriage_svg_dimension); cloud_svg_handle = gc_rsvg_load("click_on_letter/cloud.svgz"); rsvg_handle_get_dimensions (cloud_svg_handle, &cloud_svg_dimension); if(ready) { if(ready == OK) click_on_letter_next_level(); gamewon = FALSE; pause_board(FALSE); } RsvgHandle *svg_handle; svg_handle = gc_rsvg_load("click_on_letter/repeat.svg"); if(svg_handle) { gc_bar_set_repeat_icon(svg_handle); g_object_unref(svg_handle); gc_bar_set(GC_BAR_CONFIG|GC_BAR_LEVEL|GC_BAR_REPEAT_ICON); } else { gc_bar_set(GC_BAR_CONFIG|GC_BAR_LEVEL|GC_BAR_REPEAT); } gc_bar_location(BOARDWIDTH-300, 5, 0.7); } }