private void fromFeedbackToColor() { for (int i = 0; i < 4; i++) { eFeedback feedback = m_Board.Game.Results[m_Board.Turn - 1, i]; if (feedback == eFeedback.V) { m_Board.Results[m_Board.Turn - 1].ResultButtons[i].BackColor = Color.Black; } else if (feedback == eFeedback.X) { m_Board.Results[m_Board.Turn - 1].ResultButtons[i].BackColor = Color.Yellow; } } }
public void Turn(eValidLetter[] i_Guess) { eFeedback[] feedbacks = new eFeedback[GameUtils.k_LengthOfSecret]; byte numOfCorrectlyGuesses = 0; for (int i = 0; i < GameUtils.k_LengthOfSecret; i++) { m_Pins[m_CurrentTurn, i] = i_Guess[i]; if (Array.Exists(m_Secret, element => element == i_Guess[i])) { if (m_Secret[i] == i_Guess[i]) { feedbacks[i] = eFeedback.V; numOfCorrectlyGuesses++; } else { feedbacks[i] = eFeedback.X; } } } Array.Sort(feedbacks); Array.Reverse(feedbacks); for (int i = 0; i < GameUtils.k_LengthOfSecret; i++) { m_Results[m_CurrentTurn, i] = feedbacks[i]; } m_CurrentTurn++; if (m_CurrentTurn == m_NumberOfGuesses) { m_HasMoreGuesses = false; } if (numOfCorrectlyGuesses == GameUtils.k_LengthOfSecret) { m_HasWon = true; } }