![]() ![]() |
7.07.2016г. в 08:45ч.
Коментар:
#1
|
|
|
Новак ![]() Група: Потребители Съобщения: 1 Дата на регистрация: 7.07.2016г. Потребител # 24 766 |
Здравейте, в този урок ще ви покажа как да направите игра "Познай числото" на езика C#. Кодът е писан и тестван от мен. Добавил съм и "коментари" към кода за тези които не разбират от езика. Код: КОД using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Test { class Program { // Това е "коментар". Той ще бъде игнориран от компилатора. // Инициализиране на променливи, които ще използваме и в други функции public static bool guessed = false; public static int number; static void Main(string[] args) // Това ще се изпълни с отварянето на програмата { Console.Title = "GuessMyNumber | Loading..."; // Наглася заглавието на програмата Console.WriteLine("Welcome to GuessMyNumber!"); // Приветства потребителя PauseProgram(); // Изпълнява функцията PauseProgram EnterNumber: // Тук започва EnterNumber int attempts = 0; // Инициализира променлива, която ще брои опитите Console.Clear(); // Изчиства конзолата Console.Title = "GuessMyNumber"; // Наглася заглавието на програмата Console.Write("Enter max number: "); // Подканва потребителят да въведе най-голямото възможно число int maxNumber = Convert.ToInt32(Console.ReadLine()); // Изчаква потребителят да въведе числото. Привежда въведеното към Int32 и го запазва в променливата maxNumber if (maxNumber != 0) // Проверява дали стойността на maxNumber е различна от 0 { // Този код ще се изпълни ако стойността на maxNumber е различна от 0 maxNumber += 1; // Прибавя 1 към стойността на maxNumber, поради начинът, по който Random функцията работи GetRandomNumber(maxNumber); // Изпълнява функцията GetRandomNumber и му дава за параметър променливата maxNumber while (guessed == false) { // Кодът в "блока" по-долу ще се изпълнява, докато потребителят не познае числото Console.Title = "GuessMyNumber | Waiting for a guess..."; // Наглася заглавието на програмата Console.Write("Type your guess: "); // Подканва потребителят да направи своят опит да познае числото attempts += 1; // Прибавя 1 към опитите int guessedNumber = Convert.ToInt32(Console.ReadLine ()); // Изчаква потребителят да въведе число. Привежда въведеното към Int32 и го запазва в променливата guessedNumber if (guessedNumber != number) // Проверява дали потребителят е сбъркал { // Този код ще се изпълни ако потребителят е сбъркал числото if (guessedNumber < number) // Проверява дали въведеното число е по-малко от това, което се търси { Console.WriteLine("Wrong! My number is higher!"); // Подсказва на потребителя, че числото е по-голямо от неговото System.Threading.Thread.Sleep(500); // Изчаква половин секунда } else if (guessedNumber > number) // Проверява дали въведеното число е по-голямо от това, което се търси { Console.WriteLine("Wrong! My number is smaller!"); // Подсказва на потребителя, че числото е по-малко от неговото System.Threading.Thread.Sleep(500); // Изчаква половин секунда } } else { // Този код ще се изпълни, ако потребителят познае числото Console.Title = "GuessMyNumber | Restarting..."; // Наглася заглавието на програмата System.Threading.Thread.Sleep(1000); // Изчаква 1 секунда Console.Clear(); // Изчиства конзолата Console.WriteLine("Good job! You guessed my number in " + attempts + " attempts! Press any key to start again! ..."); // Казва на потребителя колко опита са му били нужни и го подканва да натисне клавиш, за да започне отново guessed = true; // Прави стойността на булевата guessed на true, за да покаже, че потребителят е познал Console.Title = "GuessMyNumber | Waiting user input..."; // Наглася заглавието на програмата Console.ReadKey(); // Изчаква потребителят да натисне клавиш goto EnterNumber; // Изпраща потребителят обратно } } } else if (maxNumber < 0) { // Проверява дали стойността на maxNumber е по-малка от 0 // Този код ще се изпълни, ако стойността на maxNumber е по-малка от 0 Console.WriteLine("Your max number can't be lower than 0!"); // Казва на потребителя, че трябва да въведе число по-голямо от 0 goto EnterNumber; // Изпраща потребителят обратно } else if (maxNumber == 0) // Проверява дали стойността на maxNumber е равна на 0 { // Този код ще се изпълни, ако стойността на maxNumber е равна на 0 Console.WriteLine("You can't have 0 for max number!"); // Казва на потребителя, че не може да използва 0 за максимално число goto EnterNumber; // Изпраща потребителят обратно } } // Функции public static void PauseProgram() // Функцията PauseProgram { System.Threading.Thread.Sleep(500); // Изчаква половин секунда Console.Write("Press any key to continue . . . "); // Казва на потребителя да натисне някой клавиш Console.Title = "GuessMyNumber | Waiting user input..."; // Наглася заглавието на програмата Console.ReadKey(); // Изчаква потребителят да натисне някой клавиш Console.Clear(); // Изчиства конзолата } public static void GetRandomNumber(int maxNumber) { // Функцията GetRandomNumber *Тя взема за параметър променлива int, която ще служи за определяне на най-голямото (максималното) число* Console.Title = "GuessMyNumber | Generating number..."; // Наглася заглавието на програмата Random random = new Random(); // Създава нов Random под името random, който ще използваме да вземем случайно число от нула до максималното число number = random.Next(0, maxNumber); // Взима случайно число от нула до максималното число Console.WriteLine("Random number generated!"); // Казва на потребителя, че случайното число е "генерирано" System.Threading.Thread.Sleep(500); // Изчаква половин секунда guessed = false; // Прави стойността на булевата guessed на false, за да покаже, че потребителят все още не е познал числото } } } |
|
|
![]() ![]() |