static void ChooseDifficulty() // her laver jeg en funktion som jeg kalder "ChooseDifficulty" dette er så jeg kan refere til den senere i teksten { bool isValid = false; Mastermind mastermind = new Mastermind(); // her referer jeg til min klasse mastermind og navngiver den Mastermind while (!isValid) //hvis brugeren har valgt at trykke 3 vil den udskrive "For medium press 1, for hardmode press 2" { Console.Clear(); Console.WriteLine("For medium press 1, for hardmode press 2"); string difficult = Console.ReadLine(); Console.Clear(); switch (difficult) //her lavet jeg en swich til mine 2 cases { case "1": // hvis 1 er valgt vil udkommet være korrekt og den vil derfor køre mastermind classen 1 isValid = true; mastermind.Run(1); break; // Jeg siger her at den skal stoppe med at læse koden og den vil derfor gå videre til mastermind clasen case "2": // hvis 2 er valgt vil udkommet være korrekt og den vil derfor køre mastermind classen 2 isValid = true; mastermind.Run(2); break; // Jeg siger her at den skal stoppe med at læse koden og den vil derfor gå videre til mastermind classen } } }
static void Main(string[] args) { Console.WriteLine("mmmmmastermind"); Mastermind b = new Mastermind(); b.GenerateRandomNumber(); }
} /*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*/
static void Main(string[] args) { Mastermind Juego = new Mastermind(); Juego.Bienvenida(); }
public Mastermind InsertMastermind(Mastermind mastermind) { var collection = _database.GetCollection <Mastermind>("mastermind"); collection.InsertOne(mastermind); return(mastermind); }
//=======================================================// // Game methods // //=======================================================// // Start the program static void Main(string[] args) { Mastermind mastermind = new Mastermind(); mastermind.StartGame(); Console.WriteLine("End of the game. Press any key to end."); Console.ReadKey(); }
public static void Main(string[] args) { Mastermind mastermind = new Mastermind(NUM_OF_TRIES); while (true) { mastermind.Play(); } }
public void Post_SingleMastermind_ReturnsMastermind() { var mastermind = new Mastermind { Name = "test" }; var result = _ctrl.Post(mastermind); Assert.Equal(mastermind.Name, result.Name); }
public void GetMastermind_ValidName_ReturnsMastermind() { var mastermind = new Mastermind(); _mockDAO.Setup(m => m.GetMastermind(It.IsAny <string>())).Returns(mastermind); var result = _blc.GetMastermind("test"); Assert.Equal(mastermind, result); }
public static void Start() { _mastermind = new Mastermind(13); _mastermind.IntroScreen(); while (_mastermind.IsRunning) { _mastermind.Run(); } }
public void PostMastermind_NewMastermind_InsertsMastermind() { var mastermind = new Mastermind(); _mockDAO.Setup(m => m.GetMastermind(It.IsAny <string>())).Returns((Mastermind)null); var result = _blc.PostMastermind(mastermind); _mockDAO.Verify(m => m.InsertMastermind(mastermind)); }
public void PostMastermind_ExistingMastermind_UpdatesMastermind() { var mastermind = new Mastermind(); _mockDAO.Setup(m => m.GetMastermind(It.IsAny <string>())).Returns(mastermind); var result = _blc.PostMastermind(mastermind); _mockDAO.Verify(m => m.UpdateMastermind(mastermind)); }
} /*toolStripUsage_Click*/ private void toolStripNew_Click(object sender, EventArgs e) { CtrlController.removeAllControls(); try { byte nrOfTries = Mastermind.GameState.NrOfTries; byte nrOfPins = Mastermind.GameState.NrOfPins; byte nrOfAvailableColors = Mastermind.GameState.NrOfAvailableColors; bool computerisPlaying = Mastermind.GameState.ComputerIsPlaying; Mastermind = new Mastermind(nrOfTries, nrOfPins, nrOfAvailableColors, computerisPlaying); } catch (Exception) { Mastermind = new Mastermind(); } CtrlController.drawFrm(); } /*toolStripNew_Click*/
public Mastermind PostMastermind(Mastermind mastermind) { var result = _dao.GetMastermind(mastermind.Name); if (result == null) { return(_dao.InsertMastermind(mastermind)); } else { return(_dao.UpdateMastermind(mastermind)); } }
public Mastermind UpdateMastermind(Mastermind mastermind) { var collection = _database.GetCollection <Mastermind>("mastermind"); var builder = Builders <Mastermind> .Filter; var filter = builder.Where(m => m.Name == mastermind.Name); var update = Builders <Mastermind> .Update .Set("name", mastermind.Name) .Set("edition", mastermind.Edition) .Set("rules", mastermind.Rules); collection.UpdateOne(filter, update); return(mastermind); }
bool[] whiteVisited; // store if we recorded a white hit here public MastermindAI(Mastermind mastermind) { this.mastermind = mastermind; csc = new ColorSequenceComparer(); current_set = new HashSet<ColorSequence>(); generatePossibilities(new ColorSequence(), 0); blackVisited = new bool[DEPTH]; whiteVisited = new bool[DEPTH]; stopWatch = new Stopwatch(); stopWatch.Start(); play(); mastermind.revealAnswer(); }
} /*btnGuess_Click*/ public void btnHint_Click(object sender, EventArgs e) { if (!Mastermind.gameIsOver()) { try { ColorSequence guess = Mastermind.MSolver.giveHint(); for (byte i = 0; i < guess.Length; i++) { CtrlController.LblArrayPlayer[Mastermind.GameState.TurnNumber - 1, i].BackColor = Color.FromName(guess.getColorOnPlace(i).ToString()); } passGuessAndGetFeedback(guess); } catch (IndexOutOfRangeException) { MessageBox.Show( string.Format("I can't seem to resolve the puzzel"), string.Format("Error")); } } } /*btnHint_Click*/
public void btnGuess_Click(object sender, EventArgs e) { if (!Mastermind.gameIsOver()) { try { ColorSequence guess = new ColorSequence(); for (int i = 0; i < Mastermind.GameState.NrOfPins; i++) guess.addLast( ClrPicker.parseEnum <Colors>( CtrlController.LblArrayPlayer[Mastermind.GameState.TurnNumber - 1, i].BackColor.ToKnownColor().ToString())); passGuessAndGetFeedback(guess); } catch (ArgumentException) { MessageBox.Show( string.Format("Every pin must have a color and a color can't be used twice..."), string.Format("Error")); } } } /*btnGuess_Click*/
public Mastermind Post([FromBody] Mastermind mastermind) { try { if (mastermind == null) { throw new HttpRequestException("Invalid mastermind"); } return(_blc.PostMastermind(mastermind)); } catch (Exception ex) { throw new HttpRequestException(ex.Message); } }
} /*CenterThisScreen*/ private void showOptions() { FrmOptions options = new FrmOptions(); if (Mastermind != null) options = new FrmOptions(Mastermind.GameState.NrOfTries, Mastermind.GameState.NrOfPins, Mastermind.GameState.NrOfAvailableColors, Mastermind.GameState.ComputerIsPlaying); options.ShowDialog(); if (options.ClickedOk) { CtrlController.removeAllControls(); Mastermind = new Mastermind(options.getOptions()); CtrlController.drawFrm(); if (!Mastermind.GameState.ComputerIsPlaying) { CtrlController.highlightAccesiblePlayerLabels(); } } } /*showOptions*/
public void testColorIsUnique() { Mastermind mm = new Mastermind(); GameState settings = mm.GameState; ColorSequence secretcombo = mm.GameState.SecretCombo; byte lengthOfSecretCombo = 4; for (byte i = 0; i < lengthOfSecretCombo; i++) { byte colorFrequency = 0; for (byte j = 0; j < settings.NrOfPins; j++) { if (secretcombo.getColorOnPlace(i) == secretcombo.getColorOnPlace(j)) { colorFrequency++; } } Assert.AreEqual(1, colorFrequency); colorFrequency--; } }/*testColorIsUnique*/
public void testCreateSecretComboOnAvailableColors() { Mastermind mm = new Mastermind(); GameState settings = mm.GameState; ColorSequence secretcombo = mm.GameState.SecretCombo; byte lengthOfSecretCombo = 4; byte nrPermittedOfColors = 0; for (byte i = 0; i < lengthOfSecretCombo; i++) { for (byte j = 0; j < settings.NrOfAvailableColors; j++) { if (secretcombo.getColorOnPlace(i) == (Colors)j) { nrPermittedOfColors++; } } } Assert.AreEqual(nrPermittedOfColors, lengthOfSecretCombo); }/*testCreateSecretComboOnAvailableColors*/
static void Main(string[] args) { bool debugging = false; bool allCorrect = false; int turn = 0; var game = new Mastermind(); game.gameWelcome(); if (debugging) { game.printComputerCode(); } do { turn++; Console.WriteLine($"You are on turn {turn}."); //Enter Human Guess, converts it to array and checks it against computer code Console.Write("Type your guess: "); String sHumanGuess = Console.ReadLine(); string[] cHumanGuess = sHumanGuess.Split(' '); int[] iHumanGuess = Array.ConvertAll(cHumanGuess, Int32.Parse); int blackPegs = game.positionsRight(iHumanGuess); int whitePegs = (game.colorsRight(iHumanGuess) - blackPegs); //Displays black and white pegs if black pegs does not equal four. if (blackPegs != 4) { Console.WriteLine($"You have {blackPegs} Black Pegs "); Console.WriteLine($"and {whitePegs} White Pegs."); } else { allCorrect = true; } } while ((allCorrect == false) && (turn < 10)); if (turn >= 10) { game.printComputerCode(); } else { Console.WriteLine("Congradulations! You guessed the correct code!"); } }
static void Main(string[] args) { int[] solution = GenerateSolution(); var game = new Mastermind(solution); Console.Write("Welcome to Mastermind. Start Guessing: "); while (!game.IsComplete) { var input = Console.ReadLine(); try { var(result, hint) = game.Guess(input); if (result) { Console.WriteLine("Congratulations, you've won!"); } else if (!game.IsComplete) { Console.WriteLine($"Incorrect answer. Hint: {hint}; {game.GuessesRemaining} guesses remaining."); Console.Write("Next guess: "); } else { Console.WriteLine($"Sorry, you have lost! The solution was {string.Join(string.Empty, solution)}."); } if (game.IsComplete) { Console.WriteLine("Press any key to exit."); Console.ReadKey(); break; } } catch (Exception e) { Console.Error.WriteLine(e.Message); } } }
} /*showOptions*/ private void passGuessAndGetFeedback(ColorSequence guess) { Feedback feedback = Mastermind.checkAnswerAndGiveFeedbackFor(guess); int tmp = 0; for (byte j = 0; j < feedback.CorrectPositionAndColor; j++) { CtrlController.LblArrayFeedBackPins[Mastermind.GameState.TurnNumber - 2, tmp].BackColor = Color.Black; tmp++; } for (byte j = 0; j < feedback.CorrectColor; j++) { CtrlController.LblArrayFeedBackPins[Mastermind.GameState.TurnNumber - 2, tmp].BackColor = Color.White; tmp++; } if (Mastermind.gameIsOver()) { MessageBox.Show(Mastermind.GameState.Won ? "Won" : "Lost"); CtrlController.unvealSecret(); } else { if (CtrlController.BtnGuess != null) CtrlController.BtnGuess.Top += 50; pnlPlace.ScrollControlIntoView(CtrlController.LblArrayPlayer[Mastermind.GameState.TurnNumber - 1, 0]); CtrlController.highlightAccesiblePlayerLabels(); } } /*passGuessAndGetFeedback*/
public void testCreateSecretComboOnLength() { Mastermind mm = new Mastermind(); ColorSequence secretcombo = mm.GameState.SecretCombo; byte lengthOfSecretCombo = 4; Assert.AreEqual(secretcombo.Length, lengthOfSecretCombo); }/*testCreateSecretComboOnLength*/
static void Main(string[] args) { Mastermind test = new Mastermind(); }
} /*lblArrayPlayer_DragDrop*/ public void lblArrayPlayer_DragEnter(object sender, DragEventArgs e) { Label lbl = sender as Label; if (lbl != null && int.Parse(lbl.Tag.ToString()) == Mastermind.GameState.TurnNumber - 1 && !Mastermind.gameIsOver()) { e.Effect = DragDropEffects.Copy; } } /*lblArrayPlayer_DragEnter*/
} /*lbl_MouseHover*/ public void lblArrayPlayer_MouseClick(object sender, MouseEventArgs e) { Label lbl = sender as Label; if (lbl != null && int.Parse(lbl.Tag.ToString()) == Mastermind.GameState.TurnNumber - 1 && !Mastermind.gameIsOver()) { string backColor = lbl.BackColor.ToKnownColor().ToString(); lbl.BackColor = ClrPicker.nextOrPreviousAvailableColor(Mastermind.GameState.NrOfAvailableColors, e.Button == MouseButtons.Right, backColor); } } /*lblArrayPlayer_MouseClick*/
} /*lblArrayAvailable_MouseDown*/ public void lblArrayFeedBackPins_MouseClick(object sender, MouseEventArgs e) { Label lbl = sender as Label; if (lbl != null && int.Parse(lbl.Tag.ToString()) == Mastermind.GameState.TurnNumber - 1 && !Mastermind.gameIsOver()) lbl.BackColor = ClrPicker.nextFeedBackColor(lbl.BackColor.ToKnownColor().ToString()); }