コード例 #1
0
ファイル: Table.cs プロジェクト: xinzodl/PastProjects
        private void StartGame()
        {
            GameHasStarted = true;
            Table.getInstance().PiecesPile = new Pile();

            AssignTokensToPlayers();

            DominoService.getInstance().NotifyTokensToPlayers(PlayersRegistered);

            DominoService.getInstance().PutInitialPieceAlert(PlayersRegistered, CurrentStartPiece.ToInt(), CurrentStartPiecePosition, PlayerWhoStarts);

            // Quita de las Piezas disponibles del Jugador con la que se empieza
            PlayersRegistered[PlayerWhoStarts].getHand().getPieces().Remove(CurrentStartPiece);
            this.playerWhoHasTurn = (PlayerWhoStarts + 1) % 4;

            DominoService.getInstance().WhoHasTurn(PlayersRegistered, playerWhoHasTurn);
        }
コード例 #2
0
ファイル: Table.cs プロジェクト: xinzodl/PastProjects
        public void SitPlayer(string PlayerName, IDominoServiceCallbackContract Callback)
        {
            int PlayerPosition = PlayersRegistered.Count;

            // Se añade el nuevo jugador a la lista de los sentados en la mesa
            this.PlayersRegistered.Add(new Player(PlayerName, PlayerPosition, Callback));

            // Ha podido sentar al nuevo jugador y se notifica a todos los sentados los datos del nuevo jugador
            DominoService.getInstance().NotifyNewPlayer(PlayersRegistered, Callback, PlayerPosition, PlayerName);



            // La mesa está completa y el juego todavía no ha empezado
            if (!this.TableIsNotFull() && !this.IsGameStarted())
            {
                StartGame();
            }
        }
コード例 #3
0
ファイル: Table.cs プロジェクト: xinzodl/PastProjects
 public Table(DominoService servidor)
 {
     this.servidor = servidor;
 }