public void GetCurrentCheckerBoard(CheckerBoard igameState) { gameState = igameState; state = new int[69]; state = CheckerBoardToState(gameState); }
// Use this for initialization void Start() { board = GameObject.FindGameObjectWithTag("GameController").GetComponent<CheckerBoard>(); }
public double rollOut(Node tn) { CheckerBoard rollGS = gameObject.AddComponent <CheckerBoard>(); rollGS = tn.gameState; bool stillPlaying = true; double rc = 0; int pos; int move; List <Piece> possiblePieceForcedToMove = rollGS.ScanForAllForcedPiece(); if (possiblePieceForcedToMove.Count > 0) { while ((possiblePieceForcedToMove.Count > 0) && stillPlaying) { pos = r.Next(possiblePieceForcedToMove.Count - 1); startDrag = gameState.UpdateDrag(possiblePieceForcedToMove[pos]); List <Vector2> possiblePositionsToMoveTo = possiblePieceForcedToMove[pos].possiblePositionForcedToMoveTo; move = r.Next(possiblePositionsToMoveTo.Count - 1); endDrag = possiblePositionsToMoveTo[move]; tn.ChangeMovingInState((int)startDrag.x, (int)startDrag.y, (int)endDrag.x, (int)endDrag.y); switch (rollGS.CheckVictory(state)) { case -9: // 1 won - ai stillPlaying = false; if (!rollGS.whoseMove()) { rc = 1.0; } break; default: /* keep playing */ possiblePieceForcedToMove = rollGS.ScanForAllForcedPiece(); break; } } } else { List <Piece> possiblePieceToMove = gameState.ScanForAllPiecePossibleToMove(); while ((possiblePieceToMove.Count > 0) && stillPlaying) { pos = r.Next(possiblePieceToMove.Count - 1); startDrag = gameState.UpdateDrag(possiblePieceToMove[pos]); List <Vector2> possiblePositionsToMoveTo = possiblePieceToMove[pos].possiblePositionToMoveTo; move = r.Next(possiblePositionsToMoveTo.Count - 1); endDrag = possiblePositionsToMoveTo[move]; tn.ChangeMovingInState((int)startDrag.x, (int)startDrag.y, (int)endDrag.x, (int)endDrag.y); switch (rollGS.CheckVictory(state)) { case -9: // 1 won - ai stillPlaying = false; if (!rollGS.whoseMove()) { rc = 1.0; } break; default: /* keep playing */ possiblePieceToMove = rollGS.ScanForAllForcedPiece(); break; } } } return(rc); }