Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.03.2022
Сообщений: 7

Проверка строки в игре угадай число

17.03.2022, 12:29. Показов 1525. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, это массив с игрой угадай число. Как мне реализовать проверку строки ввода в которой если нет значения введенного пользователем (строка пуста) игра останавливается и игроку показывается загаданное число

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
        static void Main(string[] args)
        {
            Console.WriteLine("Угадай-ка");
            Console.Write("Введите целое число:  ");
            int num = Convert.ToInt32(Console.ReadLine());
                        
            int[] myArray = new int[num];
 
 
            for (int i = 0; i <= myArray.Length; i++)
            {
                Random random = new Random();
 
                int number = random.Next(0, num);
                int count = 0;
                int player;
 
                while (true)
                {                    
                    Console.Write($" \tВведите число: ");
                    player = Convert.ToInt32(Console.ReadLine());
                    
                    count++;
                    
                    
                    if  (player < number)
                    {
                        Console.Write("Введенное число меньше загаданного");
                    }
                    else if (player > number)
                    {
                        Console.Write("Введенное число больше загаданного");
                    }                    
                    else
                    {
                        Console.Write($" \tУгадано c {count}-ой попытки");
                        Console.ReadKey();
                        break;
                    }
                }
                Console.ReadLine();
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.03.2022, 12:29
Ответы с готовыми решениями:

Использование Scanner в игре угадай число
Здравствуйте, многие видели (читали) про игру угадай число из книги Head first Java. решил добавить возможность самостоятельного ввода...

Почему в игре угадай число не используются кол-во попыток?
Есть 6 попыток, так вот я это реализовал, но прога выдает, что число не верное и заканчивает свою работу не дав еще попытки. По факту 1...

Как сделать таблицу рекордов в игре Угадай число(Паскаль)
Здравствуйте! Помогите пожалуйста дополнить игру &quot;угадай число&quot;.Вот правила игры:Игра «Угадай число» это игра для двоих.(рис7) В данном...

7
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3412 / 2733 / 575
Регистрация: 04.09.2018
Сообщений: 8,574
Записей в блоге: 3
17.03.2022, 20:49
Цитата Сообщение от Tadeoz Посмотреть сообщение
Как мне реализовать проверку строки ввода в которой
Странный вопрос, учитывая то, что ваша программа вообще не рабочая.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Console.WriteLine( "Угадай-ка" );
Console.Write( "Введите целое число (размер массива чисел): " );
int num = Convert.ToInt32( Console.ReadLine() );
int[] myArray = new int[ num ];
Random random = new Random();
 
for ( int i = 0; i < myArray.Length; i++ )
    myArray[ i ] = random.Next( 21 );
 
//Console.WriteLine( string.Join( " ", myArray ) );
 
int number = myArray[ random.Next( 0, myArray.Length ) ];
int count = 0;
 
while ( true )
{
    Console.Write( $"Введите число: " );
 
    if ( !int.TryParse( Console.ReadLine(), out int player ) )
    {
        Console.WriteLine( $"Загаданное число: {number}" ); break;
    }
    count++;
 
 
    if ( player < number )
        Console.WriteLine( "Введенное число меньше загаданного" );
    else if ( player > number )
        Console.WriteLine( "Введенное число больше загаданного" );
    else
    {
        Console.WriteLine( $"Угадано c {count}-ой попытки" );
        break;
    }
}
Code
1
2
3
4
5
6
7
8
Угадай-ка
Введите целое число (размер массива чисел): 25
Введите число: 17
Введенное число меньше загаданного
Введите число: 20
Введенное число больше загаданного
Введите число: 19
Угадано c 3-ой попытки
Code
1
2
3
4
Угадай-ка
Введите целое число (размер массива чисел): 10
Введите число:
Загаданное число: 5
0
0 / 0 / 0
Регистрация: 17.03.2022
Сообщений: 7
20.03.2022, 12:36  [ТС]
Доброго дня всем. Я ошибся мне не нужно было применять массив, а нужно было просто сделать игру "Угадай число" собрал, игра работает, но как здесь реализовать проверку строки на наличие веденого числа? если игрок вводит пустую строку то игра показывает загаданное число и останавливается. Я пока что смог это сделать при помощи вода ноля, а как сделать проверку строки ?
0
0 / 0 / 0
Регистрация: 17.03.2022
Сообщений: 7
31.03.2022, 18:58  [ТС]
Вот сделал, код рабочий, ребята посмотрите, зацените сам код, как он? попадает ли под общепринятые методы написания? Меня этот вопрос волнует)))) Может посоветуете чего полезного на будущее, буду признателен))

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Console.WriteLine("Угадай-ка");
            Console.Write("Введите целое число от 0 до: ");
            int num = Convert.ToInt32(Console.ReadLine());
                        
                                   
            Random random = new Random();
 
            int number = random.Next(0, num);
            int count = 0;
                
            
            while (true)
            {
               Console.Write($" \tВведите число: ");
               
               count++;
 
               string player = Console.ReadLine();
               
               if (player == "" )
               {   
                 Console.WriteLine($"Конец игры. Загаданное число {number}"); 
                 break;         
               } 
               
               int x = int.Parse(player);
 
               if (x < number)
               {
                 Console.WriteLine("Введенное число меньше загаданного");
               }
               else if (x > number)
               {
                  Console.WriteLine("Введенное число больше загаданного");                        
               }                     
               else 
               {
                  Console.WriteLine($" \tУгадано c {count}-ой попытки");
                      
                  break;
               }   
            }
            Console.ReadLine();[CSHARP]
[/CSHARP]
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3412 / 2733 / 575
Регистрация: 04.09.2018
Сообщений: 8,574
Записей в блоге: 3
31.03.2022, 21:09
Цитата Сообщение от Tadeoz Посмотреть сообщение
зацените сам код
Оценивать, собсно, нечего...
0
0 / 0 / 0
Регистрация: 17.03.2022
Сообщений: 7
01.04.2022, 16:51  [ТС]
Да я понимаю что он ерундовый для Вас, но все же ...
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
01.04.2022, 17:00
Лучший ответ Сообщение было отмечено Tadeoz как решение

Решение

Цитата Сообщение от Tadeoz Посмотреть сообщение
Вот сделал, код рабочий, ребята посмотрите, зацените сам код, как он?
В одинаковых случая вы используете то Convert.ToInt32, то int.Parse - наверное стоит выбрать что-то одно.

Раз уж проверяете player на пустоту, то можно проверить и на ошибочные значения, введенные с клавиатуры. Например, если введут букву, чтобы программа не падала с ошибкой. Для этого можно использовать TryParse.

В восьмой строке надо писать num + 1, иначе само число num не будет загадываться.

Имена переменных возможно стоит сделать более осмысленными. Например имя переменной player не дает очевидности того, что там будет храниться строковое значение, введенное игроком. Какой-нибудь input был бы логичнее.
0
0 / 0 / 0
Регистрация: 17.03.2022
Сообщений: 7
03.04.2022, 21:42  [ТС]
Благодарю за развернутый ответ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2022, 21:42
Помогаю со студенческими работами здесь

Не получается повтор расчёта баланса в игре "Угадай число"
Здравствуйте! Только начал изучать первый язык си шарп ) Написал &quot; игру&quot; угадай число) ...

Неправильно работают счётчики в игре "Угадай число"
Здравствуйте. Написал игру &quot;Угадай число&quot;. Счетчики работают неправильно. Подскажите пожалуйста почему и как исправить. Dim x, y, z As...

Сделать уровни сложности в игре "Угадай число"
Написал программу: program ugadai; uses crt; var a, b, i:integer; begin while true do begin a:= random(5);

Random не правильно работает в игре "угадай число"
Я написал мини-игру отгадай число от 1 до 20. Но когда я ее тестировал, заметил, что если пользователь не угадал число, Random меняет...

Реализация выбора сложности в игре "Угадай число"
Есть программа без выбора сложности, помогите сделать с выбором сложности using System; using System.Collections.Generic; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru