using UnityEngine; using System.Collections.Generic; public class SimpleMapGenerator : MonoBehaviour { public GameObject tilePrefab; // ¹èÄ¡ÇÒ Å¸ÀÏ ÇÁ¸®ÆÕ public int totalTiles = 500; // »ý¼ºÇÒ ÃÑ Å¸ÀÏ ¼ö public float tileSize = 1.0f; // ŸÀÏ °£ÀÇ °£°Ý void Start() { GenerateMap(); } void GenerateMap() { // Áߺ¹ À§Ä¡¸¦ ¹æÁöÇϱâ À§ÇØ »ý¼ºµÈ À§Ä¡ ÀúÀå HashSet floorPositions = new HashSet(); Vector2Int currentPos = Vector2Int.zero; // ½ÃÀÛÁ¡ (0, 0) floorPositions.Add(currentPos); for (int i = 0; i < totalTiles; i++) { // »óÇÏÁ¿ì Áß ·£´ýÇÑ ¹æÇâ ¼±Åà currentPos += GetRandomDirection(); // »õ·Î¿î À§Ä¡¶ó¸é ¸ñ·Ï¿¡ Ãß°¡ if (!floorPositions.Contains(currentPos)) { floorPositions.Add(currentPos); } } // °áÁ¤µÈ À§Ä¡¿¡ ŸÀÏ »ý¼º foreach (var pos in floorPositions) { Instantiate(tilePrefab, new Vector3(pos.x * tileSize, 0, pos.y * tileSize), Quaternion.identity, transform); } } Vector2Int GetRandomDirection() { Vector2Int[] directions = { Vector2Int.up, Vector2Int.down, Vector2Int.left, Vector2Int.right }; return directions[Random.Range(0, directions.Length)]; } }