public void testCompareTo() {
            ColorSequence definedColorCombo = createDefinedColorCombo();
            byte amountOfCorrectColorsForIdenticalCombo = (byte)definedColorCombo.Length;
            byte amountOfIncorrectColorsForIdenticalCombo = (byte)0;
            Feedback feedbackForIdenticalCombos =
                new Feedback(amountOfCorrectColorsForIdenticalCombo, amountOfIncorrectColorsForIdenticalCombo);

            Feedback feedbackOfCompareTo = definedColorCombo.compareToColorsequence(definedColorCombo);

            Assert.AreEqual(feedbackForIdenticalCombos, feedbackOfCompareTo);
        }/*testCompareTo*/
Exemple #2
0
		} /*btnHint_Click*/

		public void btnGiveFeedBack_Click(object sender, EventArgs e) {
			if (!Mastermind.gameIsOver()) {
				try {
					Button btn = sender as Button;
					byte correcPlaceAndCol = 0;
					byte correctCol = 0;
					for (int i = 0; i < Mastermind.GameState.NrOfPins; i++) {
						if (CtrlController.LblArrayFeedBackPins[Mastermind.GameState.TurnNumber - 1, i].BackColor == Color.Black) {
							correcPlaceAndCol++;
						}
						if (CtrlController.LblArrayFeedBackPins[Mastermind.GameState.TurnNumber - 1, i].BackColor == Color.White) {
							correctCol++;
						}
					}
					Feedback fb = new Feedback(correcPlaceAndCol, correctCol);
					ColorSequence newGuess = Mastermind.MSolver.makeGuess(fb);
					if (Mastermind.gameIsOver()) {
						MessageBox.Show(Mastermind.GameState.Won ? "Won" : "Lost");
					} else {
						for (byte i = 0; i < newGuess.Length; i++) {
							CtrlController.LblArrayPlayer[Mastermind.GameState.TurnNumber - 1, i].BackColor =
								Color.FromName(newGuess.getColorOnPlace(i).ToString());
						}
						if (btn != null) btn.Top += 50;
						pnlPlace.ScrollControlIntoView(CtrlController.LblArrayPlayer[Mastermind.GameState.TurnNumber - 1, 0]);
					}
				} catch (ArgumentOutOfRangeException) {
					MessageBox.Show(Mastermind.GameState.Won ? "Won" : "You must have made a mistake, I can't do anything anymore");
				}
			}
		} /*btnGiveFeedBack_Click*/