클래스 설계 및 함수

클래스는 전체적인 게임 플레이를 진행하고, 맵을 관리할 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;
    }
}




* 지적은 언제나 환영입니다.

Posted by 검은거북

블로그 이미지
프로그래밍 공부 요약 및 공부하며 발생한 궁금증과 해결과정을 포스팅합니다.
검은거북

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함