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(); }); }
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); }