cub3d
필요한 모든 파일
all, clean, fclean, re, bonus
a map in format *.cub
open
, close
, read
, write
, malloc
, free
, perror
, strerror
, exit
math.h
에 있는 모든 함수
MinilibX
의 모든 함수
가능
1인칭 시점에서 미로 내부의 현실적인 3D 그래픽
을 만들어야합니다.
Ray Casting
원칙을 사용하세요!
기타 반드시 miniLibX
를 사용해야 합니다. (운영체제에서 이용 가능 한 것 또는 그 소스) 만약 소스를 이용해 작업하기로 했다면, libft의 공통 지침과 같은 규칙을 따라야 할 것입니다.
자연스러운 윈도우 관리 -> 최소화, 다른 창 전환 등등
동서남북에 따라 다른 벽 텍스처
벽 대신 아이템(sprite) 표시 -> 2021. 05 보너스 파트로 변경
바닥 천장 다른 색으로 설정
두 번째 인자가 --save일 때 첫 번째 렌더링된 이미지를 bmp 형식으로 저장 -> 2021. 05 삭제
두 번째 인자가 없으면 다음 규칙을 지키기:
6.1 왼쪽/오른쪽 화살표 키로 시점 돌리기
6.2 WASD로 시점 이동
6.3 ESC로 종료하기
6.4 창 상단 표시줄의 종료 버튼(빨강)으로 프로그램이 종료되도록
6.5 지도에 표시된 화면이 디스플레이 해상도보다 크면 디스플레이 해상도에 따라 윈도우 크기 결정
6.6 miniLibX의 이미지 적극 권장
.cub 확장자(화면에 대한 설명) 를 첫 번째 인자로 받아들이기
7.1 지도는 4가지 문자로만! : 0(빈 공간) 1(벽) 2(아이템 -> 2021. 05 보너스 파트로 변경),
N/S/E/W로 플레이어의 출발 위치/태어난 위치에서 바라보는 방향
7.2 지도의 바깥은 모두 1. 아니면 오류 반환
7.3 지도 내용을 제외하고는 하나/이상의 빈 줄로 분리될 수 있음
7.4 마지막에 있어야 하는 지도 내용을 제외하곤 어떤 순서로도 파일 안에 구성될 수 있음
7.5 각 유형의 정보는 하나 이상의 공백으로 구분
7.6 공백은 지도의 유효한 부분이고 처리는 자유롭게 하기
7.7 각 요소의 첫 번째 정보는 유형 식별자(하나 또는 둘)로 구성되며, 규칙은 다음과 같음
Resolution (화면 해상도) : R 1920 1080
identifier / x render size / y render size
-> 2021. 05 삭제
Texture (North, South, West, East 방향 텍스처) : NO/SO/WE/EA ./path_to_the nort_texture
Sprite texture : S ./path_to_the_sprite_texture
Floor color : F 220,100,0
identifier / RGB colors in range
Ceiling color : C 225,30,0
identifier / RGC colors in range
잘못된 구성이 있으면 "Error\n" 반환 후 직접 정한 오류 메시지 표기 후 종료
cub3d할 때 참고할게요!