Занятие 4. Текстовая игра.
Зная операторы вывода и условия можно написать простую текстовую игру.
Игровой мир
имеет размер 3*3, на некоторых полях находятся ловушки. Ваша задача
переметиться из поля 1,1 в поле 3,3.
Var
name: string;
key: char;
x, y: integer;
up, down,
left, right:
boolean; //Возможность
перемещения по направлениям
Begin
cls;
x:=1;
y:=1;
While(true) do
begin
writeln('Ваше положение x=',x
,',y= ',y);
up:=false;
down:=false;
left:=false;
right:=false;
if(x<3) then
right:=true;
if(x>1) then
left:=true;
if(y<3) then
down:=true;
if(y>1) then up:=true;
writeln('Вы можете двигаться:');
if(right) then write('вправо,');
if(left) then write('влево,');
if(down) then write('вниз,');
if(up) then write('вверх,');
readln(key);
case
key of
'a': x:=x-1;
'd': x:=x+1;
'w': y:=y-1;
's': y:=y+1;
else
writeln('Не правильный ввод!!!');
End;
if(x=0) then
begin
writeln('Выход за игровое поле! так нельзя!');
x:=1;
end;
if(x=4) then
begin
writeln('Выход за игровое поле! так нельзя!');
x:=3;
end;
if(y=0) then
begin
writeln('Выход за игровое поле! так нельзя!');
y:=1;
end;
if(y=4) then
begin
writeln('Выход за игровое поле! так нельзя!');
y:=3;
end;
// Обработка выигрыша
If
( (x=3) And (y=3) ) then
begin
writeln('Вы выиграли! Игра окончена!');
readln;
EXIT;
end;
// Обработка ловушек
If
( (x=1) And (y=3) ) then
begin
writeln('Вы попали в ловушку! Игра окончена!');
readln;
EXIT;
end;
end;
end.