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

Не получается сделать игру "Угадай число"

27.11.2017, 21:02. Показов 1225. Ответов 1

Author24 — интернет-сервис помощи студентам
Не получается задача. Условие: сделать игру - "Угадай число". В коде все подробно расписано. Подскажите, пожалуйста, где ошибка?

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
 
 namespace World
 {
    public class Program
    {
        public static void Main(string[] args)
        {
             
    string name;
    int a,d,e,q,b;
              Console.WriteLine("Здравствуйте, это игра под названием <Угадай число>! \nКак вас зовут?");
              name = Console.ReadLine();
              Console.WriteLine("Желаете ознакомиться с правилами мгры, {0}? Если да, нажмите 1, если нет - 0",name);
            a = Convert.ToInt32(Console.ReadLine());
             if (a == 1)
             {
                Console.WriteLine("И так, {0}, правила игры <Угадай число>: \nВы должны угадать число, которое компьютер задает автоматически (рандомно).\nЧисловой диапазон зависит от сложности игры. Существует два типа сложности:\nПервый - диапазон от 0 до 10.\nВторой - диапазон от 0 до 30.\nНа каждом уровне у вас есть 3 подсказки.\nЕсли вы не угадываете с первого раза вам дается подсказка, больше или меньше лм загаданное число того, которого вы написали.\nКакой уровень выбираете? 1 - нажмите <1>, 2 - <2>.",name);
             b = Convert.ToInt32(Console.ReadLine());
             if (b == 1)
             {
                 Random rnd = new Random();
                q = rnd.Next(0,10);
                 
                 Console.WriteLine("Игра началась! Введите число:");
                  int c = Convert.ToInt32(Console.ReadLine());
                 if(c == q)
                 {
                Console.WriteLine(name, "Вы угадали число с первого раза! Ваш уровень: Любитель!"); 
                }
                else if (c < q)
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число больше, чем", c);
                }
                else
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем", c );
                }
                d = Convert.ToInt32(Console.ReadLine()); 
                 if(d == q)
                 {
                Console.WriteLine(name, "Вы угадали число со второго раза! Ваш уровень: Новичок!"); 
                }
                else if (d < q)
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число больше, чем", d);
                }
                else
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем", d);
                }
                 e = Convert.ToInt32(Console.ReadLine()); 
                 if(e == q)
                 {
                Console.WriteLine(name, "Вы угадали число с третьего раза! Ваш уровень: Начинающий!");   
                }
                else
                {
                    Console.WriteLine(name, "К сожалению, вы проиграли! Не отчаивайтесь и попробуйте снова!");
                }
           }
             else if (b == 2)
             {
                 Random rnd = new Random();
                q = rnd.Next(0,30);
                
                 Console.WriteLine("Игра началась! Введите число:");
                  int c = Convert.ToInt32(Console.ReadLine());
                 if(c == q)
                 {
                Console.WriteLine(name, "Вы угадали число с первого раза! Ваш уровень: Профи!");   
                }
                else if (c < q)
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число больше, чем", c);
                }
                else
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем", c );
                }
                d = Convert.ToInt32(Console.ReadLine()); 
                 if(d == q)
                 {
                Console.WriteLine(name, "Вы угадали число со второго раза! Ваш уровень: Бывалый!"); 
                }
                else if (d < q)
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число больше, чем", d);
                }
                else
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем", d);
                }
                 e = Convert.ToInt32(Console.ReadLine()); 
                 if(e == q)
                 {
                Console.WriteLine(name, "Вы угадали число с третьего раза! Ваш уровень: Опытный!"); 
                }
                else
                {
                    Console.WriteLine(name, "К сожалению, вы проиграли! Не отчаивайтесь и попробуйте снова!");
                }
             
          
             
             
             
            
           }
           }
           else
           {
            Console.WriteLine("Выберите уровень, {0}",name);
             b =Convert.ToInt32(Console.ReadLine());
             if (b == 1)
             {
                    
                
             Random rnd = new Random();
                 q = rnd.Next(0,10);
                
                 Console.WriteLine("Игра началась! Введите число:");
                  int c = Convert.ToInt32(Console.ReadLine());
                 if(c == q)
                 {
                Console.WriteLine(name, "Вы угадали число с первого раза! Ваш уровень: Любитель!"); 
                }
                else if (c < q)
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число больше, чем", c);
                }
                else
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем", c );
                }
                d = Convert.ToInt32(Console.ReadLine()); 
                 if(d == q)
                 {
                Console.WriteLine(name, "Вы угадали число со второго раза! Ваш уровень: Новичок!"); 
                }
                else if (d < q)
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число больше, чем", d);
                }
                else
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем", d);
                }
                 e = Convert.ToInt32(Console.ReadLine()); 
                 if(e == q)
                 {
                Console.WriteLine(name, "Вы угадали число с третьего раза! Ваш уровень: Начинающий!");   
                }
                else
                {
                    Console.WriteLine(name, "К сожалению, вы проиграли! Не отчаивайтесь и попробуйте снова!");
                }
                }
           
             else if (b == 2)
             {
                 Random rnd = new Random();
                q = rnd.Next(0,30);
                 
                 Console.WriteLine("Игра началась! Введите число:");
                  int c = Convert.ToInt32(Console.ReadLine());
                 if(c == q)
                 {
                Console.WriteLine(name, "Вы угадали число с первого раза! Ваш уровень: Профи!");   
                }
                else if (c < q)
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число больше, чем", c);
                }
                else
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем", c );
                }
                d = Convert.ToInt32(Console.ReadLine()); 
                 if(d == q)
                 {
                Console.WriteLine(name, "Вы угадали число со второго раза! Ваш уровень: Бывалый!"); 
                }
                else if (d < q)
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число больше, чем", d);
                }
                else
                {
                    Console.WriteLine(name, "Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем", d);
                }
                 e = Convert.ToInt32(Console.ReadLine()); 
                 if(e == q)
                 {
                Console.WriteLine(name, "Вы угадали число с третьего раза! Ваш уровень: Опытный!"); 
                }
                else
                {
                    Console.WriteLine(name, "К сожалению, вы проиграли! Не отчаивайтесь и попробуйте снова!");
                }
           }
            Console.ReadKey(); 
            
        }
        
        }
    }
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2017, 21:02
Ответы с готовыми решениями:

Игра "Угадай число - Экстрасенс" Не получается реализовать новую игру с генерацией нового числа
Игра &quot;Угадай число - Экстрасенс&quot; Не получается реализовать новую игру с генерацией нового числа по...

Как сделать игру на Android "Угадай число от 1 до 10"?
Вот писал игру для андроид , вроде все в порядке , число генирируеться ,но когда число угадывается...

Реализовать игру «Угадай число», где в качестве игрока, угадывающего число, выступает компьютер
Игра «Угадай число» Реализовать игру «Угадай число», где в качестве игрока, угадывающего число,...

Написать игру «Угадай число»
Написать игру «Угадай число». Программа загадывает число в диапазоне от 1 до 500. Пользователь...

Создать игру «угадай число»
Создать игру «угадай число». Компьютер загадывает число, просит ввести ответ, после ввода...

1
44 / 45 / 41
Регистрация: 28.06.2017
Сообщений: 133
28.11.2017, 00:20 2
Можно так, но всё равно код "макаронный"
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
using System;
 
namespace World
{
    public class Program
    {
        public static void Main(string[] args)
        {
 
            int attempt = 1;
            int maxAttempt = 3;
            Console.Write("Здравствуйте, это игра под названием <Угадай число>! \nКак вас зовут? ");
            string name = Console.ReadLine();
            Console.WriteLine("Желаете ознакомиться с правилами игры, {0}? Если да, нажмите (Y)", name);
 
            if (Console.ReadLine().ToLower() == "y")
            {
                Console.WriteLine("И так, {0}, правила игры <Угадай число>: \nВы должны угадать число, которое компьютер задает автоматически (рандомно).\nЧисловой диапазон зависит от сложности игры. Существует два типа сложности:\nПервый - диапазон от 0 до 10.\nВторой - диапазон от 0 до 30.\nНа каждом уровне у вас есть 3 подсказки.\nЕсли вы не угадываете с первого раза вам дается подсказка, больше или меньше лм загаданное число того, которого вы написали.", name);
            }
            Console.Write("\nКакой уровень выбираете ? Лёгкий - < 1 >, Сложный- < 2 > : ");
            int level = Convert.ToInt32(Console.ReadLine());
            Random rnd = new Random();
            int number=0;
            Console.Write("Игра началась! ");
            if (level == 1)
            {
                Console.WriteLine("Уровень : Лёгкий, число от 0 до 10 включительно");
                number = rnd.Next(0, 11);
            }
            else if (level == 2)
            {
                Console.WriteLine("Уровень сложности : Сложный, число от 0 до 30 включительно");
                number = rnd.Next(0, 31);
            }
            else
            {
                Console.WriteLine("Нет такого уровня игры!!!");
            }
            if (level == 1 || level == 2)
            {
 
                bool winFlag = false;
                int getNum;
                while (attempt <= maxAttempt)
                {
                    Console.Write("Введите число <попытка {0}> : ", attempt);
                    getNum = Convert.ToInt32(Console.ReadLine());
                    if (getNum == number)
                    {
                        winFlag = true;
                        break;
                    }
                    else
                    {
                        if (getNum > number)
                        {
                            Console.WriteLine(name+", Вы ошиблись! Попробуйте снова! Загаданное число меньше, чем {0}", getNum);
                        }
                        else
                        {
                            Console.WriteLine(name +", Вы ошиблись! Попробуйте снова! Загаданное число больше, чем {0}", getNum);
                        }
                    }
                    attempt++;
                }
                if (winFlag)
                {
                    Console.Write("Поздравляем!!! {0} Вы угадали число с {1} раза! Ваш уровень: ", name, attempt);
                    if (level == 1)
                    {
                        switch (attempt)
                        {
                            case 1: { Console.WriteLine("Любитель!"); break; }
                            case 2: { Console.WriteLine("Новичок!"); break; }
                            case 3: { Console.WriteLine("Начинающий!"); break; }
                        }
                    }
                    else
                    {
                        switch (attempt)
                        {
                            case 1: { Console.WriteLine("Профи!"); break; }
                            case 2: { Console.WriteLine("Бывалый!"); break; }
                            case 3: { Console.WriteLine("Опытный!"); break; }
                        }
                    }
                }
                else
                {
                    Console.WriteLine("{0}, к сожалению, вы проиграли! Не отчаивайтесь и попробуйте снова!",name);
                }
            }
            Console.ReadKey();
        }
    }
}
0
28.11.2017, 00:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2017, 00:20
Помогаю со студенческими работами здесь

Написать игру «Угадай число»
Написать игру «Угадай число». Программа загадывает число в диапазоне от 1 до 500. Пользователь...

Создать игру «Угадай число»
Создать игру «Угадай число», удовлетворяющую следующим требованиям: - Написано на языке...

Написать игру «Угадай число»
Задача №4 Написать игру «Угадай число». Компьютер генерирует случайное число в диапазоне,...

Составить игру «Угадай число»
&quot;А вот задача посложнее. Напишите на псевдокоде алгоритм игры, в которой случайное число от 1 до...

Написать игру «Угадай число»
2. Написать игру «Угадай число». Компьютер загадывает случайное число то 0 до 100. Пользователь за...

Написать игру «Угадай число»
Суть игры: пользователю предлагается вводить число из некоторого диапазона до тех пор, пока он его...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru