42Seoul/so_long

so_long 구현하기 앞서 전체 틀

재윤 2023. 7. 27. 17:30
반응형

전체 순서

int	main(int argc, char **argv)
{
	t_game	game;
	int		fd;

	if (check_argc_argv(argc, argv[1]) == 0)
		return (0);
	init_game(&game);
	fd = open(argv[1], O_RDONLY);
	if (!fd)
		perror("open error\\n");
	game.map_line = read_map(&game, fd);
	if (!game.map_line)
		error("map error\\n");
	check_map_wall_count(&game);
	check_map_dfs(&game);
	game.mlx = mlx_init();
	game.win = mlx_new_window(game.mlx, game.map_all_col * 64, game.map_all_row * 64, argv[0]);
	show_map(&game);
	mlx_hook(game.win, X_EVENT_KEY_RELEASE, 0, &key_press, &game);
	mlx_hook(game.win, X_EVENT_KEY_EXIT, 0, &goodbye_game, &game);
	mlx_loop(game.mlx);
}
  1. argc와 .ber 파일 확인(check_argc_argv)
  2. gnl로 .ber 내용 읽기(read_map) → 1차원에 다 넣어줌
  3. 읽은 .ber에서 맵이 잘 되었는지 체크(check_map_wall_count)
    1. 옆에 벽이 잘 형성되었는지
    2. C, P, E 개수 확인
  4. 플레이어가 C를 다 먹고 탈출할 수 있는 경로가 있는지 (check_map_dfs)
  5. 이미지 찍어주기 (show_map)
  6. 키보드 인자값 넣어주기(key_press, goodbye_game)

 

위에 순서대로 잘 해주면 된다. 

반응형

'42Seoul > so_long' 카테고리의 다른 글

so_long Makefile  (0) 2023.07.27
DFS  (0) 2023.07.27
so_long MiniLIbx 작동해보기  (0) 2023.07.27
so_long MiniLibx 함수  (0) 2023.07.27
so_long MiniLibx 간단 소개  (0) 2023.07.27