Занятие 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.




