Пример #1
0
        private void Cheat(string userInputString, int rollCount)
        {//Gør en dice til en dynamisk type af biasedDice
            try
            {
                string[] inputSplit = userInputString.Split(" ");

                int diceIndex     = Convert.ToInt32(inputSplit[1]);
                int biasedPercent = Convert.ToInt32(inputSplit[2]);

                Biased biasedState = Biased.Positive; //skal declare den til en value, ellers brokker den sig
                if (inputSplit[3] == "positive")
                {
                    biasedState = Biased.Positive;
                }
                else if (inputSplit[3] == "negative")
                {
                    biasedState = Biased.Negative;
                }
                else
                {
                    Console.WriteLine("Ikke en gyldig mulighed. Prøv igen.\nEksempel input: 'snyd 1 100 positive' betyder 'første terning skal snyde positivt 100 % af gangene'");
                    UserActions(rollCount);
                    return;
                }

                if (BiasedDices[diceIndex - 1] == null) //hvis det ikke er en snydeterning i forvejen
                {
                    BiasedDices[diceIndex - 1] = new BiasedDice(biasedPercent, biasedState);
                    Dices[diceIndex - 1]       = BiasedDices[diceIndex - 1]; //dynamisk type
                    Console.WriteLine($"Terning nummer {diceIndex} er nu en {biasedState} biased dice, og snyder {biasedPercent}% af gangene.");
                }
                else //hvis det ER en snydeterning i forvejen
                {
                    BiasedDices[diceIndex - 1].BiasedPercent = biasedPercent;
                    BiasedDices[diceIndex - 1].BiasedState   = biasedState;
                    Console.WriteLine($"Terning nummer {diceIndex} er ændret til at være {biasedState} biased {biasedPercent}% af gangene.");
                }


                UserActions(rollCount);
            }
            catch (Exception)
            {
                Console.WriteLine("Ikke en gyldig mulighed. Prøv igen.\nEksempel input: 'snyd 1 100 positive' betyder 'første terning skal snyde positivt 100 % af gangene'");
                UserActions(rollCount);
            }
        }
Пример #2
0
 internal BiasedDice(int biasedPercent, Biased biasedState)
 {
     Current       = 0;
     BiasedPercent = biasedPercent;
     BiasedState   = biasedState;
 }