public void Update()
        {
            UpdateVariables();
            CheckForEnd();

            //Stages of the round (стейдж на врътката)
            if (database.Stages["preflop"])
            {
                //Sets the first starting player
                SetFirstPlayer();

                ResetFolds();
                ResetRaiseAmount();

                dealer.Shuffle(database.Deck);
                dealer.DealCards(database.Deck, database.HumanPlayers, database.BotPlayers, database.TableCards);

                //Sets players power depending on their cards combinations
                SetPlayersPower();

                PlayerRotator();

                RemoveFoldedPlayers();

                ContinueStage("preflop", "flop");
            }

            else if (database.Stages["flop"])
            {
                PlayerRotator();

                RemoveFoldedPlayers();

                ContinueStage("flop", "turn");
            }

            else if (database.Stages["turn"])
            {
                PlayerRotator();

                RemoveFoldedPlayers();

                ContinueStage("turn", "river");
            }

            else if (database.Stages["river"])
            {
                PlayerRotator();

                RemoveFoldedPlayers();

                ContinueStage("river", "end");
            }

            else if (database.Stages["end"])
            {
                dealer.SetWinner(database.CyclePlayers, database);

                ClearCyclePlayers();

                ClearCyclePlayers();

                dealer.ReturnCards(database.Deck, database.HumanPlayers, database.BotPlayers, database.TableCards);

                ContinueStage("end", "preflop");
            }
            UpdateVariables();
            CheckForEnd();
        }