using System; /* המחלקה טופס-למשחק-הניחושים */ public class GuessForm { private string prize; //שומר את הפרס private int[] numbers; //מערך המספרים שאותם צריך לנחש private bool[] guessedNumbers; //מערך המחווה לגבי כל מספר האם ניחשו אותו כבר או לא private const int SIZE = 5; //קבוע לציון מספר המספרים שבטופס // פעולה בונה - מקבלת את הפרס, מגרילה את המספרים בטופס //ומאתחלת את המערך המחווה אם המספרים נוחשו public GuessForm(string prize) { this.prize = prize; numbers = new int[SIZE]; guessedNumbers = new bool[SIZE]; Random rnd = new Random(); //מערך עזר בוליאני המשמש לבחירת מספרים שונים bool[] nums = new bool[101]; for (int i = 0; i <= 100; i++) nums[i] = false; int r; for (int i = 0; i < SIZE; i++) { r = rnd.Next(1, 101); while (nums[r] == true) r = rnd.Next(1, 101); nums[r] = true; numbers[i] = r; guessedNumbers[i] = false; } } //פעולת גישה המחזירה את הפרס public string GetPrize() { return prize; } //פעולה הבודקת האם כל המספרים בטופס נוחשו //מחזירה אמת אם כן public bool IsWin() { for (int i = 0; i < SIZE; i++) if (guessedNumbers[i] == false) return false; return true; } //פעולה המקבלת כפרמטר מספר ובודקת האם הוא נמצא בין המספרים בטופס, //מעדכנת את מערך המספרים שכבר נוחשו ומחזירה אמת אם המספר נמצא // בטופס ועדיין לא נוחש, אחרת שקר public bool IsGoodGuess(int guess) { for (int i = 0; i < SIZE; i++) { if (numbers[i] == guess) { if (!guessedNumbers[i]) { guessedNumbers[i] = true; return true; } else return false; } } return false; } }//class GuessForm /* המחלקה הראשית המממשת את משחק הניחושים */ public class GuessGame { public static void Main() { string prize = "1 million dollars"; GuessForm guessForm = new GuessForm(prize); int guess; int i = 0; while ((i < 10) && (guessForm.IsWin() == false)) { i++; Console.Write("Please enter your guess: "); guess = int.Parse(Console.ReadLine()); if (guessForm.IsGoodGuess(guess)) Console.WriteLine("Good Guess"); else Console.WriteLine("Bad Guess"); } if (guessForm.IsWin()) Console.WriteLine("You win: {0}", guessForm.GetPrize()); else Console.WriteLine("You lose:{0}", guessForm.GetPrize()); }// Main }// GuessGame