Exemple #1
0
        private ChessPlayer GetWinner()
        {
            ChessPlayer winner = null;

            if (White != null && _game.IsWinner(White.player))
            {
                winner = White;
            }
            else if (Black != null && _game.IsWinner(Black.player))
            {
                winner = Black;
            }

            return(winner);
        }
Exemple #2
0
        public ActionResult Join(string playerId, string playerNick)
        {
            var cp = new ChessPlayer
            {
                Id         = playerId,
                PlayerNick = playerNick,
                IsHost     = playerId == _config.CreatorId
            };

            var isWhiteTaken = White != null;
            var isBlackTaken = Black != null;

            if ((isBlackTaken && Black.PlayerNick == playerNick) || (isWhiteTaken && White.PlayerNick == playerNick))
            {
                return(new ActionResult(false, "Name already in use"));
            }

            if (!isWhiteTaken)
            {
                cp.player = Player.White;

                White = cp;
            }
            else if (!isBlackTaken && White.Id != playerId)
            {
                cp.player = Player.Black;

                Black = cp;
            }
            else
            {
                return(new ActionResult(false, "Game is full"));
            }

            return(new ActionResult(true));
        }
Exemple #3
0
        public List <Move> GetMoves(ChessPlayer ChessPlayer)
        {
            var moves = _game.GetValidMoves(ChessPlayer.player);

            return(moves.ToList());
        }