ManOfDemosan / so_long

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

so_long

프로젝트 개요

이 프로젝트의 목표는 mlx라이브러리를 이용하여 간단한 2D 게임을 만드는 것입니다.

우리가 만들어야 하는 게임은

  1. 최대한 적은 이동으로
  2. 맵 위에 있는 수집품을 모두 먹고
  3. 맵 어딘가에 있는 탈출구를 통해 탈출하는 게임 이다. 따라서 게임 화면에는 다음과 같은 5개의 요소가 필요할 것이다.

(P) 캐릭터 -> 플레이어가 직접 조종할 수 있는 캐릭터

(C) 수집품 -> 캐릭터를 조종하여 먹을 수 있는 수집품

(E) 탈출구 -> 수집품을 모두 먹은 후 탈출할 수 있는 지점

(1) 벽 -> 플레이어의 캐릭터가 갈 수 없는 막혀있는 벽

(0) 빈공간 -> 플레이어의 캐릭터가 자유롭게 움직일 수 있는 공간

이 프로젝트에서는 다음과 같은 제약조건이 추가되어있다.

맵 파일은 반드시 .ber를 확장자로 가진다. 맵 파일은 반드시 0(빈 공간), 1(벽), C(수집품), E(탈출구), P(캐릭터의 시작 위치)의 5가지 글자로만 구성된다. 맵은 반드시 사각형이어야 한다. 맵은 반드시 벽으로 둘러싸여있어야 한다. 맵에 유효한 경로가 있는지 체크할 필요는 없다. 맵이 위 조건을 만족한다면 실행에 성공하여야 한다.

캐릭터의 이동은 W,A,S,D 키를 사용한다. ESC를 누르면 윈도우가 닫히고 프로그램이 정상적으로 종료되어야 한다.

플레이어가 움직일 때 마다 현재 움직인 거리가 쉘 상에 표시되어야 한다.

사용 가능 외부함수

  • open, close, read, write, printf, malloc, free, perror, strerror, exit
  • mlx에 포함된 모든 함수

Screen Shot 2022-05-18 at 2 53 25 PM

게임 이미지 레퍼런스

ㅁㅇㄹ

출처: https://youtu.be/29zXF72Zrrg

About


Languages

Language:C 61.8%Language:Swift 25.5%Language:Roff 11.7%Language:Makefile 1.1%