server-ak
1

Создание игры «Угадай число»

11.06.2012, 11:12. Показов 1749. Ответов 0
Метки нет (Все метки)

Программа, реализует следующую игру: компьютер, задумывает число от 0 до 1000, игрок пытается его отгадать за 10 вопросов вида: верно ли, что задуманное число больше такого-то числа. После каждой попытки компьютер сообщает игроку о том, больше или меньше названного задуманное число. После 10 попыток, независимо от того угадал игрок число или нет, компьютер предлагает игроку выбор: выйти из игры или продолжить игру.
Цель данной игры как можно скорее угадать задуманное компьютером число.


Pascal
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
PROGRAM Угадай число;
USES Crt;
CONST ESC=#27;   { задаем константы}
      NMax=1000;   {задаем максимальное значение загадываемого числа}
VAR n, n_i,x: byte;     {определяем тип переменных}
    ch, c:char;
PROCEDURE DrawWindow (c1,r1,c2,r2,bordcolor,bkcolor:integer);
Var i:integer;
begin
          Draw (c1,r1,c2,r2,bordcolor,bkcolor);
          WriteC (c1,r1,' ');
          WriteC (c2,r1,' ');
          WriteC (c1,r2,' ');
          WriteC (c2,r2,' ');
          for i:=r1+1 to r2-1 do
          begin
              WriteC (c1,i,'');
              WriteC (c2,i,'');
          end;
          for i:=c1+1 to c2-1 do
          begin
              WriteC (i,r1,'');
              WriteC (i,r2,'');
          end;
end;
PROCEDURE Draw (c1,r1,c2,r2,text,back:integer);
 var 
    c:byte;
    i,j:integer;
begin
 TextColor (text); 
 TextBackGround (red);
 for i:=c1 to c2 do 
      for j:=r1 to r2 do
      begin
  gotoxy (i,j);
  write (' ');
 end;
end;
PROCEDURE WriteC (c,r:integer; s:string);
begin
 GotoXy (c,r);
 Write (s);
end;
PROCEDURE DefaultScreen;
begin
     TextColor (lightgray);
     TextBackGround (green);
     ClrScr;
end;
BEGIN     {начинаем программу}
     DefaultScreen;    {вызов процедуры DefaultScreen}
     Window (1, 1, 80, 30);
     DrawWindow (5,6,60,20,yellow,red);  {Задаем параметры окна}
     Window (5, 6, 60, 20);
     Writeln('                                     УГАДАЙ ЧИСЛО!');   {Записываем правила игры}
     Writeln('-----------------------------------------------------------------------------------');
     Writeln('   Компьютер, задумывает число от 0 до 1000');
     Writeln('    Вам надо отгадать его за 10 попыток.');
     Writeln('   После каждой попытки выводится подсказка');
     Writeln('   Больше или меньше названного задуманное число.');
     Writeln('-----------------------------------------------------------------------------------');
     Writeln(‘  Если за 10 попыток число не отгадано, то ’);
     Writeln(‘  игра заканчивается, вы проиграли.);
     Writeln('-----------------------------------------------------------------------------------');
     WriteLn;
     Randomize;    {датчик случайных чисел}
     Repeat;     {Процедура повтора}
     Writeln(‘Для начала игры нажмите клавишу INTER’);
     Writeln(‘или ESC для выхода’);
      Ch:=UpCase(ReadKey);     {Для начала игры нужно нажать клавишу}
      If ch=ESC then halt;      {Если нажать ESC, то игра закончится}
      x:=x+1;      {присваиваем переменной x шаг плюс 1}
      n_i:=Random (NMax-1)+1;     {Программа задумала число}
      FOR x:=1 to 10 do     {Задаем цикл }
         Begin
            Begin
            Repeat     {Создаем процедуру повтора}
     Write(‘Введите число:);
     Read(n);    {Считываем введённое число}
If (n<0) or (n>1000)   {Если введённое число не входит в диапазон от 0 до 1000}
Then Writeln(‘ Вы что не читали правила игры?! Введите число от 0 до 1000!’);    {Выводим предупреждение}
Until (n>=0) and (n<=1000)      {Повторяем до того как не будет введено число от 0 до 1000 }
End;
 
If n<n_i   {Если введенное число меньше задуманного}
Then Writeln(‘Число больше’);
Else If n>n_i   {Если введенное число больше задуманного}
Then writeln(‘Число меньше’);
Else     {иначе}
  begin 
 ClrScr;     {очищаем экран}
Writeln(‘ ‘);   
Writeln(‘ ‘);                      
Writeln(‘ ‘);                      {Выводим поздравление}
Writeln(‘ ‘);                      
 Writeln(‘                      ОГООО!!!   ВЫ УГАДАЛИ!!! ЭТО:,n_i);
Writeln(‘                             ПОЗДРАВЛЯЮ!!!’);
Writeln(‘                         ВЫ УГАДАЛИ С:,x,’ ПОПЫТКИ.);
Writeln(‘ ‘);
X:=10;       {Присваиваем переменной х значение 10}
End;
End;
 
If n<>n_i       {Если числа не равны после 10 попыток}
Then begin
ClrScr;       {Очищаем экран}
Writeln(‘ ‘);   
Writeln(‘ ‘);                      
Writeln(‘ ‘);                      {Выводим предложение}
Writeln(‘ ‘);                      
Writeln(‘                          ВЫ НЕ УГАДАЛИ!’);
Writeln(‘             ЭТО СЛИШКОМ СЛОЖНО ДЛЯ ВАС…’);
Writeln(‘ ‘);
End;
Until false;      {Заканчиваем процедуру повтора}
Readln;
Readln;
DefaltScreen;    {Вызов процедуры DefaultScreen}
End.           {Конец программы}
Вот написана программка. не могу понять почему не работает.
Должно получиться что-то вроде того что на скрине.
Помогите пожалуйста. сегодня курсовую нужно сдать.
Исправьте пожалуйста ошибки
Миниатюры
Создание игры «Угадай число»  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2012, 11:12
Ответы с готовыми решениями:

Составить программу игры "угадай число", используя оператор с постусловием
помогите найти ошибку! задача: составить программу игры &quot;угадай число&quot;, используя оператор с...

Игра Угадай число
Здравствуйте!Я только начинающий поэтому прошу сильно не бросаться камнями в мою сторону.Прошу...

Программа: Игра Угадай число
Пожалуйста, срочно!((( нужна программа по блок-схеме.

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2012, 11:12
Помогаю со студенческими работами здесь

Написание программы игры "Угадай число"
Написать программу игры &quot;Угадай число&quot;. Правила игры следующие: Играют двое, один задумывает число,...

Написать программу-игру угадай число
1. Составить программу вывчисляющую сумму всех элементов одномерного массива из 20 чисел, которые...

Создание игры "Угадай число"
Нужно создать игру угадай число больше или меньше равно нужно сравнить два окна лейбл и выводить...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru