Сегодня 19 мая, воскресенье ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7273
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Мир глазами программиста
Мир глазами программиста
Голосов: 0
Адрес блога: http://nayils.blogspot.com/
Добавлен: 2015-04-15 13:16:48
 

C# Базовый Курс: Игра "Угадай число"

2015-04-12 08:46:00 (читать в оригинале)

Доброго времени суток, друзья. Приношу извинения за столь долгое отсутствие.
Сегодня хотелось бы показать пример самой простой игрушки. Урок ориентирован для самых начинающих программистов, которые лишь недавно познакомились с программированием. Для тех, кто не знает что такое "функции", "циклы", "переменные" я рекомендую посмотреть мои предыдущие статьи. Итак, начнем.

Правила игры просты: компьютер загадывает число, мы пытаемся его угадать за ограниченное количество попыток. Компьютер дает нам подсказки: больше ли наше число чем его или нет.
Создадим новый консольный проект. Начнем с алгоритма:
1. Компьютер загадывает число. Будем использовать класс Random, для генерации случайного числа.
2. Даем игроку три попытки. Используем цикл for.
3. Получаем число с клавиатуры.
4. Сравниваем с числом компьютера.
5. Если мы угадали, то выходим из цикла и сообщаем о победе.

Random random = new Random();
int computerNumber = random.Next(10);
Класс Random дает нам возможность получить случайное число. В первой строке мы создали экземпляр класса Random, во второй строке вызвали метод Next, который вернул нам случайное число от 0 до 10. Теперь мы знаем, что загадал компьютер.

Идем дальше. Мы знаем что одно и тоже действие происходит несколько раз, давайте создадим цикл.
for (int i = 0; i < 3; i++)
{
}

В этом цикле мы будем угадывать число. Количество попыток, как мы видим, равно трем.

Теперь нужно считать с клавиатуры наше число. Напишем в цикле:
Console.Write("Введите число:  ");
int playerNumber = int.Parse(Console.ReadLine());
Мы вывели на экран приглашение ввести число и считали это число с клавиатуры. Так как с клавиатуры считывается строка, нам нужно привести её к целому числу с помощью int.Parse().

Предлагаю ввести логическую переменную win, в которой мы будем хранить результат: выиграл ли игрок или проиграл. Перед циклом пишем:
bool win = false;
У нас есть число компьютера и наше число. Теперь мы можем их сравнить:
if (playerNumber < computerNumber)
Console.WriteLine("Мое число больше, чем твое.");
else
if (playerNumber > computerNumber)
Console.WriteLine("Мое число меньше, чем твое.");
else
{
win = true;
break;
}

Все просто. Если число меньше, то выводим "Мое число больше, чем твое.", иначе если число больше, то выводим "Мое число меньше, чем твое.". Если ни одно из этих условий не подошло, значит они равны и игрок победил. Поднимаем флаг (win = true).

Осталось лишь оповестить пользователя о его результатах:
if (win)
Console.WriteLine("Вы победили!");
else
Console.WriteLine("Вы проиграли. Компьютер загадал число: " + computerNumber);
Console.ReadKey();

Вот и все. Спасибо за внимание. Ниже приведу полный код программы.

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int computerNumber = random.Next(10);
int playerNumber = -1;
bool win = false;

for (int i = 0; i < 3; i++)
{
Console.Write("Введите число: ");
playerNumber = int.Parse(Console.ReadLine());

if (playerNumber < computerNumber)
Console.WriteLine("Мое число больше, чем твое.");
else
if (playerNumber > computerNumber)
Console.WriteLine("Мое число меньше, чем твое.");
else
{
win = true;
break;
}
}

if (win)
Console.WriteLine("Вы победили!");
else
Console.WriteLine("Вы проиграли. Компьютер загадал число: " + computerNumber);
Console.ReadKey();
}
}
}



Тэги: базовый, курс

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по количеству голосов (152) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.