Home So_long ① Subject
Post
Cancel

So_long ① Subject

thumbnail

Summary
이 프로젝트는 매우 작은 2D 게임입니다. 이 프로젝트는 당신이 텍스처, 스프라이트, 그리고 기본적인 게임플레이 요소들을 다루게 하기 위해 만들어졌습니다.

Goals

이 프로젝트의 목표는 첫 해의 모든 목표들과 유사합니다 : 엄격함, C의 사용, 기본 알고리즘의 사용, 정보 연구 등
그래픽 디자인 프로젝트인 So long은 창, 색상, 이벤트, 텍스처 등과 같은 영역에서 여러분의 기술을 향상시켜줄 것입니다.

Mandatory part - so long

프로그램 이름so_long
제출할 파일모든 파일
인자*.ber 형태의 맵
외부 함수open, close, read, write, printf, malloc, free,
perror, strerror, exit, Minilibx의 모든 함수
Libft 허용 여부허용
설명돌고래가 물고기를 몇 마리 먹고 지구를 탈출하는 작은 2D 게임을 생성하거나
어떤 히어로가 보물을 모아서 공간을 떠나는 게임을 만들어야 한다.

제한사항은 다음과 같다.

  • miniLibX를 사용해야한다. OS에서 사용가능한 버전을 사용하거나 제공되는 소스를 사용한다. 소스를 사용하기로 하였다면 Common Instruction과 동일한 규칙을 Libft에 적용해야한다.
  • 창 관리는 부드러워야 한다 : 창 변경하기, 축소하기, 등
  • 예시는 돌고래로 주어지지만 원하는 어떤 것으로도 사용할 수 있다.
  • 맵은 벽, 수집품, 자유 공간의 3가지 요소로 구성될 것이다.
  • 플레이어의 목표는 맵에 있는 수집품을 모두 모은 다음 최소한의 움직임으로 탈출하는 것이다.
  • 매번 이동할 때마다 현재 이동하는 횟수가 셸에 표시되어야 합니다.
  • 플레이어는 위, 아래, 왼쪽, 오른쪽으로 움직일 수 있어야 합니다.
  • 2D 뷰(top-down또는 profile)를 사용합니다.
  • 게임은 실시간일 필요는 없습니다.
  • 플레이어는 벽으로 이동할 수 없습니다.
  • 이 프로그램은 창에 이미지를 표시하고 다음 규칙을 준수합니다.
    • W, A, S, D 키는 주인공을 이동시키는 데 사용될 것입니다.
    • ESC를 누르면 윈도우를 닫고 프로그램을 완전히 종료해야 합니다.
    • 창 프레임에 있는 빨간색 십자가를 클릭하면 창을 닫고 프로그램을 완전히 종료해야 합니다.
    • MinilibX의 images를 사용하는 것을 추천합니다.
  • 프로그램은 확장자가 .ber인 맵 설명 파일을 첫 번째 인수로 받아야 합니다.
  • 맵은 5개의 문자로만 구성되어야 합니다: 빈 공간은 0, 벽은 1, 수집품은 C, 맵 출구는 E, 플레이어의 시작 위치는 P. 다음은 간단한 유효한 맵의 예시입니다.

    1
    2
    3
    4
    5
    
      1111111111111
      10010000000C1
      1000011111001
      1P0011E000001
      1111111111111
    
    • 맵은 벽으로 둘러싸야 하며, 그렇지 않은 경우 프로그램은 에러를 반환해야 합니다.
    • 맵에는 적어도 하나의 출구, 하나의 수집품 및 하나의 시작 위치가 있어야 합니다.
    • 당신은 맵에 유효한 경로가 있는지 확인할 필요가 없습니다.
    • 맵은 직사각형이어야 합니다.
    • 맵의 규칙을 준수하는 모든 종류의 맵을 파싱할 수 있어야 합니다.
    • 다른 간단한 .ber 맵의 예시이다.
    1
    2
    3
    4
    5
    6
    
      1111111111111111111111111111111111
      1E0000000000000C00000C000000000001
      1010010100100000101001000000010101
      1010010010101010001001000000010101
      1P0000000C00C0000000000000000000C1
      1111111111111111111111111111111111
    
    • 파일에서 잘못된 구성이 발견되면 프로그램을 올바르게 종료하고 "Error\n"을 반환한 다음 사용자가 임의로 설명한 명시적인 에러 메시지를 표시해야 합니다.

Bonus part

평가에서 정당화될 수 있다면 다른 함수를 사용하는 것이 허용됩니다.

보너스 리스트 :

  • 만날 시 플레이어가 패배하도록 만드는 적의 순찰
  • 몇가지의 스프라이트 애니메이션
  • 셸 출력 대신 화면에 이동 횟수가 직접 표시
This post is licensed under CC BY 4.0 by the author.

Push_swap ③ 구현 과정

So_long ② 배경 지식