Разное - Pascal ABC

Ответить
Аватара пользователя
Sprint116

Разное - Pascal ABC

Сообщение Sprint116 »

Здравствуйте, у меня возникла небольшая проблема. Написал код игры "Чет или нечет?", но при повторном запуске игра выдает то же самое число что и в первый раз. Если закрыть ее и снова запустить она генерирует другое число.



Код:

Код: Выделить всё

Program Chet;
Uses crt;
Var
flag : char;
x, b, y, i: integer;
Begin
clrscr;
randomize;
x:=random(99);
If  x mod 2=0  then  b:= 2  else b:= 1;
repeat
writeln('Введите 2, если число четное или 1, если число нечетное');
readln (y);
begin;
if y>2 then
writeln('Введите 2 или 1!');
end;
writeln('Число компьютера',x);
If y=b then
writeln('Вы угадали')
else writeln('Вы не угадали');
Writeln('Еще раз (Y/N) ?');
readln(flag);
Writeln('_______________________________________________________');
until upcase(flag)'Y';
end.
Аватара пользователя
Iska

Re: Разное - Pascal ABC

Сообщение Iska »

Цитата Sprint116:



но при повторном запуске игра выдает то же самое число что и в первый раз
Разное - Pascal ABC




Sprint116, было бы странно, если бы было иначе. Вас не смущает, что генерация случайного числа находится перед циклом «repeat … until» (а не внутри него)?!
Аватара пользователя
lxa85

Re: Разное - Pascal ABC

Сообщение lxa85 »

Sprint116,
Цитата Sprint116:





Код:

Код: Выделить всё

x:=random(99);
repeat
...
until upcase(flag)'Y';

Разное - Pascal ABC




Чтобы у компьютера было каждый раз новое число, то его надо каждый раз получать заново.

Т.е.

x:=random(99) поместить в тело цикла.



Код:

Код: Выделить всё

repeat
x:=random(99);
...
until upcase(flag)'Y'; »[/q]
Аватара пользователя
Sprint116

Re: Разное - Pascal ABC

Сообщение Sprint116 »

Огромное спасибо Изображение
Ответить

Вернуться в «Программирование и базы данных»