반응형
전체 순서
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);
}
- argc와 .ber 파일 확인(check_argc_argv)
- gnl로 .ber 내용 읽기(read_map) → 1차원에 다 넣어줌
- 읽은 .ber에서 맵이 잘 되었는지 체크(check_map_wall_count)
- 옆에 벽이 잘 형성되었는지
- C, P, E 개수 확인
- 플레이어가 C를 다 먹고 탈출할 수 있는 경로가 있는지 (check_map_dfs)
- 이미지 찍어주기 (show_map)
- 키보드 인자값 넣어주기(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 |