본문 바로가기
유니티/C#

10. 간단한 로그라이크 게임 만들기 Start

by 찡사랑방 2023. 3. 31.
728x90
728x90

10번째 수업

 

간단한 로그라이크 게임 만들기 Start

 

1.BoardManager 

 

using UnityEngine; 
using System; 
using System.Collections.Generic; 
//using Random = UnityEngine.Random; 

//List 활용, 이중For문, class(사용자 정의자료형) 
//배열<-->random.range 
public class Count 
{ 
    public int min, max; 

    public Count(int _min, int _max) 
    { 
        min = _min; max = _max; 
    } 
} 
public class BoardManager : MonoBehaviour 
{ 
    //자원->object->저장 변수 
    // public -> 접근제한자 ->공유, 인스펙터 창에 노출 
    //SerializeField ->공유X, 인스펙터 창 노출

    [SerializeField] GameObject[] floorTiles; 
    [SerializeField] GameObject[] outwallTiles; 
    [SerializeField] GameObject[] wallTiles; 
    [SerializeField] GameObject[] enemyTiles; 
    [SerializeField] GameObject[] foodTiles; 
    [SerializeField] GameObject exit; 

    int mapSize = 8; 
    //random->최소값, 최대값 
    Count wallCount = new Count(5, 9); 
    Count foodCount = new Count(1, 5); 
}


    private void Start() 
    { 
        BoardSetup(); //바닥, 외벽 

    } 

   private void BoardSetup() 
    { 
        boardHolder = new GameObject("boardHolder"); 

        for (int x = -1; x < mapSize + 1; x++) 
        { 
            for (int y = -1; y <= mapSize; y++) 
            { 

                //idx : 위치 정보   
                //정수일때 랜덤은 최소값~최대값-1 사이의 값이 생성 
                //실수일대 랜덤은 최소값~최대값 
                int idx = Random.Range(0, floorTiles.Length); //배열의 크기(8) -> 0~7 
                GameObject tile = floorTiles[idx]; 

                //외벽으로 타일을 교체 
                if (x == -1 || x == mapSize || y == -1 || y == 8)   
                { 
                    idx = Random.Range(0, outwallTiles.Length); 
                    tile= outwallTiles[idx]; 
                } 

                GameObject go = Instantiate(tile, new Vector3(x, y), Quaternion.identity); 
                //Instantiate : (무엇을, 위치, 회전) -> 생성하시오  
                //부모와 자식의 관계 
                go.transform.SetParent(boardHolder.transform); 

            } 
        } 
    }
728x90

'유니티 > C#' 카테고리의 다른 글

12. 간단 로그라이크 만들기 - 3  (0) 2023.04.04
11. 간단 로그라이크 만들기 - 2  (0) 2023.04.03
9. C# 기초 수업 -9  (0) 2023.03.30
8. C# 기초 수업 -8  (0) 2023.03.29
7. C# 기초 수업 -7  (0) 2023.03.28