Найти и исправить ошибки в игре - Pascal

Узнай цену своей работы

Формулировка задачи:

program rpg;
label back, back2;
var select, sct2, sct3, hp, hpe, dmg, dmge: real;
var name: string;
begin
writeln ('Придумай себе ник');
read (name);
writeln ('Приветствую тебя, ', name);
write ('Выбери класс: ');
writeln ('1)маг. 2)воин.');
writeln ('Маг наносит много урона, но у него мало хп.');
writeln ('Воин наносит мало урона, но у него много хп.');
read (select);
if select=1 then begin
hp:=30;
dmg:=8;
end;
if select=2 then begin
hp:=50;
dmg:=5;
end;
writeln ('Теперь у тебя ', hp, ' хп и ', dmg, ' урона');
back:
back2:
write ('Выбери куда пойти: ');
writeln ('1) в подземелье. 2) в канализацию.');
read (sct3);
if sct3=1 then writeln ('Ты еще слишком слаб!');
if sct3=2 then writeln ('Будь осторожен!') else goto back;
writeln ('Ты в канализации');
hpe:=40;
dmge:=2;
writeln ('На тебя напала крыса! Атаковать? (введите "1" иначе "2")');
read (sct2);
if sct2=1 then;
while hpe>0 do begin
hpe:=hpe-dmg;
hp:=hp-dmge;
if sct2=2 then writeln ('Ты пытался сбежать, но крыса тебя догнала');
end;
if hpe=0 then begin
writeln ('Крыса убита. У тебя осталось ', hp, ' жизней');
dmg:=dmg+1;
hp:=hp+3;
writeln ('Твои характеристики увеличились! Теперь у тебя ', hp, ' жизней и ', dmg, ' урона');
goto back2;
end;
end.
Попробуйте пройти игру. Почему после второго похода в канализацию, когда я нажимаю 1(атаковать крысу) программа завершается?

Решение задачи: «Найти и исправить ошибки в игре»

textual
Листинг программы
writeln ('Крыса убита. У тебя осталось ', hp:0:2, ' жизней');

Объяснение кода листинга программы

  1. Выводится сообщение Крыса убита. У тебя осталось,
  2. Переменная hp принимает значение 0,
  3. Переменная жизней принимает значение 2.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы