Exemplo n.º 1
0
 public void GameEnd(GwentRoom room)
 {
     //结束游戏恢复玩家状态
     room.Player1.CurrentUser.UserState     = UserState.Standby;
     room.Player2.CurrentUser.UserState     = UserState.Standby;
     room.Player1.CurrentUser.CurrentPlayer = null;
     room.Player2.CurrentUser.CurrentPlayer = null;
     //删除房间
     GwentRooms.Remove(room);
 }
Exemplo n.º 2
0
        public async void StartGame(GwentRoom room)
        {
            //通知玩家游戏开始
            await _hub().Clients.Client(room.Player1.CurrentUser.ConnectionId).SendAsync("MatchResult", true);
            await _hub().Clients.Client(room.Player2.CurrentUser.ConnectionId).SendAsync("MatchResult", true);

            //初始化房间
            var player1   = room.Player1;
            var player2   = room.Player2;
            var gwentGame = new GwentServerGame(player1, player2, _gwentCardTypeServic);

            //开始游戏改变玩家状态
            player1.CurrentUser.UserState = UserState.Play;
            player2.CurrentUser.UserState = UserState.Play;
            //开启游戏
            room.CurrentGame = gwentGame;
            await gwentGame.Play();

            GameEnd(room);
        }