게임 흐름 관리 별 생성하기, 떨어지기 충돌처리하기

Download Report

Transcript 게임 흐름 관리 별 생성하기, 떨어지기 충돌처리하기

Game Script Language
하늘에 별따기 작업일지
2006181016 문준석
1. C++ 구현(1)
• C스타일의 SDL함수를 좀더 편하게 사용하
기 위해 이미지를 클래스로 구현
2. Lua에서 사용 할 이미지를 콘솔에서 생성
• 콘솔에서 생성 후 스크립트에서는 파라미
터로 index를 넘겨 주는 형태로 사용.
3. C++ 과 Lua 연동 될 함수 작성
• ‘Image’ Class 중에 lua에서 사용 될 부분을
cLua::addFunction()를 사용하여 등록시킴
연동 함수(예 1)
연동 함수(예 2)
4. 스크립트 작성
•
•
•
•
•
•
게임 흐름 관리
별 생성하기, 떨어지기
충돌처리하기(별-바구니, 별-바닥)
점수 판->C++함수로 구현
바구니 좌우 이동
플레이어 목숨 관리
게임 흐름 관리
• 스크립트부분의 게임흐름이 끝날 때까지 콘솔은 계속
기다리고 있어야 한다.
게임 흐름(intro.lua)
• 타이틀을 깜박이면서 클릭하면 게임 플레이를 시작한다.
게임 흐름(play.lua)
• 별을 놓쳐서 플레이어의 생명(Life)가 0보다 작거나 같으
면 게임오버가 된다.
게임 흐름(gameover.lua)
• 플레이 동안의 점수를 보여주면서 클릭을 하면 프로그램
을 종료시킨다.
참고(main.lua)
• 상수를 선언해서 아이디(id, c에선 배열 index)에 네이밍함.
• 필요한 정보들은 미리 지정함.
별 생성하기
• 일정 시간이 되면, x축을 랜덤(20~280)으로 별이 떨어진다.
별 떨어지기
•
•
•
현재 점수가 커짐에 따라 지연(delay)이 줄어듬.
살아있는 별에 한에서 바닥에 떨어진다.
떨어진 별이 있다면, 플레이어 생명이 줄어진다.
충돌처리하기
• 보이는 별에 한에서 플레이어와 충돌처리한다.
• 충돌했다면, 점수가 올라간다.
(바닥과의 충돌은 별이 떨어지는 부분에서 구현됨.)
바구니 좌우 이동
• 콘솔로부터 마우스 위치 값을 받아와 그 위치에
플레이어를 위치시킨다.
★
★
★
★
★
★
★
★GAME OVER
윈도우 크기: 300x400
별 이 위에서 아래방향으로
떨어진다.
플레이어는 바구니를 통해
별을 담는다.
컨트롤은 마우스로 한다.
3개 이상 놓치면 게임이
끝난다.