// Use this for initialization void Awake() { _getSquares(); _placePieces(); _engine = GetComponent <cgEngine>(); if (Mode == BoardMode.EngineVsPlayer) { _engine.MakeMove(_abstractBoard, true, _engineCallback); } }
/// <summary> /// Start the game, initialize the chessboard prefab. /// </summary> public void Play() { cgChessBoardScript newboard = GameObject.Instantiate(ChessBoard).GetComponent <cgChessBoardScript>(); cgEngine newengine = newboard.GetComponent <cgEngine>(); newengine.SearchDepthWeak = _weakDepthDifficulties[(int)DifficultySlider.value - 1]; newengine.SearchDepthStrong = _strongDepthDifficulties[(int)DifficultySlider.value - 1]; newboard.StartGame(currentBoardMode); //newobj.GetComponent GameObject.DestroyImmediate(gameObject); }
/// <summary> /// Start the game, initialize the chessboard prefab. /// </summary> public void Play() { cgChessBoardScript newboard = GameObject.Instantiate((this.BoardType.value == 0 ? ChessBoard : ChessBoardTiny)).GetComponent <cgChessBoardScript>(); newboard.searchDepthStrong = _strongDepthDifficulties[(int)DifficultySlider.value - 1]; newboard.searchDepthWeak = _weakDepthDifficulties[(int)DifficultySlider.value - 1]; cgEngine newengine = newboard.getEngine; newboard.Mode = currentBoardMode; newboard.displayAs3d = DisplayAs3D.isOn; newboard.start(); //newobj.GetComponent GameObject.DestroyImmediate(gameObject); }
/// <summary> /// Start the game, with provided board. /// </summary> /// <param name="customBoard">The abstract board that we should match, if none specified we use existing one, if none exists we generate an 8x8 board</param> /// <param name="mode">Which mode the game is in, player vs player, player vs engine, engine vs engine etc.</param> public void start(cgBoard customBoard = null, BoardMode mode = BoardMode.Undefined) { if (customBoard == null) { if (this._abstractBoard != null) { customBoard = this._abstractBoard; } else { customBoard = new global::cgBoard(); } } if (displayAs3d) { Camera.main.transform.localPosition = new Vector3(0, -2.28f, -12.58f); Quaternion newQuat = Camera.main.transform.localRotation; newQuat = Quaternion.Euler(-23.46f, newQuat.eulerAngles.y, newQuat.eulerAngles.z); Camera.main.transform.localRotation = newQuat; } //customBoard = customBoard.revertToStart(); UnityEngine.Debug.Log("start: "); _squares = getSquares(); Mode = (mode != BoardMode.Undefined ? mode : Mode); _engine = new cgEngine(searchDepthWeak, searchDepthStrong); setBoardTo(customBoard); //_abstractBoard.readBoard(); // UnityEngine.Debug.Log(_abstractBoard.boardToString()); if (Mode == BoardMode.PlayerVsEngine && !whiteTurnToMove) { MakeEngineMove(_abstractBoard.duplicate(), false, _engineCallback); } else if (Mode == BoardMode.EngineVsPlayer && whiteTurnToMove) { MakeEngineMove(_abstractBoard.duplicate(), true, _engineCallback); } else if (Mode == BoardMode.EngineVsEngine) { MakeEngineMove(_abstractBoard.duplicate(), true, _engineCallback); } }