示例#1
0
        private int RemoveAndCreateNewPlayer(Player player, int counter)
        {
            Players.Remove(player);
            savedplayers.Remove(player);

            var minSpendMoney = 0;
            var lastPlayer    = TopPlayers.LastOrDefault();

            if (lastPlayer != null)
            {
                minSpendMoney = lastPlayer.SpendMoney;
            }
            if (player.SpendMoney > minSpendMoney)
            {
                TopPlayers.Add(player);
            }
            player.SpendMoney += player.Money;

            TopPlayers.Sort(x => x.SpendMoney, ListSortDirection.Descending);
            while (TopPlayers.Count > 10)
            {
                TopPlayers.RemoveAt(TopPlayers.Count - 1);
            }

            return(counter);
        }
示例#2
0
            public void ByLevel(User user, RecivedMessage message)
            {
                var top = new StringBuilder();

                DisplayTop(top, TopPlayers.Instance.Top[TopParam.Level],
                           (usr, topPlayer) =>
                           $"{usr.Info.Name} достиг {TopPlayers.UnpackLevel(topPlayer.Value).Item1} уровня");

                Room.SendMessage(user, top.ToString(), Room.GetButtons(user));
            }
示例#3
0
        /// <summary>
        /// The Game starting loop
        /// </summary>
        public void Run()
        {
            this.topPlayers     = TopPlayers.Instance;
            this.dataRepository = new DataRepository();
            this.topPlayers.Load(this.dataRepository);
            this.player = new Player();
            this.StartNewGame();
            this.consoleRenderer = new ConsoleRenderer();

            while (this.isGameRunning)
            {
                this.ExecuteLoop();
            }
        }