/// <summary> /// Checks if the guess matches the location of a clue. If yes, /// update counters. Updates the grid with the correct symbol /// and calls DisplayGrid(). /// </summary> /// <param name="guess"></param> /// <returns></returns> public GuessResult EvaluateGuess(Clue guess) { guessCounter++; bool hit = clues[currentSample] == guess; if (hit) { currentSample++; return(new GuessResult(hit, ClueImage)); } else { return(new GuessResult(hit, GetClueHint(guess))); } }
/// <summary> /// Generates random positions for the clues. /// </summary> private void GenerateCluePositions(int cluesNum) { clues = new Clue[cluesNum]; Random random = new Random(); for (int i = 0; i < clues.Length; i++) { Clue clue = new Clue(random.Next(0, rows), random.Next(0, columns)); while (!ValidClue(clue)) { clue = new Clue(random.Next(0, rows), random.Next(0, columns)); } clues[i] = clue; } }
/* **************************** Methods **************************** */ /// <summary> /// Override Equals To supress warnings /// </summary> /// <param name="obj"></param> /// <returns>bool</returns> public override bool Equals(object obj) { Clue a = (Clue)obj; return(Row == a.Row && Column == a.Column); }
public Clue(Clue clue) { Row = clue.Row; Column = clue.Column; Found = clue.Found; }