Esempio n. 1
0
        /// <summary>
        ///     Will apply the current server-info to the public vars
        /// </summary>
        /// <param name="si"></param>
        private void ApplyServerInfo(ServerInfoBase si)
        {
            var nu = si == null;

            LastStatusDate = nu ? "-" : si.RequestDate.AddMilliseconds(si.RequestTime).ToString("HH:mm:ss");
            IsOnline       = !nu && si.HadSuccess;
            PlayerCount    = nu ? 0 : si.CurrentPlayerCount;
            MaxPlayerCount = nu ? 0 : si.MaxPlayerCount;
            Version        = nu ? "0.0.0" : si.MinecraftVersion;
            MOTD           = nu || !si.HadSuccess ? "-" : si.ServerMotd;
            LastError      = !nu && si.LastError != null?si.LastError.GetType().Name : "-";

            PlayerList.Clear();
            if (!nu && si.OnlinePlayers != null)
            {
                PlayerList.AddRange(si.OnlinePlayers);
            }
        }
Esempio n. 2
0
        PlayerList QuickSortBestHand(PlayerList myPlayers)
        {
            Player pivot;
            Random ran = new Random();

            if (myPlayers.Count() <= 1)
                return myPlayers;
            pivot = myPlayers[ran.Next(myPlayers.Count())];
            myPlayers.Remove(pivot);

            var less = new PlayerList();
            var greater = new PlayerList();
            // Assign values to less or greater list
            foreach (Player player in myPlayers)
            {
                if (HandCombination.getBestHand(new Hand(player.getHand())) > HandCombination.getBestHand(new Hand(pivot.getHand())))
                {
                    greater.Add(player);
                }
                else if (HandCombination.getBestHand(new Hand(player.getHand())) <= HandCombination.getBestHand(new Hand(pivot.getHand())))
                {
                    less.Add(player);
                }
            }
            // Recurse for less and greaterlists
            var list = new PlayerList();
            list.AddRange(QuickSortBestHand(greater));
            list.Add(pivot);
            list.AddRange(QuickSortBestHand(less));
            return list;
        }