/// <summary> /// Check if the selected button text match the correct /// mode colour /// must be in correct order /// </summary> /// <param name="textColour"></param> public bool CheckSequenceColour(Color textColour) { //var color = ColorConverters.FromHex(textColour.ToHex()); ComplexColor guessColor = new ComplexColor { TextColor = textColour }; SelectedItems[GuessesMade] = guessColor; for (int i = 0; i < SelectedItems.Length; i++) { if (SelectedItems[i] == null) { break; } if ((Color)SelectedItems[i].TextColor != SequenceColors[i].TextColor) { return(false); } } GuessesMade += 1; return(true); }
/// <summary> /// Check if the selected button text match the correct /// mode colour /// must be in correct order /// </summary> /// <param name="colourSelected"></param> public bool CheckSequenceText(string colourSelected) { ComplexColor guessColor = new ComplexColor { SpeltColor = colourSelected }; SelectedItems[GuessesMade] = guessColor; for (int i = 0; i < SelectedItems.Length; i++) { if (SelectedItems[i] == null) { break; } if (!SelectedItems[i].SpeltColor.Equals( SequenceColors[i].SpeltColor)) { return(false); } } GuessesMade += 1; return(true); }
/// <summary> /// InitializeRound settings /// </summary> public void InitializeRound() { GameModel.MatchesNeeded += 1; GuessesMade = 0; SequenceColors = new ComplexColor[GameModel.MatchesNeeded]; GenerateRoundToMatchComplexColors(); SetMode(); }
public ColorComplexGamePlayViewModel(Difficulty difficulty, ResumeModel resume) : base(GameType.ColourComplex, difficulty, resume) { GameModel = new ComplexColorGame(); Colors = ColorsCollection.ColorsArray(); PlayColors = new ComplexColor[DifficultySetting.MaxSelectable]; for (int i = 0; i < DifficultySetting.MaxSelectable; i++) { PlayColors[i] = Colors[i]; } IsResume(); }
/// <summary> /// randomly set the round mode /// </summary> public string SetMode() { Random rnd = new Random(); int num = rnd.Next(0, 2); Mode = num == 1 ? Mode.Color : Mode.Text; SelectedItems = new ComplexColor[GameModel.MatchesNeeded]; if (Mode == Mode.Text) { return("Mode: How its spelt ?"); } return("Mode: How was it colored ?"); }
/// <summary> /// set the color and text that will be need for the /// round /// </summary> public void GenerateRoundToMatchComplexColors() { Random rnd = new Random(); for (int i = 0; i < SequenceColors.Length; i++) { int colourRndIndex = rnd.Next(0, PlayColors.Length); int textRndIndex = rnd.Next(0, PlayColors.Length); SequenceColors[i] = new ComplexColor { SpeltColor = PlayColors[colourRndIndex].SpeltColor, TextColor = PlayColors[textRndIndex].TextColor, }; } }
public static ComplexColor[] ColorsArray() { ComplexColor[] allColours = new ComplexColor[9]; allColours[0] = new ComplexColor() { TextColor = Color.Blue, SpeltColor = "Blue" }; allColours[1] = new ComplexColor() { TextColor = Color.Brown, SpeltColor = "Brown" }; allColours[2] = new ComplexColor() { TextColor = Color.Red, SpeltColor = "Red" }; allColours[3] = new ComplexColor() { TextColor = Color.Gray, SpeltColor = "Gray" }; allColours[4] = new ComplexColor() { TextColor = Color.Green, SpeltColor = "Green" }; allColours[5] = new ComplexColor() { TextColor = Color.Orange, SpeltColor = "Orange" }; allColours[6] = new ComplexColor() { TextColor = Color.Pink, SpeltColor = "Pink" }; allColours[7] = new ComplexColor() { TextColor = Color.Purple, SpeltColor = "Purple" }; allColours[8] = new ComplexColor() { TextColor = Color.Teal, SpeltColor = "Teal" }; return(allColours); }