//####################################################################################### bool free_scrollbar(tScrollBar *settings) { if(!settings) return false; if(!free_button(settings->Internals.BtnDnSettings)) return false; if(!free_button(settings->Internals.BtnSettings)) return false; if(!free_button(settings->Internals.BtnUpSettings)) return false; tControlCommandData comand; memset(&comand, 0x00, sizeof(tControlCommandData)); settings->Visible = false; scrollbar(settings, &comand); if(settings) free(settings); return true; }
TypeScreen game_rank_screen() { const int num_of_buttons = 1; int i, pos; const int num_of_ops = 1; ArrowOp vet_arrow_type[num_of_ops]; JHI_Image but_up; JHI_Image but_down; JHI_Image but_up_red; JHI_Image but_down_red; JHI_Image *but_up_pointer[num_of_ops]; JHI_Image *but_down_pointer[num_of_ops]; JHI_Text * text_pointer[num_of_ops]; JHI_Text * text_pointer_name[num_of_ops]; JHI_Text level; JHI_Text level_name; JHI_Font f1,f2; TypeScreen te = IS_CLOSE; JHI_Image back; Button back_title[num_of_buttons]; JHI_MouseSt mouse; JHI_Effect ef1; JHI_Point2d init_arrow_pos; jhi_load_image_with_transparent_color(&but_up, BUTTON_SET_UP, BLUE); jhi_load_image_with_transparent_color(&but_down, BUTTON_SET_DOWN, BLUE); jhi_load_image_with_transparent_color(&but_up_red, BUTTON_SET_RED_UP, BLUE); jhi_load_image_with_transparent_color(&but_down_red, BUTTON_SET_RED_DOWN, BLUE); jhi_load_effect(&ef1, CLICK_BOTTON_SOUND); jhi_load_font(&f2, MONSTER_FONT, 40); jhi_load_font(&f1, MONSTER_FONT, 30); jhi_load_image(&back, BACK_FILE_PATH); jhi_set_fps_timer(32); jhi_init_text(&level); jhi_init_text(&level_name); jhi_set_text(&f1, &level, BLACK, "Dificuldade:"); jhi_set_text(&f1, &level_name, RED, levels[get_rank_game_level()]); text_pointer[0] = &level; text_pointer_name[0] = &level_name; vet_arrow_type[0] = RANK_LEVEL; for (i = 0; i < num_of_ops; i++) { but_up_pointer[i] = &but_up; but_down_pointer[i] = &but_down; } jhi_init_mouse(&mouse); init_button(&back_title[0], &f1, "Retornar", BUTTON_TYPE_1); back_title[0].pos.x = jhi_get_central_pos(jhi_get_width_window(), jhi_get_height_window(), jhi_get_image_width(&(back_title[0].img)), jhi_get_image_height(&(back_title[0].img))).x - 250; init_arrow_pos = jhi_get_point(jhi_get_central_pos(jhi_get_width_window(), jhi_get_height_window(), jhi_get_image_width(&but_up), 0).x - 120, 20); while(jhi_get_close_window() != JHI_CLOSE) { jhi_timer_start(); jhi_update(); jhi_clean(); jhi_draw_image(&back, jhi_get_point(0, 0)); draw_rank(&f2, get_rank_game_level()); draw_button(&back_title[0], jhi_get_point(back_title[0].pos.x, 500)); draw_arrows(but_up_pointer, but_down_pointer, num_of_ops, init_arrow_pos, text_pointer, text_pointer_name); jhi_init_mouse(&mouse); for (i = 0; i < jhi_get_number_of_events(); i++) { mouse = jhi_get_mouse_status(i); } if (mouse.mouse_event != MOUSE_NOT_EVENT) { HANDLE_ARROWS; pos = check_buttons(mouse, back_title, num_of_buttons); if (pos == 0) {te = IS_TITLE; jhi_play_effect(&ef1, 2000); break;} } jhi_wait_time(); } jhi_free_font(&f1); jhi_free_font(&f2); jhi_free_image(&back); free_button(&back_title[0]); jhi_free_effect(&ef1); jhi_free_image(&but_up); jhi_free_image (&but_down); jhi_free_image(&but_up_red); jhi_free_image(&but_down_red); jhi_free_text(&level); jhi_free_text(&level_name); return te; }
TypeScreen game_input_name_player_screen() { JHI_Image back; Button input_name; Button char_input; Button char_input2; Button play[1]; JHI_Effect ef1; const int num_of_buttons = 1; int cur_player = 0; JHI_MouseSt mouse; JHI_KeyboardSt key; TypeScreen te = IS_CLOSE; int i, pos; char flag = 'z' + 2; char cprint = 'z' + 2; char c = 'a'; char ch[2]; char name[20]; char pname[10]; JHI_Font f1, f2; Player *player_pointer; jhi_load_font(&f1, REGULAR_FONT,30); jhi_load_font(&f2, MONSTER_FONT, 30); jhi_load_image(&back, BACK_FILE_PATH); jhi_load_effect(&ef1, CLICK_BOTTON_SOUND); jhi_set_fps_timer(32); memset(name, 0, sizeof(name)); memset(pname, 0, sizeof(pname)); strncpy(name, "Seu Nome ", sizeof(name)); init_button(&char_input, &f1, "a", BUTTON_TYPE_1); init_button(&char_input2, &f1, "a", BUTTON_TYPE_2); init_button(&input_name, &f1, name, BUTTON_TYPE_1); init_button(&play[0], &f1, "Jogar", BUTTON_TYPE_1); play[0].pos.x = jhi_get_central_pos(jhi_get_width_window(), jhi_get_height_window(), jhi_get_image_width(&(play[0].img)), jhi_get_image_height(&(play[0].img))).x; while(jhi_get_close_window() != JHI_CLOSE) { jhi_timer_start(); jhi_update(); jhi_clean(); char_input.pos.x = 100; char_input.pos.y = 200; jhi_draw_image(&back, jhi_get_point(0, 0)); draw_button(&play[0], jhi_get_point(play[0].pos.x, 500)); mouse.mouse_event = MOUSE_NOT_EVENT; key.key_event = KEYBOARD_NOT_EVENT; for (i = 0; i < jhi_get_number_of_events(); i++) { mouse = jhi_get_mouse_status(i); key = jhi_get_keyboard_status(i); } if (mouse.mouse_event != MOUSE_NOT_EVENT) { cprint = check_input(&char_input, mouse, &flag, f1.length); pos = check_buttons(mouse, play, num_of_buttons); if (pos == 0 && strlen(pname) > 0) { player_pointer = get_player_by_index(cur_player); init_player(player_pointer, &f2, pname, 0); jhi_play_effect(&ef1, 2000); if (get_number_of_players() == -1) { player_pointer = get_player_by_index(1); init_player(player_pointer, &f2, "CPU", 0); te = IS_PLAY3; break; } if (cur_player + 1 == get_number_of_players() && get_number_of_players() == 1) { te = IS_PLAY; break; } if (cur_player + 1 == get_number_of_players() && get_number_of_players() == 2) { te = IS_PLAY2; break; } if (cur_player + 1 == get_number_of_players()-1 && get_number_of_players() == 3) { te = IS_PLAY4; player_pointer = get_player_by_index(2); init_player(player_pointer, &f2, "CPU", 0); break; } memset(name, 0, sizeof(name)); memset(pname, 0, sizeof(pname)); strncpy(name, "Seu Nome ", sizeof(name)); cur_player++; free_button(&input_name); init_button(&input_name, &f1, name, BUTTON_TYPE_1); } } change_button_text(&input_name, name); set_button_size(&input_name, strlen(name)*jhi_get_image_width(&(char_input.img)), jhi_get_image_height(&(char_input.img))); draw_button(&input_name, jhi_get_point(jhi_get_central_pos(jhi_get_width_window(), jhi_get_height_window(), jhi_get_image_width(&(input_name.img)), jhi_get_image_height(&(input_name.img))).x, 100)); while(c != 'z' + 1) { memset(ch, 0, sizeof(ch)); memcpy(ch, &c, sizeof(c)); if (c == flag) { change_button_text(&char_input2, ch); draw_button(&char_input2, char_input.pos); } else { change_button_text(&char_input, ch); draw_button(&char_input, char_input.pos); } if (c == cprint) { if (strlen(name) <= 19) { strncat(name, &c, sizeof(char)); strncat(pname, &c, sizeof(char)); } cprint = 'z' + 2; } char_input.pos.x += 3 * f1.length; if (c == 'h' || c == 'p' || c =='x') { char_input.pos.x = 100; char_input.pos.y += 3 * f1.length; } c++; } c = 'a'; jhi_wait_time(); } jhi_stop_music(); jhi_free_image(&back); free_button(&input_name); free_button(&char_input); free_button(&char_input2); free_button(&play[0]); jhi_free_effect(&ef1); free_title_music(); jhi_free_font(&f1); jhi_free_font(&f2); if (te == IS_CLOSE) { player_pointer = get_player_by_index(0); free_player(player_pointer); } return te; }