1) cub3D - subject

sorikikikim·2021년 5월 18일
0

cub3D

목록 보기
1/6

Mandatory part

1. 프로그램명

cub3d

2. 들어갈 파일

필요한 모든 파일

3. Makefile

all, clean, fclean, re, bonus

4. Arguments

a map in format *.cub

5. 외부 함수

open, close, read, write, malloc, free, perror, strerror, exit
math.h에 있는 모든 함수
MinilibX의 모든 함수

6. Libft 사용

가능

7. 설명

1인칭 시점에서 미로 내부의 현실적인 3D 그래픽을 만들어야합니다.
Ray Casting 원칙을 사용하세요!
기타 반드시 miniLibX를 사용해야 합니다. (운영체제에서 이용 가능 한 것 또는 그 소스) 만약 소스를 이용해 작업하기로 했다면, libft의 공통 지침과 같은 규칙을 따라야 할 것입니다.

guide line

  1. 자연스러운 윈도우 관리 -> 최소화, 다른 창 전환 등등

  2. 동서남북에 따라 다른 벽 텍스처

  3. 벽 대신 아이템(sprite) 표시 -> 2021. 05 보너스 파트로 변경

  4. 바닥 천장 다른 색으로 설정

  5. 두 번째 인자가 --save일 때 첫 번째 렌더링된 이미지를 bmp 형식으로 저장 -> 2021. 05 삭제

  6. 두 번째 인자가 없으면 다음 규칙을 지키기:

    6.1 왼쪽/오른쪽 화살표 키로 시점 돌리기

    6.2 WASD로 시점 이동

    6.3 ESC로 종료하기

    6.4 창 상단 표시줄의 종료 버튼(빨강)으로 프로그램이 종료되도록

    6.5 지도에 표시된 화면이 디스플레이 해상도보다 크면 디스플레이 해상도에 따라 윈도우 크기 결정

    6.6 miniLibX의 이미지 적극 권장

  7. .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
  8. 잘못된 구성이 있으면 "Error\n" 반환 후 직접 정한 오류 메시지 표기 후 종료

    Hits

1개의 댓글

comment-user-thumbnail
2021년 5월 29일

cub3d할 때 참고할게요!

답글 달기

관련 채용 정보