2018. 4. 16. 21:08 IT/Unity 게임개발
[unity 게임개발] 지렁이 키우기 로직 개발 2
클래스 설계 및 함수
클래스는 전체적인 게임 플레이를 진행하고, 맵을 관리할 GameManager와 지렁이의 각 파트를 담당할 Snake, 적군을 담당할 Enermy로 이루어져있습니다.
1.GameManager
// 전체적인 게임 플레이와 맵 관리. public class GameManager : MonoBehaviour { int[,] map; bool isOut; List<snake> snake; List<enermy> enermy; // 매 틱마다 지렁이와 적군을 움직입니다. // 지렁이 헤드 위치에 따라 먹이를 먹거나, 게임을 종료시킵니다. // 지렁이를 방향으로 이동, 애니메이션 진행 후 // 만약 밖으로 나와있다면 적군의 경로 탐색으로 이동 좌표를 얻은다음 배열에 반영-> 애니메이션 // 밖으로 나오는 버튼을 클릭하지 않은 상태면 목표지점에 지렁이가 밖에 있는지 확인후 위의 플로우 진행. public IEnumerator Tick() { yield return null; } // 맵을 랜덤하게 생성. public void MakeMap(ref int[,] _map) { } // 먹이를 먹었을 때, Snake 길이를 늘리는 함수 public void Eat() { } // 버튼을 통해 지렁이의 이동방향을 변경합니다. // 동,남,서,북 차례로 방향 배열을 만들고, +- 1을 해준다. public void TurnLeftButton() { } public void TurnRightButton() { } // 지상으로 나가기 버튼 // 버튼을 누른동안에는 true, 아니라면 false public void TurnShowButton(bool isDown) { } }
2. Snake
// 지렁이의 각 부분을 담당하는 클래스 // 이동 좌표를 저장하고 좌표로 이동하는 애니메이션을 동작한다. public class Snake : MonoBehaviour { // 이동할 좌표. IntVector2 currentPosition; // 밖으로 나왔는가 bool isOut; public void SetSnakePosition(IntVector2 _current,bool _isOut) { } // 배정된 좌표로 이미지를 이동시킨다. public IEnumerator MoveSnake() { yield return null; } }
3.Enermy
// 움직이는 방해물 public class Enermy : MonoBehaviour { IntVector2 currentPosition; IntVector2 nextPosition; IntVector2 destination; int[,] findMap; // 목표물로부터 최단거리를 검색해 다음 이동할 타일을 반환. // findMap에서 주변 4방향 중 가장 작은 값이 있는곳으로 이동. (자신이 지나온곳은 100으로 변경) public IntVector2 FindNextTile(int[,] _mainMap,IntVector2 _destination) { return new IntVector2(); } // 목표지점이 바뀌면 findMap을 새로 생성한다.(너비탐색) public void MakeFindMap(ref int[,] _findMap, int[,] _mainMap, IntVector2 _startPos, IntVector2 _destination) { } // 목표지점에 여전히 지렁이가 지상에 있는지 확인. public bool IsHide(int _map) { return false; } // 배정된 좌표로 이미지를 이동시킨다. public IEnumerator MoveEnermy() { yield return null; } }
* 지적은 언제나 환영입니다.
'IT > Unity 게임개발' 카테고리의 다른 글
[unity 게임개발] 테트리스 게임 로직 개발 1 (0) | 2018.04.22 |
---|---|
[unity 게임개발] 지렁이 키우기 로직 개발 3 (0) | 2018.04.18 |
[unity 게임개발] 지렁이 키우기 로직 개발 1 (0) | 2018.04.16 |
[unity 게임개발] Flood 게임 로직 개발 2 (0) | 2018.04.16 |
[unity 게임개발] Flood 게임 개발하기 1 (0) | 2018.04.14 |