diff options
Diffstat (limited to 'src/boards')
40 files changed, 160 insertions, 162 deletions
diff --git a/src/boards/Makefile.am b/src/boards/Makefile.am index 0e8e04a..cd27119 100644 --- a/src/boards/Makefile.am +++ b/src/boards/Makefile.am @@ -23,6 +23,15 @@ cairo_ldflags = cairo_cflags = endif +if PLATFORM_WIN32 +shared = -shared +no_undefined = -no-undefined +gc_libs = $(GCOMPRIS_LIBS) +else +shared = +no_undefined = +gc_libs +endif SUBDIRS= $(python_subdir) @@ -80,192 +89,193 @@ INCLUDES = \ $(PYTHON_CFLAGS) \ $(PYGTK_CFLAGS) \ $(sqlite_cflags) \ - $(cairo_cflags) + $(cairo_cflags) \ + -DBOARD_DLL_EXPORT -libdraw_la_LDFLAGS = -module -avoid-version +libdraw_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libdraw_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libdraw_la_SOURCES = draw.c -libawele_la_LDFLAGS = -module -avoid-version +libawele_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libawele_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libawele_la_SOURCES = awele.c awele_alphaBeta.c awele_utils.c awele_utils.h awele.h -libcrane_la_LDFLAGS = -module -avoid-version +libcrane_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libcrane_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libcrane_la_SOURCES = crane.c -libmenu_la_LDFLAGS = -module -avoid-version +libmenu_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libmenu_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libmenu_la_SOURCES = menu2.c -libclickgame_la_LDFLAGS = -module -avoid-version +libclickgame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libclickgame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libclickgame_la_SOURCES = clickgame.c -libalgebra_la_LDFLAGS = -module -avoid-version +libalgebra_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libalgebra_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libalgebra_la_SOURCES = algebra.c -libclockgame_la_LDFLAGS = -module -avoid-version +libclockgame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libclockgame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libclockgame_la_SOURCES = clockgame.c -libshapegame_la_LDFLAGS = -module -avoid-version +libshapegame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS) libshapegame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libshapegame_la_SOURCES = shapegame.c -libwordsgame_la_LDFLAGS = -module -avoid-version +libwordsgame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libwordsgame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libwordsgame_la_SOURCES = wordsgame.c -libgletters_la_LDFLAGS = -module -avoid-version +libgletters_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libgletters_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libgletters_la_SOURCES = gletters.c -libgtans_la_LDFLAGS = -module -avoid-version +libgtans_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libgtans_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libgtans_la_SOURCES = gtans.c gtans_interface.c gtans_support.c gtans_callbacks.c \ gtans_callbacks.h gtans.h gtans_interface.h gtans_support.h -libplanegame_la_LDFLAGS = -module -avoid-version +libplanegame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libplanegame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libplanegame_la_SOURCES = planegame.c -libsmallnumbers_la_LDFLAGS = -module -avoid-version +libsmallnumbers_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libsmallnumbers_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libsmallnumbers_la_SOURCES = smallnumbers.c -libparatrooper_la_LDFLAGS = -module -avoid-version +libparatrooper_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libparatrooper_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libparatrooper_la_SOURCES = paratrooper.c -libreading_la_LDFLAGS = -module -avoid-version +libreading_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libreading_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libreading_la_SOURCES = reading.c -libmemory_la_LDFLAGS = -module -avoid-version +libmemory_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libmemory_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libmemory_la_SOURCES = memory.c -libimageid_la_LDFLAGS = -module -avoid-version +libimageid_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS) libimageid_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libimageid_la_SOURCES = imageid.c -libmissingletter_la_LDFLAGS = -module -avoid-version +libmissingletter_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS) libmissingletter_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libmissingletter_la_SOURCES = missingletter.c -libclick_on_letter_la_LDFLAGS = -module -avoid-version +libclick_on_letter_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libclick_on_letter_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libclick_on_letter_la_SOURCES = click_on_letter.c -librailroad_la_LDFLAGS = -module -avoid-version +librailroad_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) librailroad_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la librailroad_la_SOURCES = railroad.c -liberase_la_LDFLAGS = -module -avoid-version +liberase_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) liberase_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la liberase_la_SOURCES = erase.c -libalgebra_guesscount_la_LDFLAGS = -module -avoid-version +libalgebra_guesscount_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libalgebra_guesscount_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libalgebra_guesscount_la_SOURCES = algebra_guesscount.c -libleftright_la_LDFLAGS = -module -avoid-version +libleftright_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libleftright_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libleftright_la_SOURCES = leftright.c -libcolors_la_LDFLAGS = -module -avoid-version +libcolors_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libcolors_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libcolors_la_SOURCES = colors.c -libtarget_la_LDFLAGS = -module -avoid-version +libtarget_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libtarget_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libtarget_la_SOURCES = target.c -libmagic_hat_la_LDFLAGS = -module -avoid-version +libmagic_hat_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libmagic_hat_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libmagic_hat_la_SOURCES = magic_hat.c -libmaze_la_LDFLAGS = -module -avoid-version +libmaze_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libmaze_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libmaze_la_SOURCES = maze.c -libreversecount_la_LDFLAGS = -module -avoid-version +libreversecount_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libreversecount_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libreversecount_la_SOURCES = reversecount.c -libcanal_lock_la_LDFLAGS = -module -avoid-version +libcanal_lock_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libcanal_lock_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libcanal_lock_la_SOURCES = canal_lock.c -libadvanced_colors_la_LDFLAGS = -module -avoid-version +libadvanced_colors_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS) libadvanced_colors_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libadvanced_colors_la_SOURCES = advanced_colors.c -libsuperbrain_la_LDFLAGS = -module -avoid-version +libsuperbrain_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libsuperbrain_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libsuperbrain_la_SOURCES = superbrain.c -libread_colors_la_LDFLAGS = -module -avoid-version +libread_colors_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS) libread_colors_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libread_colors_la_SOURCES = read_colors.c -libchess_la_LDFLAGS = -module -avoid-version +libchess_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libchess_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libchess_la_SOURCES = chess.c chess_position.c chess_notation.c \ chess_notation.h chess_position.h chess_makros.h -libenumerate_la_LDFLAGS = -module -avoid-version +libenumerate_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libenumerate_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libenumerate_la_SOURCES = enumerate.c -libmoney_la_LDFLAGS = -module -avoid-version +libmoney_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libmoney_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libmoney_la_SOURCES = money.c money_widget.c money_widget.h -libtraffic_la_LDFLAGS = -module -avoid-version +libtraffic_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libtraffic_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libtraffic_la_SOURCES = traffic.c traffic.h -libmachpuzzle_la_LDFLAGS = -module -avoid-version +libmachpuzzle_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libmachpuzzle_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libmachpuzzle_la_SOURCES = machpuzzle.c -libsubmarine_la_LDFLAGS = -module -avoid-version +libsubmarine_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libsubmarine_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libsubmarine_la_SOURCES = submarine.c -libhanoi_la_LDFLAGS = -module -avoid-version +libhanoi_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libhanoi_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libhanoi_la_SOURCES = hanoi.c -libhanoi_real_la_LDFLAGS = -module -avoid-version +libhanoi_real_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libhanoi_real_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libhanoi_real_la_SOURCES = hanoi_real.c -libfifteen_la_LDFLAGS = -module -avoid-version +libfifteen_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libfifteen_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libfifteen_la_SOURCES = fifteen.c -libwordprocessor_la_LDFLAGS = -module -avoid-version +libwordprocessor_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) libwordprocessor_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la libwordprocessor_la_SOURCES = wordprocessor.c -libpython_la_LDFLAGS = -export-dynamic -module -avoid-version $(PYTHON_LIBS) +libpython_la_LDFLAGS = -export-dynamic $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(PYTHON_LIBS) libpython_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la -libpython_la_CFLAGS = -fno-strict-aliasing +libpython_la_CFLAGS = -fno-strict-aliasing $(PYGTK_CFLAGS) libpython_la_SOURCES = python.c \ canvas.c canvasmodule.c \ py-gcompris-board.c py-gcompris-board.h \ diff --git a/src/boards/advanced_colors.c b/src/boards/advanced_colors.c index fa9a581..1362af8 100644 --- a/src/boards/advanced_colors.c +++ b/src/boards/advanced_colors.c @@ -196,7 +196,7 @@ static gboolean is_our_board (GcomprisBoard *gcomprisBoard) { * =====================================================================*/ static void colors_next_level() { gchar *str = NULL; - int i; + int i, list_length; GList * list = NULL; int * item; @@ -215,8 +215,8 @@ static void colors_next_level() { for (i=0; i<LAST_COLOR; i++) list = g_list_append(list, GINT_TO_POINTER(i)); - while ((g_list_length(list) > 0)) { - i = RAND(0,g_list_length(list)-1); + while((list_length = g_list_length(list))) { + i = list_length == 1 ? 0 : g_random_int_range(0,g_list_length(list)-1); item = g_list_nth_data(list, i); listColors = g_list_append(listColors, item); list = g_list_remove(list, item); @@ -288,7 +288,7 @@ static GnomeCanvasItem *colors_create_item(GnomeCanvasGroup *parent) { g_free(str); gnome_canvas_item_hide(highlight_image_item); - i = RAND(0,LAST_COLOR); + i = g_random_int_range(0,LAST_COLOR); gdk_pixbuf_unref(highlight_pixmap); diff --git a/src/boards/algebra.c b/src/boards/algebra.c index 4075692..691d653 100644 --- a/src/boards/algebra.c +++ b/src/boards/algebra.c @@ -709,7 +709,7 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) static gint get_operand() { gint j = 10; - gint i = (1+rand()%10); + gint i = (1+g_random_int()%10); // Get the next free slot while(operation_done[i]==TRUE && j>=0) @@ -781,8 +781,8 @@ static void get_random_number(guint *first_operand, guint *second_operand) min = 1; max = 10; } - *second_operand = (min+rand()%(max-min+1)); - *first_operand = *second_operand*(min+rand()%max); + *second_operand = (min+g_random_int()%(max-min+1)); + *first_operand = *second_operand*(min+g_random_int()%max); break; default: g_error("Bad Operation"); diff --git a/src/boards/algebra_guesscount.c b/src/boards/algebra_guesscount.c index 726e636..722c632 100644 --- a/src/boards/algebra_guesscount.c +++ b/src/boards/algebra_guesscount.c @@ -334,7 +334,7 @@ static int generate_numbers() { gboolean minus, divide; for (i=0; i<gcomprisBoard->level+1; i++) { - j = RAND(0,NUM_VALUES-1); + j = g_random_int_range(0,NUM_VALUES-1); answer_num_index[i] = j; } @@ -350,7 +350,7 @@ static int generate_numbers() { } r = 2 + minus + divide; - switch (RAND(1,r)) { + switch (g_random_int_range(1,r)) { case 1 : answer_oper[i] = '+'; result += num_values[answer_num_index[i+1]]; @@ -377,7 +377,7 @@ static int generate_numbers() { } break; case 4 : - if ( RAND(0,1) == 0) { + if ( g_random_int_range(0,1) == 0) { answer_oper[i] = '-'; result -= num_values[answer_num_index[i+1]]; g_assert(result >= 0); diff --git a/src/boards/awele.c b/src/boards/awele.c index 574fc90..a03f757 100644 --- a/src/boards/awele.c +++ b/src/boards/awele.c @@ -16,8 +16,6 @@ #include <awele_utils.h> #include <awele.h> #include <string.h> -#include <unistd.h> - static GcomprisBoard *gcomprisBoard = NULL; static gboolean board_paused = TRUE; @@ -624,17 +622,17 @@ initBoardGraphics (GRAPHICS_ELT * graphsElt) j < staticAwale->board[i] && idxTabBeans < NBTOTALBEAN; j++, idxTabBeans++) { - k = 0 + rand () % 4; + k = 0 + g_random_int() % 4; graphsElt->ptBeansHoleLink[idxTabBeans].beanPixbuf = gnome_canvas_item_new (boardRootItem, gnome_canvas_pixbuf_get_type (), "x", (double) caseCoord[i] + - rand () % 50, "y", + g_random_int() % 50, "y", (double) (((i < 6) ? 260 : 130) + - rand () % + g_random_int() % 60), "pixbuf", graphsElt-> @@ -858,15 +856,15 @@ updateNbBeans (int alpha) j++, idxTabBeans++) { - k = 0 + rand () % 4; + k = 0 + g_random_int() % 4; gnome_canvas_item_set (ptBeansHoleLink[idxTabBeans]. beanPixbuf, "x", (double) caseCoord[i] + - rand () % 50, "y", + g_random_int() % 50, "y", (double) (((i < 6) ? 260 : 130) + - rand () % 60), NULL); + g_random_int() % 60), NULL); ptBeansHoleLink[idxTabBeans].hole = i; } diff --git a/src/boards/awele_alphaBeta.c b/src/boards/awele_alphaBeta.c index 418856b..567193d 100644 --- a/src/boards/awele_alphaBeta.c +++ b/src/boards/awele_alphaBeta.c @@ -73,7 +73,7 @@ GNode *firstChild(GNode *node) return NULL; gint i; - rand_play = RAND(1, 5); + rand_play = g_random_int_range(1, 5); for (i = 0 ; i < 6; i++) { diff --git a/src/boards/awele_utils.c b/src/boards/awele_utils.c index 368503c..f2d5982 100644 --- a/src/boards/awele_utils.c +++ b/src/boards/awele_utils.c @@ -139,7 +139,7 @@ short int randplay(AWALE * a) AWALE *tmp = NULL; do { - i = 6 + rand() % 6; + i = 6 + g_random_int() % 6; } while (a->board[i] == 0 && !(tmp = moveAwale(i, a))); g_free(tmp); diff --git a/src/boards/click_on_letter.c b/src/boards/click_on_letter.c index a5a2e0b..409d1cc 100644 --- a/src/boards/click_on_letter.c +++ b/src/boards/click_on_letter.c @@ -353,7 +353,7 @@ static GnomeCanvasItem *click_on_letter_create_item(GnomeCanvasGroup *parent) g_assert(number_of_letters<=length_of_aphabet); // because we must set unique letter on every "vagon" for (i=0;i<number_of_letters;i++){ - numbers[i]=((int)(((float)length_of_aphabet)*rand()/(RAND_MAX+1.0))); + numbers[i]= g_random_int_range(0, number_of_letters); // check that the letter has not been taken yet for(j=0;j<i;j++){ @@ -378,7 +378,7 @@ static GnomeCanvasItem *click_on_letter_create_item(GnomeCanvasGroup *parent) case 2 : letters[i]=g_strndup(copy_from,copy_to-copy_from); break; case 3 : letters[i]=g_utf8_strup(copy_from,copy_to-copy_from); break; default : - if ( rand() > (RAND_MAX/2) ) + if ( g_random_boolean() ) letters[i]=g_strndup(copy_from,copy_to-copy_from); else letters[i]=g_utf8_strup(copy_from,copy_to-copy_from); @@ -387,7 +387,7 @@ static GnomeCanvasItem *click_on_letter_create_item(GnomeCanvasGroup *parent) } /* */ - right_position = ((int)(((float)number_of_letters)*rand()/(RAND_MAX+1.0))); + right_position = g_random_int_range(0,number_of_letters); g_assert(right_position >= 0 && right_position < number_of_letters); right_letter = g_utf8_strdown(letters[right_position],-1); diff --git a/src/boards/clickgame.c b/src/boards/clickgame.c index efa8a3a..e1351b6 100644 --- a/src/boards/clickgame.c +++ b/src/boards/clickgame.c @@ -455,7 +455,7 @@ static FishItem *clickgame_create_item(GnomeCanvasGroup *parent) fishitem = g_malloc(sizeof(FishItem)); fishitem->currentItem = 0; - fishitem->speed = (double)(rand()%(60))/10 - 3; + fishitem->speed = (double)(g_random_int()%(60))/10 - 3; fishitem->item_list = NULL; pixmap = (GdkPixbuf *)g_list_nth_data(imagelist, 0); @@ -478,7 +478,7 @@ static FishItem *clickgame_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_group_get_type (), "x", x, - "y", (double)(rand()%(gcomprisBoard->height- + "y", (double)(g_random_int()%(gcomprisBoard->height- (guint)(gdk_pixbuf_get_height(pixmap)* imageZoom))), NULL); @@ -709,7 +709,7 @@ static void load_random_pixmap() gchar *str = NULL; gboolean cont = TRUE; - i=rand()%(NUMBER_OF_IMAGES); + i=g_random_int()%(NUMBER_OF_IMAGES); /* First image */ j=0; diff --git a/src/boards/clockgame.c b/src/boards/clockgame.c index eac8802..30c096e 100644 --- a/src/boards/clockgame.c +++ b/src/boards/clockgame.c @@ -726,21 +726,21 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) static void get_random_hour(GcomprisTime *time) { - time->hour=rand()%12; + time->hour=g_random_int()%12; if(gcomprisBoard->level>3) - time->second=rand()%60; + time->second=g_random_int()%60; else time->second=0; - time->minute=rand()%60; + time->minute=g_random_int()%60; switch(gcomprisBoard->level) { case 1: - time->minute=rand()%4*15; + time->minute=g_random_int()%4*15; break; case 2: - time->minute=rand()%12*5; + time->minute=g_random_int()%12*5; break; default: break; diff --git a/src/boards/colors.c b/src/boards/colors.c index 8331b29..46cf4a8 100644 --- a/src/boards/colors.c +++ b/src/boards/colors.c @@ -211,7 +211,7 @@ static void start_board (GcomprisBoard *agcomprisBoard) { GcomprisProperties *properties = gc_prop_get(); GList * list = NULL; int * item; - int i; + int i, list_length; GHashTable *config = gc_db_get_board_conf(); @@ -239,8 +239,8 @@ static void start_board (GcomprisBoard *agcomprisBoard) { for (i=0; i<LAST_COLOR; i++) list = g_list_append(list, GINT_TO_POINTER(i)); - while ((g_list_length(list) > 0)) { - i = RAND(0,g_list_length(list)-1); + while ((list_length = g_list_length(list))) { + i = list_length == 1 ? 0 : g_random_int_range(0,g_list_length(list)-1); item = g_list_nth_data(list, i); listColors = g_list_append(listColors, item); list = g_list_remove(list, item); diff --git a/src/boards/crane.c b/src/boards/crane.c index 5db70d1..118a01b 100644 --- a/src/boards/crane.c +++ b/src/boards/crane.c @@ -696,8 +696,8 @@ void shuffle_list(int list[], int size) { for (i = 0 ; i < size ; i++) { - rand1 = RAND(0, size-1); - rand2 = RAND(0, size-1); + rand1 = g_random_int_range(0, size-1); + rand2 = g_random_int_range(0, size-1); buffer = list[rand2]; list[rand2] = list[rand1]; diff --git a/src/boards/enumerate.c b/src/boards/enumerate.c index f05e604..e4474dc 100644 --- a/src/boards/enumerate.c +++ b/src/boards/enumerate.c @@ -377,15 +377,15 @@ static GnomeCanvasItem *enumerate_create_item(GnomeCanvasGroup *parent) pixmap = gc_pixmap_load(imageList[i]); - answer_to_find[i] = RAND(1, number_of_item_max); + answer_to_find[i] = g_random_int_range(1, number_of_item_max); answer[i] = 0; for(j=0; j<answer_to_find[i]; j++) { guint x, y; - x = RAND(0, ANSWER_X-gdk_pixbuf_get_width(pixmap)-ANSWER_WIDTH); - y = RAND(0, BOARDHEIGHT-gdk_pixbuf_get_height(pixmap)); + x = g_random_int_range(0, ANSWER_X-gdk_pixbuf_get_width(pixmap)-ANSWER_WIDTH); + y = g_random_int_range(0, BOARDHEIGHT-gdk_pixbuf_get_height(pixmap)); item = gnome_canvas_item_new (boardRootItem, gnome_canvas_pixbuf_get_type (), diff --git a/src/boards/erase.c b/src/boards/erase.c index 5210719..b3c89d1 100644 --- a/src/boards/erase.c +++ b/src/boards/erase.c @@ -487,8 +487,8 @@ void shuffle_image_list(char *list[], int size) for(i=0; i<size; i++) { - int random1 = RAND(0, size-1); - int random2 = RAND(0, size-1); + int random1 = g_random_int_range(0, size-1); + int random2 = g_random_int_range(0, size-1); char *olditem; olditem = list[random2]; diff --git a/src/boards/fifteen.c b/src/boards/fifteen.c index 04646c3..4d71d8f 100644 --- a/src/boards/fifteen.c +++ b/src/boards/fifteen.c @@ -431,7 +431,8 @@ scramble (GnomeCanvasItem **board, guint number_of_scrambles) int dir; int x, y; - srand (time (NULL)); + /* g_random are initialised in gcompris launch */ + /* srand (time (NULL)); */ /* First, find the blank spot */ @@ -443,7 +444,7 @@ scramble (GnomeCanvasItem **board, guint number_of_scrambles) for (i = 0; i < number_of_scrambles; i++) { retry_scramble: - dir = rand () % 4; + dir = g_random_int () % 4; x = y = 0; diff --git a/src/boards/gletters.c b/src/boards/gletters.c index 1ceb498..660b0c1 100644 --- a/src/boards/gletters.c +++ b/src/boards/gletters.c @@ -611,7 +611,7 @@ static GnomeCanvasItem *gletters_create_item(GnomeCanvasGroup *parent) { attempt++; str_p = letters_array[gcomprisBoard->level-1]; - i = (int)((float)k*rand()/(RAND_MAX+1.0)); + i = g_random_int_range(0,k); for(j = 0; j < i; j++) { @@ -651,7 +651,7 @@ static GnomeCanvasItem *gletters_create_item(GnomeCanvasGroup *parent) "y", (double) -12, NULL); - x = 80 + (int)((float)(gcomprisBoard->width-160)*rand()/(RAND_MAX+1.0)); + x = g_random_int_range( 80, gcomprisBoard->width-160); gnome_canvas_item_new (GNOME_CANVAS_GROUP(item), gnome_canvas_text_get_type (), "text", letter, diff --git a/src/boards/gtans.c b/src/boards/gtans.c index 03bed7b..d57ba17 100644 --- a/src/boards/gtans.c +++ b/src/boards/gtans.c @@ -20,20 +20,12 @@ #include "gcompris/gcompris.h" -#include <math.h> -#include <stdio.h> #include <string.h> /* Added by Florian Ernst <florian_ernst@gmx.net> for lines 193 and 194 */ //#include <string.h> /* End of added section */ -/* uniquement pour mkdir() */ -#include <sys/stat.h> -#include <sys/types.h> -#include <fcntl.h> -#include <unistd.h> - #include "gtans.h" #include "gtans_interface.h" #include "gtans_support.h" diff --git a/src/boards/gtans_support.c b/src/boards/gtans_support.c index 2590ced..9891b88 100644 --- a/src/boards/gtans_support.c +++ b/src/boards/gtans_support.c @@ -1,17 +1,14 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ + + #ifdef HAVE_CONFIG_H # include <config.h> #endif -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <string.h> +#include "strings.h" #include "gcompris/gcompris.h" +#include <glib/gstdio.h> #include "gtans_support.h" @@ -150,7 +147,7 @@ check_file_exists (const gchar *directory, strcat (full_filename, G_DIR_SEPARATOR_S); strcat (full_filename, filename); - status = stat (full_filename, &s); + status = g_stat (full_filename, &s); if (status == 0 && S_ISREG (s.st_mode)) return full_filename; g_free (full_filename); diff --git a/src/boards/hanoi.c b/src/boards/hanoi.c index 60873c6..e70ed0e 100644 --- a/src/boards/hanoi.c +++ b/src/boards/hanoi.c @@ -371,7 +371,7 @@ static GnomeCanvasItem *hanoi_create_item(GnomeCanvasGroup *parent) /* Initialize a random goal and store the color index in position[number_of_item_x] */ for(i=0; i<(number_of_item_y); i++) { - guint color = (guint)RAND(0, NUMBER_OF_COLOR-1); + guint color = (guint)g_random_int_range(0, NUMBER_OF_COLOR-1); position[number_of_item_x+1][i]->color = color; used_colors[color] = TRUE; @@ -386,10 +386,10 @@ static GnomeCanvasItem *hanoi_create_item(GnomeCanvasGroup *parent) { done = FALSE; - i = (guint)RAND(0, number_of_item_x-2); + i = (guint)g_random_int_range(0, number_of_item_x-2); /* Restrict the goal to lowest items */ - j = (guint)RAND(0, 2); + j = (guint)g_random_int_range(0, 2); if(position[i][j]->color == -1) { @@ -408,7 +408,7 @@ static GnomeCanvasItem *hanoi_create_item(GnomeCanvasGroup *parent) if(position[i][j]->color == -1) { /* Take only a color that is not part of the goal */ - guint color = (guint)RAND(0, NUMBER_OF_COLOR-1); + guint color = (guint)g_random_int_range(0, NUMBER_OF_COLOR-1); //printf(" i,j=%d,%d random color = %d used_colors[color]=%d\n", i,j,color, used_colors[color]); while(used_colors[color]) { diff --git a/src/boards/imageid.c b/src/boards/imageid.c index e2d0068..a04431d 100644 --- a/src/boards/imageid.c +++ b/src/boards/imageid.c @@ -266,7 +266,7 @@ static GnomeCanvasItem *imageid_create_item(GnomeCanvasGroup *parent) board_number = g_list_length(board_list)-1; */ g_assert(board_number >= 0 && board_number < g_list_length(board_list)); - place = ((int)(3.0*rand()/(RAND_MAX+1.0))); + place = g_random_int_range( 0, 3); g_assert(place >= 0 && place < 3); right_word = place+1; diff --git a/src/boards/leftright.c b/src/boards/leftright.c index c7109d9..23bdc5d 100644 --- a/src/boards/leftright.c +++ b/src/boards/leftright.c @@ -314,7 +314,7 @@ static GnomeCanvasItem *leftright_create_item(GnomeCanvasGroup *parent) { // make sure that next hand is not the same as previous do { - i = RAND(0,gcomprisBoard->level*8-1); + i = g_random_int_range(0,gcomprisBoard->level*8-1); } while ( i == last_hand ); last_hand = i; diff --git a/src/boards/machpuzzle.c b/src/boards/machpuzzle.c index 569c861..ed30700 100644 --- a/src/boards/machpuzzle.c +++ b/src/boards/machpuzzle.c @@ -243,7 +243,7 @@ static GnomeCanvasItem *minigolf_create_item(GnomeCanvasGroup *parent) NULL)); create_machine_item(MACH_HOLE, 730.0, 260.0); - create_machine_item(MACH_BASKET_BALL, (double)RAND(60, 150), (double)RAND(60, 400)); + create_machine_item(MACH_BASKET_BALL, (double)g_random_int_range(60, 150), (double)RAND(60, 400)); return NULL; diff --git a/src/boards/magic_hat.c b/src/boards/magic_hat.c index 496fc10..089f7c0 100644 --- a/src/boards/magic_hat.c +++ b/src/boards/magic_hat.c @@ -363,9 +363,9 @@ static GnomeCanvasItem *magic_hat_create_item() // Frame 1 if (board_mode == MODE_MINUS) - frame1.nb_stars[i] = RAND(2, (1 + (step * nb_list()))); // Minimum 2 to avoid '0' value (which is not easy to understand for kids) + frame1.nb_stars[i] = g_random_int_range(2, (1 + (step * nb_list()))); // Minimum 2 to avoid '0' value (which is not easy to understand for kids) else - frame1.nb_stars[i] = RAND(1, (step * nb_list())); + frame1.nb_stars[i] = g_random_int_range(1, (step * nb_list())); for (j = 0 ; j < frame1.nb_stars[i] ; j++) frame1.array_star_type[i][j] = i; for ( ; j < MAX_ITEM ; j++) frame1.array_star_type[i][j] = -1; @@ -373,9 +373,9 @@ static GnomeCanvasItem *magic_hat_create_item() // Frame 2 if (board_mode == MODE_MINUS) - frame2.nb_stars[i] = RAND(1, (frame1.nb_stars[i]) - 1); // Minimum 1 to avoid '0' + frame2.nb_stars[i] = g_random_int_range(1, (frame1.nb_stars[i]) - 1); // Minimum 1 to avoid '0' else - frame2.nb_stars[i] = RAND(1, ((step * nb_list()) - frame1.nb_stars[i] + 1)); + frame2.nb_stars[i] = g_random_int_range(1, ((step * nb_list()) - frame1.nb_stars[i] + 1)); for (j = 0 ; j < frame2.nb_stars[i] ; j++) frame2.array_star_type[i][j] = i; for ( ; j < MAX_ITEM ; j++) frame2.array_star_type[i][j] = -1; diff --git a/src/boards/maze.c b/src/boards/maze.c index 6b5a3f2..6618cf1 100644 --- a/src/boards/maze.c +++ b/src/boards/maze.c @@ -272,7 +272,7 @@ static void maze_next_level() { gamewon = FALSE; initMaze(); - generateMaze((rand()%breedte),(rand()%hoogte)); + generateMaze((g_random_int()%breedte),(g_random_int()%hoogte)); removeSet(); /* Try the next level */ maze_create_item(gnome_canvas_root(gcomprisBoard->canvas)); @@ -283,8 +283,8 @@ static void maze_next_level() { } /* make a new group for the items */ - begin=rand()%hoogte; - end=rand()%hoogte; + begin=g_random_int()%hoogte; + end=g_random_int()%hoogte; /* Draw the tux */ pixmap = gc_pixmap_load("gcompris/misc/tux_top_east.png"); @@ -723,7 +723,7 @@ static void generateMaze(int x, int y) { int nr = *po; int ran, in; - in=(rand()%nr)+1; + in=(g_random_int()%nr)+1; //printf("random: %d en %d mogelijkheden\n", in, *po); ran=*(po + in); if (nr>=1) diff --git a/src/boards/memory.c b/src/boards/memory.c index 1643f8d..74c5147 100644 --- a/src/boards/memory.c +++ b/src/boards/memory.c @@ -523,7 +523,7 @@ void get_random_token(int token_type, gint *returned_type, gchar **string, gchar g_assert(max_token >0); - i = rand()%max_token; + i = g_random_int()%max_token; for (list = data; list != NULL; list = list->next) if ( i < ((DATUM *)list->data)->bound) @@ -1163,8 +1163,8 @@ static void get_image(MemoryItem *memoryItem, guint x, guint y) // Randomly set the pair - rx = (int)(numberOfColumn*((double)rand()/RAND_MAX)); - ry = (int)(numberOfLine*((double)rand()/RAND_MAX)); + rx = g_random_int_range( 0, numberOfColumn); + ry = g_random_int_range(0, numberOfLine); while(memoryArray[rx][ry]) { @@ -1731,8 +1731,8 @@ static gint tux_play(){ } // Randomly set the pair - rx = (int)(numberOfColumn*((double)rand()/RAND_MAX)); - ry = (int)(numberOfLine*((double)rand()/RAND_MAX)); + rx = g_random_int_range( 0, numberOfColumn); + ry = g_random_int_range(0, numberOfLine); gboolean stay_unknown = (remainingCards > (g_queue_get_length (tux_memory) + (firstCard ? 1 : 0))); diff --git a/src/boards/missingletter.c b/src/boards/missingletter.c index 6ef2ea3..4c973f1 100644 --- a/src/boards/missingletter.c +++ b/src/boards/missingletter.c @@ -275,7 +275,7 @@ static GnomeCanvasItem *missing_letter_create_item(GnomeCanvasGroup *parent) board_number = (gcomprisBoard->level-1) * NUMBER_OF_SUBLEVELS + gcomprisBoard->sublevel-1; g_assert(board_number >= 0 && board_number < g_list_length(board_list)); - place = ((int)(3.0*rand()/(RAND_MAX+1.0))); + place = g_random_int_range( 0, 3); g_assert(place >= 0 && place < 3); right_word = place+1; diff --git a/src/boards/money.c b/src/boards/money.c index 68ca52e..3f85f33 100644 --- a/src/boards/money.c +++ b/src/boards/money.c @@ -469,7 +469,7 @@ static void money_next_level() double object_price; gchar *text; - pixmap = gc_pixmap_load(imageList[RAND(0, NUMBER_OF_IMAGES-1)]); + pixmap = gc_pixmap_load(imageList[g_random_int_range(0, NUMBER_OF_IMAGES-1)]); gnome_canvas_item_new ( boardRootItem, gnome_canvas_pixbuf_get_type (), @@ -480,7 +480,7 @@ static void money_next_level() NULL); /* Diplay the price */ - object_price = (double) RAND(min_price/number_of_item, max_price/number_of_item); + object_price = (double) g_random_int_range(min_price/number_of_item, max_price/number_of_item); if(currentMode==WITH_CENTS) { @@ -489,11 +489,11 @@ static void money_next_level() /* Add random cents */ if(gcomprisBoard->level == 1) { - object_price += (double)((double) RAND(1, 9))/10.0; + object_price += (double)((double) g_random_int_range(1, 9))/10.0; } else { - object_price += (double)((double) RAND(1, 99))/100.0; + object_price += (double)((double) g_random_int_range(1, 99))/100.0; } } else diff --git a/src/boards/paratrooper.c b/src/boards/paratrooper.c index 4a380c8..804ef50 100644 --- a/src/boards/paratrooper.c +++ b/src/boards/paratrooper.c @@ -337,8 +337,8 @@ static void paratrooper_next_level() NULL); gdk_pixbuf_unref(pixmap); - windspeed = (3 + rand()%gcomprisBoard->level); - if(rand()%2==0) + windspeed = (3 + g_random_int()%gcomprisBoard->level); + if(g_random_int()%2==0) windspeed *= -1; /* Drop a cloud */ @@ -620,7 +620,7 @@ static GnomeCanvasItem *paratrooper_create_cloud(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_group_get_type (), "x", (double) x, - "y", (double)(rand()%(gcomprisBoard->height-200- + "y", (double)(g_random_int()%(gcomprisBoard->height-200- (guint)(gdk_pixbuf_get_height(pixmap)* imageZoom))), NULL); diff --git a/src/boards/planegame.c b/src/boards/planegame.c index f0aa74b..251dbf5 100644 --- a/src/boards/planegame.c +++ b/src/boards/planegame.c @@ -469,7 +469,7 @@ static GnomeCanvasItem *planegame_create_item(GnomeCanvasGroup *parent) CloudItem *clouditem; /* Random cloud number */ - if(rand()%2==0) + if(g_random_int()%2==0) { /* Put the target */ i = plane_target; @@ -477,7 +477,7 @@ static GnomeCanvasItem *planegame_create_item(GnomeCanvasGroup *parent) else { min = MAX(1, plane_target - 1); - i = min + rand()%(plane_target - min + 3); + i = min + g_random_int()%(plane_target - min + 3); } number = g_strdup_printf("%d", i); @@ -487,7 +487,7 @@ static GnomeCanvasItem *planegame_create_item(GnomeCanvasGroup *parent) gnome_canvas_item_new (parent, gnome_canvas_group_get_type (), "x", (double) gcomprisBoard->width, - "y", (double)(rand()%(gcomprisBoard->height- + "y", (double)(g_random_int()%(gcomprisBoard->height- (guint)(gdk_pixbuf_get_height(pixmap)* imageZoom))), NULL); diff --git a/src/boards/py-mod-gcompris.c b/src/boards/py-mod-gcompris.c index 12c1bd3..c5ae83c 100644 --- a/src/boards/py-mod-gcompris.c +++ b/src/boards/py-mod-gcompris.c @@ -671,7 +671,7 @@ py_gcompris_child_watch_add(PyObject *unused, PyObject *args, PyObject *kwargs) static char *kwlist[] = { "pid", "function", "data", "priority", NULL }; guint id; gint priority = G_PRIORITY_DEFAULT; - int pid; + GPid pid; PyObject *func, *user_data = NULL; struct _PyGChildData *child_data; @@ -738,7 +738,7 @@ py_gcompris_spawn_async(PyObject *unused, PyObject *args, PyObject *kwargs) gint *standard_input, *standard_output, *standard_error; struct _PyGChildSetupData *callback_data = NULL; GError *error = NULL; - GPid child_pid = -1; + GPid child_pid = (GPid) -1; int len, i; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|OsiOOOOO:gcompris.spawn_async", diff --git a/src/boards/railroad.c b/src/boards/railroad.c index 7387372..76c0ccc 100644 --- a/src/boards/railroad.c +++ b/src/boards/railroad.c @@ -357,7 +357,7 @@ static GnomeCanvasItem *railroad_create_item(GnomeCanvasGroup *parent) model_size = gcomprisBoard->level +1; // engine + cars // First the cars, depending of the level for (i=0; i<model_size-1; i++) { - r = (int)(((float) WAGONS)*rand()/(RAND_MAX+1.0)); + r = g_random_int_range( 0, WAGONS); g_assert( r >=0 && r < WAGONS); // keep track of the answer int_model_list = g_list_append(int_model_list, GINT_TO_POINTER(r+ENGINES)); @@ -373,7 +373,7 @@ static GnomeCanvasItem *railroad_create_item(GnomeCanvasGroup *parent) } // Then the engine - r = (int)(((float) ENGINES)*rand()/(RAND_MAX+1.0)); + r = g_random_int_range( 0, ENGINES); g_assert( r >=0 && r < ENGINES); // keep track of the answer int_model_list = g_list_append(int_model_list, GINT_TO_POINTER(r)); diff --git a/src/boards/read_colors.c b/src/boards/read_colors.c index f5997ac..06caa2f 100644 --- a/src/boards/read_colors.c +++ b/src/boards/read_colors.c @@ -127,7 +127,7 @@ static void pause_board (gboolean pause) static void start_board (GcomprisBoard *agcomprisBoard) { GList * list = NULL; int * item; - int i; + int i,list_length; if(agcomprisBoard!=NULL) { gcomprisBoard=agcomprisBoard; @@ -148,8 +148,8 @@ static void start_board (GcomprisBoard *agcomprisBoard) { for (i=0; i<LAST_COLOR; i++) list = g_list_append(list, GINT_TO_POINTER(i)); - while ((g_list_length(list) > 0)) { - i = RAND(0,g_list_length(list)-1); + while ((list_length = g_list_length(list))) { + i = list_length == 1 ? 0 : g_random_int_range(0,g_list_length(list)-1); item = g_list_nth_data(list, i); listColors = g_list_append(listColors, item); list = g_list_remove(list, item); diff --git a/src/boards/reading.c b/src/boards/reading.c index 34cdfb8..7530582 100644 --- a/src/boards/reading.c +++ b/src/boards/reading.c @@ -358,7 +358,6 @@ static GnomeCanvasItem *display_what_to_do(GnomeCanvasGroup *parent) gint base_Y = 110; gint base_X = 580; - gint i; /* Load the text to find */ @@ -368,9 +367,8 @@ static GnomeCanvasItem *display_what_to_do(GnomeCanvasGroup *parent) /* Decide now if this time we will display the text to find */ /* Use this formula to have a better random number see 'man 3 rand' */ - i=((int)(2.0*rand()/(RAND_MAX+1.0))); - if(i==0) - textToFindIndex = rand() % numberOfLine; + if(g_random_boolean()) + textToFindIndex = g_random_int_range(0, numberOfLine); else textToFindIndex = NOT_THERE; diff --git a/src/boards/reversecount.c b/src/boards/reversecount.c index a81bf9a..f9872bc 100644 --- a/src/boards/reversecount.c +++ b/src/boards/reversecount.c @@ -570,13 +570,13 @@ static void display_random_fish() { fish_index = tux_index + - rand()%(max_dice_number*number_of_dices) + 1; + g_random_int()%(max_dice_number*number_of_dices) + 1; // Wrapping if(fish_index >= number_of_item) fish_index = fish_index - (number_of_item); - fishItem = display_item_at(fishList[rand()%NUMBER_OF_FISHES], + fishItem = display_item_at(fishList[g_random_int()%NUMBER_OF_FISHES], fish_index, -1); } diff --git a/src/boards/shapegame.c b/src/boards/shapegame.c index 9a98e67..ff93bab 100644 --- a/src/boards/shapegame.c +++ b/src/boards/shapegame.c @@ -1903,6 +1903,7 @@ parse_doc(xmlDocPtr doc) xmlNodePtr node; GList *list; GnomeCanvasItem *item; + int list_length, i; /* find <Shape> nodes and add them to the list, this just loops through all the children of the root of the document */ @@ -1915,11 +1916,12 @@ parse_doc(xmlDocPtr doc) shape_list = g_list_copy(shape_list_init); /* Insert each of the shapes randomly */ - while(g_list_length(shape_list_init)>0) + while((list_length = g_list_length(shape_list_init))) { Shape *shape; - shape = g_list_nth_data(shape_list_init, RAND(0, (g_list_length(shape_list_init)-1))); + i = list_length == 1 ? 0 : g_random_int_range(0, g_list_length(shape_list_init)-1); + shape = g_list_nth_data(shape_list_init, i); add_shape_to_canvas(shape); shape_list_init = g_list_remove (shape_list_init, shape); diff --git a/src/boards/smallnumbers.c b/src/boards/smallnumbers.c index 4ad1d10..08cac23 100644 --- a/src/boards/smallnumbers.c +++ b/src/boards/smallnumbers.c @@ -376,9 +376,9 @@ static void smallnumbers_create_item(GnomeCanvasGroup *parent) /* Take care not to go above 9 anyway */ if(total_number==0) { - i=rand()%6; + i=g_random_int()%6; } else { - int rando = rand()%(9-total_number); + int rando = g_random_int()%(9-total_number); i=MIN(rando, 5); } @@ -434,7 +434,7 @@ static void smallnumbers_create_item(GnomeCanvasGroup *parent) if(x==0.0) { - x = (double)(rand()%(gcomprisBoard->width- + x = (double)(g_random_int()%(gcomprisBoard->width- (guint)(gdk_pixbuf_get_width(smallnumbers_pixmap)* imageZoom)*2)); } else diff --git a/src/boards/submarine.c b/src/boards/submarine.c index c4e6331..1aaea62 100644 --- a/src/boards/submarine.c +++ b/src/boards/submarine.c @@ -779,8 +779,8 @@ static GnomeCanvasItem *submarine_create_item(GnomeCanvasGroup *parent) { // whale item str = g_strdup_printf("%s/%s", gcomprisBoard->boarddir, "whale.png"); pixmap = gc_pixmap_load(str); - whale_x = RAND((int)(gdk_pixbuf_get_width(pixmap)), (int)(gcomprisBoard->width-gdk_pixbuf_get_width(pixmap))); - whale_y = RAND((int)(SURFACE_IN_BACKGROUND + gdk_pixbuf_get_height(pixmap)),(int)MAX_DEPTH); + whale_x = g_random_int_range((int)(gdk_pixbuf_get_width(pixmap)), (int)(gcomprisBoard->width-gdk_pixbuf_get_width(pixmap))); + whale_y = g_random_int_range((int)(SURFACE_IN_BACKGROUND + gdk_pixbuf_get_height(pixmap)),(int)MAX_DEPTH); whale = gnome_canvas_item_new (boardRootItem, gnome_canvas_pixbuf_get_type (), "pixbuf", pixmap, diff --git a/src/boards/superbrain.c b/src/boards/superbrain.c index 769dc66..797bb69 100644 --- a/src/boards/superbrain.c +++ b/src/boards/superbrain.c @@ -258,9 +258,9 @@ static void superbrain_next_level() { guint j; - j = (guint)RAND(1, number_of_color); + j = (guint)g_random_int_range(1, number_of_color); while(selected_color[j]) - j = (guint)RAND(1, number_of_color); + j = (guint)g_random_int_range(1, number_of_color); solution[i] = j; selected_color[j] = TRUE; diff --git a/src/boards/target.c b/src/boards/target.c index d81de24..29466a9 100644 --- a/src/boards/target.c +++ b/src/boards/target.c @@ -362,12 +362,12 @@ static void display_windspeed() NULL)); /* Speed orientation */ - second = rand()%60; + second = g_random_int()%60; ang = second * M_PI / 30; /* Speed force */ wind_speed = targetDefinition[gcomprisBoard->level-1].target_min_wind_speed \ - + rand()%(targetDefinition[gcomprisBoard->level-1].target_max_wind_speed \ + + g_random_int()%(targetDefinition[gcomprisBoard->level-1].target_max_wind_speed \ - targetDefinition[gcomprisBoard->level-1].target_min_wind_speed); canvasPoints->coords[0]=SPEED_CENTER_X; diff --git a/src/boards/wordsgame.c b/src/boards/wordsgame.c index 05a5044..51d5e61 100644 --- a/src/boards/wordsgame.c +++ b/src/boards/wordsgame.c @@ -636,7 +636,7 @@ static GnomeCanvasItem *wordsgame_create_item(GnomeCanvasGroup *parent) &x2, &y2); - gnome_canvas_item_move (item->rootitem,(double) (rand()%(gcomprisBoard->width-(gint)(x2))),(double) 0); + gnome_canvas_item_move (item->rootitem,(double) (g_random_int()%(gcomprisBoard->width-(gint)(x2))),(double) 0); g_static_rw_lock_writer_lock (&items_lock); |