コード例 #1
0
ファイル: scrollbar.c プロジェクト: KonstantinVoip/mSdk
//#######################################################################################
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;
}
コード例 #2
0
ファイル: rank_screen.c プロジェクト: joaogf/Snake-jhi-Game
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;
}
コード例 #3
0
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;

}