示例#1
0
 void Start()
 {
     SeatMovements = new SeatData[Rows][];
     for (int row = 0; row < Rows; ++row)
     {
         SeatMovements[row] = new SeatData[Columns];
     }
 }
示例#2
0
 public Seat(Wagon wagon, SeatData seatData)
 {
     Wagon = wagon;
     Id    = seatData.Id;
     foreach (var timeDate in seatData.BookedDates)
     {
         var date = new Date(timeDate);
         _bookedDates.Add(date);
     }
 }
示例#3
0
    public override int Part2(string[] input)
    {
        var list = input
                   .ToList()
                   .Select(seatData => TraverseBSP(seatData))
                   .OrderBy(x => x.SeatId)
                   .ToList();
        SeatData prev = null;
        int      id   = 0;

        list.ForEach(seatInfo =>
        {
            if (prev != null)
            {
                if (prev.SeatId != seatInfo.SeatId - 1)
                {
                    id = seatInfo.SeatId - 1;
                }
            }
            prev = seatInfo;
        });
        return(id);
    }
示例#4
0
        public RoomActor(int roomId, string createTime, int createUserId,
                         NiuniuPlayType playType, int minBet, int gameNum, CostType costType, int rule,
                         int goldNiu, int silverNiu, int quad, int fiveNiu, int straightNiu, int flushNiu, int gourdNiu, int straightFlush,
                         bool isBetLimit, int pushBet, bool feeIncrease, bool startedNoComeIn,
                         bool isOpenWhiteName, bool isOpenShuffling, bool isOpenAutoStart, int houseId, int positionId, string houseName, IGameRouteMap gameMap,
                         int holderScore = -1, int grabMultiple = -1, int playerNum = 6,
                         int holderId    = -1, int watchNum     = 4, int gameCount  = 0)
        {
            _users           = new ConcurrentDictionary <int, UserData>();
            _roomId          = roomId;
            _createTime      = createTime;
            _createUserId    = createUserId;
            _playType        = playType;
            _minBet          = minBet;
            _gameNum         = gameNum;
            _costType        = costType;
            _rule            = rule;
            _goldNiu         = goldNiu;
            _silverNiu       = silverNiu;
            _quad            = quad;
            _fiveNiu         = fiveNiu;
            _feeIncrease     = feeIncrease;
            _startedNoComeIn = startedNoComeIn;
            _holderScore     = holderScore;
            _grabMultiple    = grabMultiple;
            _playerNum       = playerNum;
            _watchNum        = watchNum;
            _isOpenWhiteName = isOpenWhiteName;
            _isOpenShuffling = isOpenShuffling;
            _isOpenAutoStart = isOpenAutoStart;
            _isBetLimit      = isBetLimit;
            _pushBet         = pushBet;

            _straightNiu   = straightNiu;
            _flushNiu      = flushNiu;
            _gourdNiu      = gourdNiu;
            _straightFlush = straightFlush;

            HouseId    = houseId;
            PositionId = positionId;
            HouseName  = houseName;

            GameRouteMap = gameMap;

            _seats = new SeatData[_playerNum];
            for (int i = 0; i < _playerNum; i++)
            {
                _seats[i] = new SeatData((short)i);
            }
            _cardList = new List <int>(PackMaxNum);
            for (int i = 0; i < PackMaxNum; i++)
            {
                _cardList.Add(i);
            }

            if (playerNum == 12)
            {
                for (int i = 0; i < PackMaxNum; i++)
                {
                    _cardList.Add(i);
                }
            }

            GameState = GameStatus.None;
            GameCount = gameCount;

            IsGameStarted = false;

            ReleaseRecord = new List <ReleaseInfo>();
            Settlement    = string.Empty;
            HolderId      = holderId;

            JoinUserIds = new HashSet <int>();
        }