static void do_search(char* text, int frompage, int dir) { search_mode = 1; stext = strdup(text); spage = frompage; sdir = dir; ShowHourglass(); search_timer(); }
void balda_controller_next_turn(balda_bool first) { ////int active_player = balda_get_active_player(g_balda_controller.balda); //balda_view_show_turn(g_balda_controller.view); if (g_balda_controller.turn_stage != BALDA_TURN_STAGE_AFTER_AI_TURN) { balda_controller_redraw_after_turn(first); } if (!first) { //balda_view_draw_score(g_balda_controller.view, balda_get_previous_active_player(g_balda_controller.balda), 1); //balda_view_draw_player_last_word(g_balda_controller.view, balda_get_previous_active_player(g_balda_controller.balda), 1); } if (balda_is_active_player_ai(g_balda_controller.balda)) { ShowHourglass(); balda_make_ai_turn(g_balda_controller.balda); HideHourglass(); balda_sequence_t* ai_seq = balda_get_last_ai_sequence(g_balda_controller.balda); /*balda_field_view_set_insert_char(g_balda_controller.field_view, ai_seq->insert_pos, ai_seq->insert_char);*/ balda_field_view_load(g_balda_controller.field_view, g_balda_controller.balda); balda_field_view_load_sequence(g_balda_controller.field_view, ai_seq); if (balda_is_game_over(g_balda_controller.balda)) { int active_player = balda_get_active_player(g_balda_controller.balda); balda_player_view_update_score(g_balda_controller.player_view[active_player]); balda_player_view_draw_last_word(g_balda_controller.player_view[active_player]); balda_controller_on_game_over(); } else { g_balda_controller.turn_stage = BALDA_TURN_STAGE_AFTER_AI_TURN; balda_controller_redraw_after_turn(first); } } else { g_balda_controller.turn_stage = BALDA_TURN_STAGE_SELECT_POS; if (!first && g_balda_controller.turn_stage != BALDA_TURN_STAGE_AFTER_AI_TURN) balda_field_view_load(g_balda_controller.field_view, g_balda_controller.balda); if (balda_is_game_over(g_balda_controller.balda)) { int active_player = balda_get_active_player(g_balda_controller.balda); balda_player_view_update_score(g_balda_controller.player_view[active_player]); balda_player_view_draw_last_word(g_balda_controller.player_view[active_player]); balda_controller_on_game_over(); } else { if (g_balda_controller.ui_type == BALDA_UI_TYPE_KEYS) { // initially select central point on field g_balda_controller.field_pos = balda_make_point(BALDA_FIELD_WIDTH / 2, BALDA_FIELD_HEIGHT / 2); balda_field_view_select(g_balda_controller.field_view, g_balda_controller.field_pos); } else if (g_balda_controller.ui_type == BALDA_UI_TYPE_TOUCHSCREEN) { // nothing is selected initially balda_field_view_deselect(g_balda_controller.field_view); balda_keyboard_view_clear_selection(g_balda_controller.kb_view); } balda_button_set_mode(g_balda_controller.btn_cancel, BALDA_BUTTON_MODE_SURRENDER); balda_button_set_selected(g_balda_controller.btn_cancel, 0); balda_button_set_visible(g_balda_controller.btn_cancel, 1); balda_button_redraw(g_balda_controller.btn_cancel, 1); if (g_balda_controller.ui_type == BALDA_UI_TYPE_TOUCHSCREEN) { balda_button_set_visible(g_balda_controller.btn_confirm, 0); balda_button_set_selected(g_balda_controller.btn_cancel, 0); balda_button_redraw(g_balda_controller.btn_confirm, 1); } } } balda_view_update(g_balda_controller.view); }