Вот сам код(точнее сломанный фрагмент)
program sfsdf;
uses CRT;
var ОТ,RanM,Max,LvlP,Ruki,Broni:integer;NameP:string;
begin
RanM:=random(16);
NameP:='Лох';
writeln(' ... но после секунды ',NameP,' Понял что надо решать');
writeln('1-вступить в бой');
writeln('2-спрятатся');
readln(ОТ);
if ОТ=1 then;
begin;
ClrScr;
write(NameP,' уже собирался ринутся в бой прямо на кулаках но ');
if RanM=0 then write('Орк');
if RanM=1 then write('Гоблин');
if RanM=2 then write('Волк');
if RanM=3 then write('Вампир');
if RanM=4 then write('Голем');
if RanM=5 then write('Найоёмник');
if RanM=6 then write('Разбойник');
if RanM=7 then write('Маг');
if RanM=8 then write('Фантом');
if RanM=9 then write('Медведь');
if RanM=10 then write('Гигант');
if RanM=11 then write('Цветок-переросток');
if RanM=12 then write('Шпион');
if RanM=13 then write('Эльф-освободитель');
if RanM=14 then write('Дворф-бандит');
if RanM=15 then write('Дикарь');
if RanM=16 then write('Чумной');
writeln(' успел убежать.');
end;
if ОТ=3 then;
begin
ClrScr;
writeln(NameP,' поступить умно и потому спрятался в кусты ожидая пока');
if RanM=0 then write('Орк');
if RanM=1 then write('Гоблин');
if RanM=2 then write('Волк');
if RanM=3 then write('Вампир');
if RanM=4 then write('Голем');
if RanM=5 then write('Найёмник');
if RanM=6 then write('Разбойник');
if RanM=7 then write('Маг');
if RanM=8 then write('Фантом');
if RanM=9 then write('Медведь');
if RanM=10 then write('Гигант');
if RanM=11 then write('Цветок-переросток');
if RanM=12 then write('Шпион');
if RanM=13 then write('Эльф-освободитель');
if RanM=14 then write('Дворф-бандит');
if RanM=15 then write('Дикарь');
if RanM=16 then write('Чумной');
write(' уйдёт к себе домой.');
writeln('Что на удивления произашло довольно скоро.');
end;
end.
Другие языки программирования и технологии
Я делаю мини игру на паскале, и у меня выбор из двух действий но почему то всегда выбирается первое. Подскажите почему
Потому, что
Во первых, в нормальном Pascal нельзя сравнивать строку (переменная OT) и число.
Во вторых, тела обоих твоих if состоят из единственного пустого оператора, заданного точкой с занятой. А всё, что у тебя ниже в begin - end, выполняется ВСЕГДА, т.к. находится ПОСЛЕ if.
Между then и begin НЕЛЬЗЯ ставить точку с запятой.
А ещё абсолютно бессмысленно ставить точку с запятой после begin и перед end.
if ОТ=1 then;
и if ОТ=3 then;
Делают совсем не то, что ты думаешь.Во первых, в нормальном Pascal нельзя сравнивать строку (переменная OT) и число.
Во вторых, тела обоих твоих if состоят из единственного пустого оператора, заданного точкой с занятой. А всё, что у тебя ниже в begin - end, выполняется ВСЕГДА, т.к. находится ПОСЛЕ if.
Между then и begin НЕЛЬЗЯ ставить точку с запятой.
А ещё абсолютно бессмысленно ставить точку с запятой после begin и перед end.
program sfsdf;
uses CRT;
var RanM,Max,LvlP,Ruki,Broni:integer;NameP:string;
ot:char;
begin
RanM:=random(16);
NameP:='Лох';
writeln(' ... но после секунды ',NameP,' Понял что надо решать');
writeln('1-вступить в бой');
writeln('2-спрятатся');
readln(ot);
if ot='1' then begin;
ClrScr;
write(NameP,' уже собирался ринутся в бой прямо на кулаках но ');
if RanM=0 then write('Орк');
if RanM=1 then write('Гоблин');
if RanM=2 then write('Волк');
if RanM=3 then write('Вампир');
if RanM=4 then write('Голем');
if RanM=5 then write('Найоёмник');
if RanM=6 then write('Разбойник');
if RanM=7 then write('Маг');
if RanM=8 then write('Фантом');
if RanM=9 then write('Медведь');
if RanM=10 then write('Гигант');
if RanM=11 then write('Цветок-переросток');
if RanM=12 then write('Шпион');
if RanM=13 then write('Эльф-освободитель');
if RanM=14 then write('Дворф-бандит');
if RanM=15 then write('Дикарь');
if RanM=16 then write('Чумной');
writeln(' успел убежать.');
end;
if ot='2' then begin
ClrScr;
writeln(NameP,' поступить умно и потому спрятался в кусты ожидая пока');
if RanM=0 then write('Орк');
if RanM=1 then write('Гоблин');
if RanM=2 then write('Волк');
if RanM=3 then write('Вампир');
if RanM=4 then write('Голем');
if RanM=5 then write('Найёмник');
if RanM=6 then write('Разбойник');
if RanM=7 then write('Маг');
if RanM=8 then write('Фантом');
if RanM=9 then write('Медведь');
if RanM=10 then write('Гигант');
if RanM=11 then write('Цветок-переросток');
if RanM=12 then write('Шпион');
if RanM=13 then write('Эльф-освободитель');
if RanM=14 then write('Дворф-бандит');
if RanM=15 then write('Дикарь');
if RanM=16 then write('Чумной');
write(' уйдёт к себе домой.');
writeln('Что на удивления произашло довольно скоро.');
end;
end.
uses CRT;
var RanM,Max,LvlP,Ruki,Broni:integer;NameP:string;
ot:char;
begin
RanM:=random(16);
NameP:='Лох';
writeln(' ... но после секунды ',NameP,' Понял что надо решать');
writeln('1-вступить в бой');
writeln('2-спрятатся');
readln(ot);
if ot='1' then begin;
ClrScr;
write(NameP,' уже собирался ринутся в бой прямо на кулаках но ');
if RanM=0 then write('Орк');
if RanM=1 then write('Гоблин');
if RanM=2 then write('Волк');
if RanM=3 then write('Вампир');
if RanM=4 then write('Голем');
if RanM=5 then write('Найоёмник');
if RanM=6 then write('Разбойник');
if RanM=7 then write('Маг');
if RanM=8 then write('Фантом');
if RanM=9 then write('Медведь');
if RanM=10 then write('Гигант');
if RanM=11 then write('Цветок-переросток');
if RanM=12 then write('Шпион');
if RanM=13 then write('Эльф-освободитель');
if RanM=14 then write('Дворф-бандит');
if RanM=15 then write('Дикарь');
if RanM=16 then write('Чумной');
writeln(' успел убежать.');
end;
if ot='2' then begin
ClrScr;
writeln(NameP,' поступить умно и потому спрятался в кусты ожидая пока');
if RanM=0 then write('Орк');
if RanM=1 then write('Гоблин');
if RanM=2 then write('Волк');
if RanM=3 then write('Вампир');
if RanM=4 then write('Голем');
if RanM=5 then write('Найёмник');
if RanM=6 then write('Разбойник');
if RanM=7 then write('Маг');
if RanM=8 then write('Фантом');
if RanM=9 then write('Медведь');
if RanM=10 then write('Гигант');
if RanM=11 then write('Цветок-переросток');
if RanM=12 then write('Шпион');
if RanM=13 then write('Эльф-освободитель');
if RanM=14 then write('Дворф-бандит');
if RanM=15 then write('Дикарь');
if RanM=16 then write('Чумной');
write(' уйдёт к себе домой.');
writeln('Что на удивления произашло довольно скоро.');
end;
end.
Типа выбираем, ОТ, 1 или 2
"writeln('1-вступить в бой');
writeln('2-спрятатся');
readln(ОТ);"
а тут, если ОТ равно 3
"if ОТ=3 then;"
"writeln('1-вступить в бой');
writeln('2-спрятатся');
readln(ОТ);"
а тут, если ОТ равно 3
"if ОТ=3 then;"
Похожие вопросы
- Подскажите почему Паскаль не делает нужного расчета и выводит на экран просто S вместо его значения? Как это исправить?
- паскаль... строки...функция delete. не подскажете, почему в этой программе она не выполняется,что опять не так тут?(((
- Работала в паскале,но в конце пишет про какую то плавающюю запятую и не запускает программу, подскажите????
- Что нужно, чтобы делать компьютерные игры?
- Хочу научится делать серёзные игры. С чего начать изучения програматики?
- Программисты кто из вас умеет делать компьютерные игры?
- С помощью каких языков программирования делают 3d игры наподобие Far Cry, Assassin's Creed и т. д.?
- Почему у программистов на первом курсе много всякой фигни вроде философии, английского и линейной алгебры, если мы
- Какой язык программирования учить первым и почему?
- Подскажите почему у меня в IE7 не отображаются картинки.