using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.Serialization; using UnityEngine.UI; public class TestGameManager : MonoBehaviour { [SerializeField] private TMP_InputField rowText; [SerializeField] private TMP_InputField colText; [SerializeField] private TMP_Text boardText; private Enums.PlayerType[,] _board; private void Start() { _board = new Enums.PlayerType[15, 15]; MiniMaxAIController.SetLevel(1); // 급수 설정 테스트 ResultBoard(); } public void OnClickGoButton() { int row = int.Parse(rowText.text); int col = int.Parse(colText.text); if (_board[row, col] != Enums.PlayerType.None) { Debug.Log("중복 위치"); return; } _board[row, col] = Enums.PlayerType.PlayerA; Debug.Log($"Player's row: {row} col: {col}"); // var isEnded = MiniMaxAIController.CheckGameWin(Enums.PlayerType.PlayerA, _board, row, col); // Debug.Log("PlayerA is Win: " + isEnded); // 인공지능 호출 var result = MiniMaxAIController.GetBestMove(_board); if (result.HasValue) { Debug.Log($"AI's row: {result.Value.row} col: {result.Value.col}"); _board[result.Value.row, result.Value.col] = Enums.PlayerType.PlayerB; // isEnded = MiniMaxAIController.CheckGameWin(Enums.PlayerType.PlayerB, _board, result.Value.row, result.Value.col); // Debug.Log("PlayerB is Win: " + isEnded); } ResultBoard(); } private void ResultBoard() { boardText.text = ""; // player 타입에 따라 입력받는 건 무조건 A로 해서 A, AI는 B로 나타내고 None은 _ for (int i = 0; i < 15; i++) { for (int j = 0; j < 15; j++) { if (_board[i, j] == Enums.PlayerType.PlayerA) { boardText.text += 'A'; } else if (_board[i, j] == Enums.PlayerType.PlayerB) { boardText.text += 'B'; } else if (_board[i, j] == Enums.PlayerType.None) { boardText.text += '_'; } boardText.text += ' '; } boardText.text += '\n'; } } }