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); } }
internal BiasedDice(int biasedPercent, Biased biasedState) { Current = 0; BiasedPercent = biasedPercent; BiasedState = biasedState; }