Exemplo n.º 1
0
int init_sdl(void)
{
	int status = -1;
	int x = SDL_WINDOWPOS_UNDEFINED;
	int y = SDL_WINDOWPOS_UNDEFINED;
	int width = 800;
	int height = 600;
	int flags = 0;  // SDL_WINDOW_FULLSCREEN_DESKTOP

	SDL_INIT(SDL_INIT_VIDEO);
	IMG_INIT(IMG_INIT_PNG);
	window = SDL_CREATEWINDOW(title, x, y, width, height, flags);
	renderer = SDL_CREATERENDERER(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
	status = 0;
error:
	return status;
}
int init_sdl(void)
{
	int status = -1;
	int x = SDL_WINDOWPOS_UNDEFINED;
	int y = SDL_WINDOWPOS_UNDEFINED;
	int width = 1200;
	int height = 549;
	int flags = 0;  // SDL_WINDOW_FULLSCREEN_DESKTOP

	SDL_INIT(SDL_INIT_VIDEO);
	IMG_INIT(IMG_INIT_PNG);
	window = SDL_CREATEWINDOW(title, x, y, width, height, flags);
	screen = SDL_GETWINDOWSURFACE(window);
	status = 0;
error:
	return status;
}
Exemplo n.º 3
0
int AssetsLoad(SDL_Renderer *render) {
	int ret;

	IMG_INIT(IMG_FPV_PATH, &img_stat_hp, "stat-hp.png");
	IMG_INIT(IMG_FPV_PATH, &img_stat_lv, "stat-lv.png");
	IMG_INIT(IMG_FPV_PATH, &img_stat_df, "stat-df.png");
	IMG_INIT(IMG_FPV_PATH, &img_stat_op, "stat-op.png");
	IMG_INIT(IMG_FPV_PATH, &img_stat_at, "stat-at.png");
	IMG_INIT(IMG_FPV_PATH, &img_stat_gd, "stat-gd.png");

	IMG_INIT(IMG_FPV_PATH, &img_tutor_a, "tutor-a.png");
	IMG_INIT(IMG_FPV_PATH, &img_tutor_d, "tutor-d.png");

	IMG_INIT(IMG_SCREENS_PATH, &img_menu, "start_screen.png");
	IMG_INIT(IMG_SCREENS_PATH, &img_arrow_down_1, "arrow_down_1.png");
	IMG_INIT(IMG_SCREENS_PATH, &img_arrow_down_2, "arrow_down_2.png");
	IMG_INIT(IMG_SCREENS_PATH, &img_arrow_up_1, "arrow_up_1.png");
	IMG_INIT(IMG_SCREENS_PATH, &img_arrow_up_2, "arrow_up_2.png");
	IMG_INIT(IMG_SCREENS_PATH, &img_arrow_left_1, "arrow_left_1.png");
	IMG_INIT(IMG_SCREENS_PATH, &img_arrow_left_2, "arrow_left_2.png");
	IMG_INIT(IMG_SCREENS_PATH, &img_arrow_right_1, "arrow_right_1.png");
	IMG_INIT(IMG_SCREENS_PATH, &img_arrow_right_2, "arrow_right_2.png");

	IMG_INIT(IMG_FPV_PATH, &img_fpv_bground, "background.png");
	IMG_INIT(IMG_FPV_PATH, &img_front_1, "front-1.png");
	IMG_INIT(IMG_FPV_PATH, &img_front_2, "front-2.png");
	IMG_INIT(IMG_FPV_PATH, &img_front_3, "front-3.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_0, "side-0.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_1, "side-1.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_2, "side-2.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_3, "side-3.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_0_opened, "side-0-opened.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_1_opened, "side-1-opened.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_2_opened, "side-2-opened.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_3_opened, "side-3-opened.png");
	IMG_INIT(IMG_FPV_PATH, &img_side_0_pixel, "side-0-pixel.png");

	IMG_INIT(IMG_FPV_PATH, &img_door_1, "door-1.png");
	IMG_INIT(IMG_FPV_PATH, &img_door_2, "door-2.png");
	IMG_INIT(IMG_FPV_PATH, &img_door_3, "door-3.png");
	IMG_INIT(IMG_FPV_PATH, &img_door_4, "door-4.png");

	IMG_INIT(IMG_FPV_PATH, &img_knight_1_attack, "bknight-1-attack.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_1_idle, "bknight-1-idle.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_1_idle_2, "bknight-1-idle-2.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_1_down, "bknight-1-down.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_2_down, "bknight-2-down.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_3_down, "bknight-3-down.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_1_defend, "bknight-1-defend.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_2, "bknight-2.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_2_2, "bknight-2-2.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_3, "bknight-3.png");
	IMG_INIT(IMG_FPV_PATH, &img_knight_4, "bknight-4.png");

	IMG_INIT(IMG_FPV_PATH, &img_win_1, "win-1.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_2, "win-2.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_3, "win-3.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_4, "win-4.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_5, "win-5.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_6, "win-6.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_7, "win-7.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_8, "win-8.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_9, "win-9.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_10, "win-10.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_11, "win-11.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_12, "win-12.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_13, "win-13.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_14, "win-14.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_15, "win-15.png");
	IMG_INIT(IMG_FPV_PATH, &img_win_16, "win-16.png");

	IMG_INIT(IMG_FPV_PATH, &img_game_over, "gameover.png");

	anim_win = (Animation) {
		.steps_count = 16,
		.steps = {
			&img_win_1,
			&img_win_2,
			&img_win_3,
			&img_win_4,
			&img_win_5,
			&img_win_6,
			&img_win_7,
			&img_win_8,
			&img_win_9,
			&img_win_10,
			&img_win_11,
			&img_win_12,
			&img_win_13,
			&img_win_14,
			&img_win_15,
			&img_win_16,
		},
		.width = 7,
		.height = 7
	};

	anim_knight_idle = (Animation) {
		.steps_count = 2,
		.steps = {
			&img_knight_1_idle,
			&img_knight_1_idle_2
		},
		.width = 7,
		.height = 7
	};

	anim_knight_2_idle = (Animation) {
		.steps_count = 2,
		.steps = {
			&img_knight_2,
			&img_knight_2_2
		},
		.width = 7,
		.height = 7
	};

	anim_arrow_down = (Animation) {
		.steps_count = 2,
		.steps = {
			&img_arrow_down_1,
			&img_arrow_down_2
		},
		.width = 7,
		.height = 7
	};

	anim_arrow_up = (Animation) {
		.steps_count = 2,
		.steps = {
			&img_arrow_up_1,
			&img_arrow_up_2
		},
		.width = 7,
		.height = 7
	};

	anim_arrow_left = (Animation) {
		.steps_count = 2,
		.steps = {
			&img_arrow_left_1,
			&img_arrow_left_2
		},
		.width = 7,
		.height = 7
	};

	anim_arrow_right = (Animation) {
		.steps_count = 2,
		.steps = {
			&img_arrow_right_1,
			&img_arrow_right_2
		},
		.width = 7,
		.height = 7
	};

	LoadMap1(&maps[0]);
	LoadMap2(&maps[1]);
	LoadMap3(&maps[2]);
	LoadMap4(&maps[3]);
	LoadMap5(&maps[4]);

	return ret;
}

#define N NONE
#define W WALL
#define P PLAYER
#define M MONSTER
#define E EXIT

Pawn map1_pawns[] = {
		{ .type = PT_PLAYER, .health = 3, .atk = 1, .def = 0 },
		{ .type = PT_MONSTER, .health = 2, .atk = 10, .def = 0, .gold = 1 }
};

Pawn map2_pawns[] = {
		{ .type = PT_PLAYER, .health = 3, .atk = 1, .def = 0 },
		{ .type = PT_MONSTER, .health = 2, .atk = 1, .def = 0, .gold = 1 },
		{ .type = PT_MONSTER, .health = 1, .atk = 1, .def = 1, .gold = 1 },
		{ .type = PT_MONSTER, .health = 2, .atk = 1, .def = 0, .gold = 1 }
};

Pawn map3_pawns[] = {
		{ .type = PT_PLAYER, .health = 3, .atk = 1, .def = 0 },
		{ .type = PT_MONSTER, .health = 1, .atk = 3, .def = 1, .gold = 1 },