gtkballs.c: consistent indentation
This commit is contained in:
parent
efce62f435
commit
751e9cf82e
249
src/gtkballs.c
249
src/gtkballs.c
@ -24,161 +24,166 @@
|
||||
#include "mainwin.h"
|
||||
|
||||
gint destroy_lines(gboolean count_score) {
|
||||
gint i = game_destroy_lines(count_score);
|
||||
if(count_score && i) {
|
||||
gint ml = rules_get_destroy();
|
||||
gint sc = game_get_score();
|
||||
gint nsc = sc + ml * 2 + (i - ml) * (i - ml) * 2 + (1 - pref_get_show_next_colors());
|
||||
mw_set_user_score(nsc);
|
||||
}
|
||||
draw_board();
|
||||
return i;
|
||||
gint i = game_destroy_lines(count_score);
|
||||
if (count_score && i) {
|
||||
gint ml = rules_get_destroy();
|
||||
gint sc = game_get_score();
|
||||
gint nsc = sc + ml * 2 + (i - ml) * (i - ml) * 2 + (1 - pref_get_show_next_colors());
|
||||
mw_set_user_score(nsc);
|
||||
}
|
||||
draw_board();
|
||||
return i;
|
||||
}
|
||||
|
||||
void undo_move(GtkWidget *widget, gpointer data) {
|
||||
game_restore_state_from_undo();
|
||||
stop_jumping_animation();
|
||||
mw_set_hi_score(game_get_hi_score());
|
||||
mw_set_user_score(game_get_score());
|
||||
menu_set_sensitive_undo(FALSE);
|
||||
draw_board();
|
||||
draw_next_balls();
|
||||
game_restore_state_from_undo();
|
||||
stop_jumping_animation();
|
||||
mw_set_hi_score(game_get_hi_score());
|
||||
mw_set_user_score(game_get_score());
|
||||
menu_set_sensitive_undo(FALSE);
|
||||
draw_board();
|
||||
draw_next_balls();
|
||||
}
|
||||
|
||||
gint random_color(void) {
|
||||
return (gint)(((gfloat)rules_get_colors()) * rand() / (RAND_MAX + 1.0));
|
||||
return (gint)(((gfloat)rules_get_colors()) * rand() / (RAND_MAX + 1.0));
|
||||
}
|
||||
|
||||
gint random_cell(void) {
|
||||
return (gint)(((gfloat)rules_get_width() * rules_get_height()) * rand() / (RAND_MAX + 1.0));
|
||||
return (gint)(((gfloat)rules_get_width() * rules_get_height()) * rand() / (RAND_MAX + 1.0));
|
||||
}
|
||||
|
||||
void new_turn(gint number, gboolean first) {
|
||||
gint i, k = 0, free_cells_number, c;
|
||||
struct score_board scoreboard[10];
|
||||
void new_turn(gint number, gboolean first)
|
||||
{
|
||||
gint i, k = 0, free_cells_number, c;
|
||||
struct score_board scoreboard[10];
|
||||
|
||||
do {
|
||||
timer_start();
|
||||
do {
|
||||
timer_start();
|
||||
|
||||
k = 0;
|
||||
if(number < rules_get_next()) {
|
||||
number = rules_get_next();
|
||||
}
|
||||
k = 0;
|
||||
if (number < rules_get_next()) {
|
||||
number = rules_get_next();
|
||||
}
|
||||
|
||||
if((free_cells_number = game_count_free_cells()) <= number) {
|
||||
if(!read_score(scoreboard, NULL, NULL) ||
|
||||
game_get_score() > scoreboard[9].score) {
|
||||
input_name_dialog();
|
||||
}
|
||||
new_game();
|
||||
return;
|
||||
}
|
||||
if ((free_cells_number = game_count_free_cells()) <= number) {
|
||||
if (!read_score(scoreboard, NULL, NULL) ||
|
||||
game_get_score() > scoreboard[9].score) {
|
||||
input_name_dialog();
|
||||
}
|
||||
new_game();
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
i = random_cell();
|
||||
if(board_get_at_node(i) < 1) {
|
||||
if(first) {
|
||||
c = 1 + random_color();
|
||||
board_set_at_node(i, c);
|
||||
} else {
|
||||
board_set_at_node(i, next_get(k));
|
||||
}
|
||||
k++;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
/* I hope that k!=0 */
|
||||
if(k <= rules_get_next()) {
|
||||
next_set(k - 1, 1 + random_color());
|
||||
}
|
||||
} while(k < ((number < free_cells_number) ? number : free_cells_number));
|
||||
do {
|
||||
i = random_cell();
|
||||
if (board_get_at_node(i) < 1) {
|
||||
if (first) {
|
||||
c = 1 + random_color();
|
||||
board_set_at_node(i, c);
|
||||
} else {
|
||||
board_set_at_node(i, next_get(k));
|
||||
}
|
||||
k++;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
/* I hope that k!=0 */
|
||||
if (k <= rules_get_next()) {
|
||||
next_set(k - 1, 1 + random_color());
|
||||
}
|
||||
} while (k < ((number < free_cells_number) ? number : free_cells_number));
|
||||
|
||||
if(!first) {
|
||||
draw_next_balls();
|
||||
/* if line complete, don't increase user's score--it's not his merit */
|
||||
destroy_lines(FALSE);
|
||||
}
|
||||
} while((free_cells_number = game_count_free_cells()) == rules_get_width() * rules_get_height());
|
||||
if (!first) {
|
||||
draw_next_balls();
|
||||
/* if line complete, don't increase user's score--it's not his merit */
|
||||
destroy_lines(FALSE);
|
||||
}
|
||||
} while ((free_cells_number = game_count_free_cells()) == rules_get_width() * rules_get_height());
|
||||
}
|
||||
|
||||
void new_game(void){
|
||||
stop_jumping_animation();
|
||||
game_init_game(NULL, NULL);
|
||||
menu_set_sensitive_undo(FALSE);
|
||||
new_turn(rules_get_destroy(), TRUE);
|
||||
mw_set_user_score(0);
|
||||
draw_next_balls();
|
||||
draw_board();
|
||||
void new_game(void)
|
||||
{
|
||||
stop_jumping_animation();
|
||||
game_init_game(NULL, NULL);
|
||||
menu_set_sensitive_undo(FALSE);
|
||||
new_turn(rules_get_destroy(), TRUE);
|
||||
mw_set_user_score(0);
|
||||
draw_next_balls();
|
||||
draw_board();
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
gint i;
|
||||
struct timeval tv;
|
||||
struct timezone tz;
|
||||
struct score_board scoreboard[10];
|
||||
gchar *err, *mapfile;
|
||||
|
||||
/* setup all i18n stuff */
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
gint i;
|
||||
struct timeval tv;
|
||||
struct timezone tz;
|
||||
struct score_board scoreboard[10];
|
||||
gchar *err, *mapfile;
|
||||
|
||||
/* setup all i18n stuff */
|
||||
#ifdef ENABLE_NLS
|
||||
bindtextdomain (PACKAGE, LOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
bind_textdomain_codeset(PACKAGE, "UTF8");
|
||||
bindtextdomain (PACKAGE, LOCALEDIR);
|
||||
textdomain (PACKAGE);
|
||||
bind_textdomain_codeset(PACKAGE, "UTF8");
|
||||
#endif /* ENABLE_NLS */
|
||||
|
||||
/* drop privileges after spawning child with extra privs */
|
||||
if(score_setup() == -1) return 1;
|
||||
setregid(getgid(), getgid());
|
||||
/* drop privileges after spawning child with extra privs */
|
||||
if (score_setup() == -1)
|
||||
return 1;
|
||||
setregid(getgid(), getgid());
|
||||
|
||||
/* initialize random seed */
|
||||
gettimeofday(&tv, &tz);
|
||||
srand((unsigned int)tv.tv_usec);
|
||||
/* initialize random seed */
|
||||
gettimeofday(&tv, &tz);
|
||||
srand((unsigned int)tv.tv_usec);
|
||||
|
||||
/* load user's preferences */
|
||||
load_preferences();
|
||||
/* load user's preferences */
|
||||
load_preferences();
|
||||
|
||||
/* initialize gtk */
|
||||
gtk_init(&argc, &argv);
|
||||
/* initialize gtk */
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
/* load theme, fallback to default if specifed theme cannot be loaded */
|
||||
if(!(i = load_theme(pref_get_theme_name()))) {
|
||||
if(strcmp(pref_get_theme_name(), pref_get_default_theme_name()) != 0) {
|
||||
err = g_strdup_printf(_("Failed loading theme \"%s\"! Trying \"%s\"\n"), pref_get_theme_name(), pref_get_default_theme_name());
|
||||
ut_simple_message_box(err);
|
||||
g_free(err);
|
||||
pref_set_theme_name(pref_get_default_theme_name());
|
||||
i = load_theme(pref_get_theme_name());
|
||||
}
|
||||
if(!i) {
|
||||
err = g_strdup_printf(_("Failed loading theme \"%s\"! Exiting.\n"), pref_get_theme_name());
|
||||
ut_simple_message_box(err);
|
||||
g_free(err);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
/* load theme, fallback to default if specifed theme cannot be loaded */
|
||||
if (!(i = load_theme(pref_get_theme_name()))) {
|
||||
if (strcmp(pref_get_theme_name(), pref_get_default_theme_name()) != 0) {
|
||||
err = g_strdup_printf(_("Failed loading theme \"%s\"! Trying \"%s\"\n"), pref_get_theme_name(), pref_get_default_theme_name());
|
||||
ut_simple_message_box(err);
|
||||
g_free(err);
|
||||
pref_set_theme_name(pref_get_default_theme_name());
|
||||
i = load_theme(pref_get_theme_name());
|
||||
}
|
||||
if (!i) {
|
||||
err = g_strdup_printf(_("Failed loading theme \"%s\"! Exiting.\n"), pref_get_theme_name());
|
||||
ut_simple_message_box(err);
|
||||
g_free(err);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* create main application window */
|
||||
mw_create(rules_get_width() * theme_get_width(), rules_get_height() * theme_get_height());
|
||||
/* create main application window */
|
||||
mw_create(rules_get_width() * theme_get_width(), rules_get_height() * theme_get_height());
|
||||
|
||||
/* initialize and start new game */
|
||||
game_init_game(NULL, NULL);
|
||||
new_turn(rules_get_destroy(), TRUE);
|
||||
remake_board(-1, 1);
|
||||
/* initialize and start new game */
|
||||
game_init_game(NULL, NULL);
|
||||
new_turn(rules_get_destroy(), TRUE);
|
||||
remake_board(-1, 1);
|
||||
|
||||
/* read and set scores */
|
||||
if(!read_score(scoreboard, NULL, NULL)) {
|
||||
ut_simple_message_box(_("Unable to read score.\n"));
|
||||
}
|
||||
mw_set_hi_score(scoreboard[0].score);
|
||||
mw_set_user_score(0);
|
||||
/* read and set scores */
|
||||
if (!read_score(scoreboard, NULL, NULL)) {
|
||||
ut_simple_message_box(_("Unable to read score.\n"));
|
||||
}
|
||||
mw_set_hi_score(scoreboard[0].score);
|
||||
mw_set_user_score(0);
|
||||
|
||||
mapfile = g_strconcat(getenv("HOME"), G_DIR_SEPARATOR_S, ".gtkballs",
|
||||
G_DIR_SEPARATOR_S, "accel.map", NULL);
|
||||
gtk_accel_map_load(mapfile);
|
||||
mapfile = g_strconcat(getenv("HOME"), G_DIR_SEPARATOR_S, ".gtkballs",
|
||||
G_DIR_SEPARATOR_S, "accel.map", NULL);
|
||||
gtk_accel_map_load (mapfile);
|
||||
|
||||
/* enter main application loop */
|
||||
gtk_main();
|
||||
/* enter main application loop */
|
||||
gtk_main();
|
||||
|
||||
gtk_accel_map_save(mapfile);
|
||||
gtk_accel_map_save (mapfile);
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user