コード例 #1
0
    public void Start(GameContext context)
    {
        _addCallbacks();

        CardDeck deck = CardDeck.FromFile("Decks/StandardDeck");

        deck.Shuffle();

        /// TODO: TEMP, make player state
        for (int i = 0; i < PlayerGroup.kMaxPlayerCount; ++i)
        {
            string playerName = string.Format("P{0}", i);
            _playerList.Add(PlayerState.Create(i, playerName, i % 2));
        }

        _tuckMatchCore = TuckMatchCore.Create(_playerList, deck);

        _playFieldController.Start(_tuckMatchCore.matchState, () =>
        {
            _changeGameMatchMode(GameMatchMode.INITIAL);
            _changeGameMatchMode(GameMatchMode.SHUFFLE_AND_REDISTRIBUTE);
            _changeGameMatchMode(GameMatchMode.PARTNER_TRADE);

            _tuckMatchCore.ClearCommands();
        });
    }
コード例 #2
0
ファイル: TuckMatchCore.cs プロジェクト: Xaer033/tuck
    public static TuckMatchCore Create(
        List <PlayerState> playerList,
        CardDeck cardDeck)
    {
        TuckMatchCore core = new TuckMatchCore();

        // Also no commands for starting player hands
        core.matchState = TuckMatchState.Create(playerList, cardDeck);



        //var board = core.matchState.board;

        //var murderer = board.GetPieceGroupList()[0].GetPiece(1);
        //board.SetPiecePosition(murderer, BoardPosition.Create(PositionType.MAIN_TRACK, 12));


        //var victim = board.GetPieceGroupList()[0].GetPiece(0);
        //board.SetPiecePosition(victim, BoardPosition.Create(PositionType.MAIN_TRACK, 18));


        //var pieceMovement = new PieceMovementData();
        //pieceMovement.type = MoveType.FORWARDS;
        //pieceMovement.value = 6;

        //var pathList = new List<MovePath>();
        //core.matchState.validator.GetValidPaths(murderer, pieceMovement, ref pathList);

        //var pathData = new MoveRequest.PiecePathData();
        //pathData.pieceIndex = 1;
        //pathData.path = pathList[0];

        //var pieceMoveList = new List<MoveRequest.PiecePathData>();
        //pieceMoveList.Add(pathData);

        //MoveRequest request = MoveRequest.Create(0, 0, pieceMoveList);
        //core.ApplyMoveCommand(request);

        return(core);
    }