Exemple #1
0
        public Response <OptionDescModel> MyLastOptionDesc([FromServices] Game game)
        {
            User user = GetUser();

            if (user == null)
            {
                return(Response <OptionDescModel> .Error(1, "未登录用户"));
            }
            if (string.IsNullOrEmpty(user.RoomId))
            {
                return(Response <OptionDescModel> .Error(7, $"不在任何房间中"));
            }
            game.SetRoomId(user.RoomId);
            var player = game.GetPlayerByUserId(user.Id);

            if (player == null)
            {
                return(Response <OptionDescModel> .Error(8, $"不在房间[{user.RoomId}]中"));
            }
            var option = player.HistoryOptions.LastOrDefault();

            if (option == null)
            {
                return(Response <OptionDescModel> .Return(null));
            }
            OptionDescModel result = new OptionDescModel();

            result.Phase   = game.GetPhaseDesc(option.Phase);
            result.Options = new string[] { $"{game.GetOptionDesc(option)}{(option.Result == null ? "" : "=>" + game.GetOptionResultDesc(option))}" };
            return(Response <OptionDescModel> .Return(result));
        }
Exemple #2
0
        public Response <OptionDescModel> MyOptionsDesc([FromServices] Game game)
        {
            User user = GetUser();

            if (user == null)
            {
                return(Response <OptionDescModel> .Error(1, "未登录用户"));
            }
            if (string.IsNullOrEmpty(user.RoomId))
            {
                return(Response <OptionDescModel> .Error(7, $"不在任何房间中"));
            }
            game.SetRoomId(user.RoomId);
            var player = game.GetPlayerByUserId(user.Id);

            if (player == null)
            {
                return(Response <OptionDescModel> .Error(8, $"不在房间[{user.RoomId}]中"));
            }
            var options = game.GetOptions(player.SeatNo);

            if (options == null || options.Count == 0)
            {
                return(Response <OptionDescModel> .Return(null));
            }
            OptionDescModel result = new OptionDescModel();

            result.Phase   = game.GetPhaseDesc(options.First().Phase);
            result.Options = options.Select(option => $"{game.GetOptionDesc(option)}{(option.Result == null ? "" : "=>" + game.GetOptionResultDesc(option))}").ToArray();
            return(Response <OptionDescModel> .Return(result));
        }