[42 Seoul] so_long - 과제 정리

현톨·2022년 10월 25일
0

42 서울 기록하기

목록 보기
5/8

과제 내용

나만의 게임 만들기, W A S D로 조작하여 아이템을 획득하고 목적지까지 이동한다.

  • minLibX를 사용해야합니다. 운영체제와 해당 소스에서 모두 사용이 가능하며, 소스로 작업하기로 선택한 경우 libft에 대해 위에서 공통 지침 부분에 작성된 것과 동일한 규칙을 적용해야 합니다.
  • 다른창으로 변경, 최소화 등을 할 시에 창 관리가 매끄럽게 유지되어야 합니다.
  • 돌고래 테마가 예제로 적용되지만 원하는 것을 적용시킬 수 있습니다.
  • 맵은 벽, 수집품 및 길(여유 공간)로 구성됩니다.
  • 플레이어의 목표는 지도에 있는 모든 수집품을 수집한 다음 최소한의 움직임으로 탈출하는 것입니다.
  • 이동할 때마다 현재 이동 횟수가 쉘에 표시되어야 합니다.
  • 플레이어는 상, 하, 좌, 우로 움직일 수 있어야 합니다.
  • 2D 뷰를 사용해야합니다.
  • 게임이 실시간으로 진행될 필요는 없습니다.
  • 플레이어는 벽으로 이동할 수 없습니다.
  • 프로그램은 창에 이미지를 표시하고 다음 규칙을 따릅니다.
    - W, A, S, D 키는 메인 캐릭터를 움직이기 위해 사용된다.
    • ESC를 누르면 창을 닫고 프로그램을 깔끔히 종료한다.
    • 창 위에 빨간 X를 클릭하면 창을 닫고 프로그램을 깔끔히 종료한다.
    • minlibX의 이미지를 사용하는 것을 추천한다.
  • 프로그램은 확장자가 .ber인 맵 설명 파일을 첫 번째 인수로 취해야 합니다.
    - 지도는 5개의 문자로만 구성되어야 합니다. 0은 빈 공간, 1은 벽, C는 수집품, E는 종료 지점, P는 플레이어의 시작 위치입니다.
    • 다음은 간단한 지도 예시입니다.
    • 지도는 벽으로 둘러싸여 있어야 합니다. 그렇지 않은 경우 오류가 반환되어야 합니다.
    • 지도에는 하나 이상의 출구, 수집품, 시작 위치가 있어야 합니다.
    • 지도에 유효한 경로가 있는지 확인할 필요가 없습니다.
    • 지도는 직사각형이어야 합니다.
    • 지도의 규칙을 준수하는 한 모든 종류의 지도를 파싱할 수 있어야 합니다.
    • 파일에서 모든 종류의 잘못된 구성이 발견되면 프로그램이 제대로 종료되고 "Error\n" 다음에 선택한 명시적 오류 메시지가 반환되어야 합니다.

bonus

  • 평가 중에 사용이 정당한 경우 다른 기능을 사용하여 보너스 부분을 완료할 수 있습니다.
  • 보너스 리스트
    • 접촉시 패배하는 순찰하는 적
    • 스프라이트 애니메이션
    • 쉘 대신 화면에 이동 횟수 표시
profile
기록하는 습관 들이기

0개의 댓글