C#

[C#] Pacman Game 만들기

AlexHouse 2021. 6. 11. 12:24
728x90

학교에서 교수님이 최종보고서 형식으로 C#을 이용한
무언가 작품을 만들어 오라고 하셨어요.

마땅히 내가 배운것 중에 날씨앱, 시계 등등
마음에드는 것이 없어서 좀 획기적인 게임을 만들어 보자!

라는 생각이 들었습니다.

그리하여... 
"도지코인을 채굴하라"라는
타이틀의 인디게임을 만들어 보았어요.

 

도지코인을 채굴하라

 

일단 움직이는 pacman은 포켓몬스터 "디그다" 사진을 

도지코인의 정신적인 지주 테슬라의 회장 "일론 머스크" 사진을 

일론 머스크가 "화성"을 가자고 해서 화성을 오픈소스로 사용하였습니다.

 

images

이런식으로
디그다 = antman.jpg
도지코인 = doge.jpg

화성 = mars.jpg
일론 머스크 = musk.jpg
일론 머스크2 = mussk.jpg
 으로 변환 시켰습니다.

아래는 원래 기존에 팩맨 게임을 만들려고
다운 받았던 팩맨, 방해물1,2,3 입니다.

 

배경을 어둡게 할거라서 캐릭터의 배경을 대부분
그림판에서 어둡게 만들어줬습니다.

 

WPF Application

 

이번는 당연히 화면이 필요하기 때문에

console이 아니라 WPF Application을 선택해줘야 합니다.

 

 

프로젝트 이름

 

 

프로젝트 이름은 본인이 알기쉬우면서
어렵지 않게 해주세요 

 

 

만들기

 

그렇게 만들면서 새로운 WPF파일이 만들어집니다.

 

 

디자인 하기

 

 

일단 빨간색 밑줄친 부분을 제외하면 다 비슷하실 겁니다.

 Title = "도지코인을 채굴하라" 라는 타이틀을 주었구요 

높이, 너비는 각각 600, 800 정도 주었습니다. (이건 본인의 입맛대로)

 

 

그리고 왼쪽 상단에 "채굴: 0" 스코어를 만들기위해
만들어 놓았습니다.

채굴

그리고 아래는 제가 사용할 pacman, mussk, musk, mars 을 순서대로

객체를 만들어 놓았습니다.

 

 

Wall(벽)

그리고 을 만들어서 이동방향을

제한을 두도록 하였습니다.

 

도지코인

마지막의 도지코인 하나와 나머지 코인 들을 만들어서

코인을 먹으면 점수가 올라가도록 하였습니다.

 

그럼이제 그래픽 디자인 말고

코드 명령하는 파트로 넘어갑니다.

 

시스템 설정

 

다음은 저희가 게임을 만드는데 필요한 설정 사항 목록 입니다.

 

방향키 설정

 

bool 이라는 수식어와 함께 객체를 선언함과 동시에

상하좌우 방향키를 만들도록 선언합니다.

 

 

키 설정

 

이제 본격적 자판을 눌렀을 때 이동하도록 하는 것입니다.

현재에는 그래픽이 만들어졌어도 "벽"을 뚫고 지나가는

모습을 보실 수 있을겁니다.

 

 

그래픽 변환

 

가장 중요한 작업이죠. 게임은 그래픽이 생명 아니겠습니까?

그냥 만들면 재미없으니 일론머스크, 도지코인, 디그다와 같은 사진

으로 변환 시켜주었습니다.

 

게임루프

 

이제 GameLoop라고하죠 이제 게임에 관한 본격적인 역할을 부여 할 것입니다
상하좌우를 눌렀을 때 어떤 스피드로 가도록 하고, 채굴할 때마다 점수도 부여하도록

하였습니다.

 

 

이동제한

 

화면을 뚫고 움직이는 것이 불가능 하도록

상하좌우 높이, 너비 = 600 , 800 에 맞게 적절하게 

적용해줍니다.

 

이제 저희가 그래픽에서 만들어 놓았던 벽을 닿으면

더이상 그 방향으로는 이동을 막도록 하는 명령을

선언합니다.

 

코인

 

코인을 먹을 때마다 점수가 올라가고 

코인을 없어지도록 선언합니다.

 

장애물

 

이제 제가 만들어 놓은 방해물에 닿으면

"게임 오버" 되도록하여  "코인 손대지 말랫쥬?" 라는

메시지가 뜨게하고 방해물이 좌우로 적정속도로 왔다갔다

하도록 명령합니다.

 

 

미션 완수

 

미션을 완수 하였을 경우 

코인이 총 130개 인데 모두 흭득하게 되면

승리선언으로 "같이 화성 갑시다"라는 메시지가 나옵니다.

 

 

종료

마지막은 게임이 승리, 또는 게임오버 되었을 경우

자동으로 게임이 종료 되도록 명령합니다.

 

 

 

 

 

 

이상 팩맨게임을 만드는 방법을

적어보았습니다.

자세한 코드가 궁금하시면
😁😁댓글달아주세요!🙌🙌

감사합니다.

728x90