コード例 #1
0
ファイル: CPUPlayer.cs プロジェクト: AvaPL/Checkers
    private void ChooseAndDoMove()
    {
        Move move = MoveTreeBuilder.ChooseNextCPUMove();
        var  fromTileClickDetector = tileGetter.GetTile(move.From).GetComponent <TileClickDetector>();
        var  toTileClickDetector   = tileGetter.GetTile(move.To).GetComponent <TileClickDetector>();

        fromTileClickDetector.ClickTile();
        toTileClickDetector.ClickTile();
    }
コード例 #2
0
    private bool HasCapturingMoveOnDiagonal(TileIndex checkingDirectionInIndex)
    {
        for (var tileIndexToCheck = GetFirstTileIndexToCheck(checkingDirectionInIndex);
             IsIndexValid(tileIndexToCheck);
             tileIndexToCheck += checkingDirectionInIndex)
        {
            var tileToCheck = tileGetter.GetTile(tileIndexToCheck);
            if (pawnMoveValidator.IsCapturingMove(pawnToCheck, tileToCheck))
            {
                return(true);
            }
        }

        return(false);
    }
コード例 #3
0
ファイル: AIPawnsGenerator.cs プロジェクト: AvaPL/Checkers
    private void GeneratePawn(int columnIndex, int rowIndex, PawnColor pawnColor)
    {
        Transform  tileTransform    = tileGetter.GetTile(columnIndex, rowIndex).transform;
        GameObject instantiatedPawn = Instantiate(Pawn, tileTransform.position, Pawn.transform.rotation, tileTransform);

        instantiatedPawn.GetComponent <IPawnProperties>().PawnColor = pawnColor;
    }
コード例 #4
0
 private bool IsTileOccupied(TileIndex tileIndex)
 {
     return(tileGetter.GetTile(tileIndex).GetComponent <TileProperties>().IsOccupied());
 }
コード例 #5
0
ファイル: MoveTreeBuilder.cs プロジェクト: AvaPL/Checkers
 private GameObject GetPawnFromTreeNode(TreeNode <Move> treeNode)
 {
     return(tileGetter.GetTile(treeNode.Value.To).GetComponent <TileProperties>().GetPawn());
 }
コード例 #6
0
ファイル: AIPawnMover.cs プロジェクト: AvaPL/Checkers
    private GameObject GetLastMovePawn()
    {
        GameObject pawnTile = tileGetter.GetTile(lastMove.From);

        return(GetPawnFromTile(pawnTile));
    }