Предмет: Информатика, автор: 9013567

СРОЧНО!! НА КОДЕ PASKALABC Нужно сделать лабиринт который можно пройти клавишами лабиринт среднего размера и цвет стенок должен быть фиолетовый и при прохождении лабиринта выскакивала надпись YOU WIN !

Ответы

Автор ответа: Aggresivnyy
0

uses crt;

const

 Width = 10;

 Height = 10;

var

 Maze: array[1..Height, 1..Width] of char;

 PlayerX, PlayerY, ExitX, ExitY: integer;

 Key: char;

begin

 // Определяем размер лабиринта

 ExitX := Width - 2;

 ExitY := Height - 2;

 // Создаем лабиринт

 for var i := 1 to Height do

   for var j := 1 to Width do

     if (i = 1) or (j = 1) or (i = Height) or (j = Width) then

       Maze[i, j] := '#'

     else

       Maze[i, j] := ' ';

 // Устанавливаем начальные координаты игрока

 PlayerX := 1;

 PlayerY := 1;

 // Основной цикл программы

 repeat

   // Очищаем экран

   clrscr;

   // Отображаем лабиринт

   for var i := 1 to Height do

   begin

     for var j := 1 to Width do

     begin

       if (i = PlayerY) and (j = PlayerX) then

         write('P')

       else if (i = ExitY) and (j = ExitX) then

         write('E')

       else

         write(Maze[i, j]);

     end;

     writeln;

   end;

   // Просим игрока выбрать направление движения

   Key := readkey;

   // Обрабатываем клавиши для перемещения игрока

   case Key of

     #72: // Стрелка вверх

       begin

         if Maze[PlayerY - 1, PlayerX] = ' ' then

           PlayerY := PlayerY - 1;

       end;

     #80: // Стрелка вниз

       begin

         if Maze[PlayerY + 1, PlayerX] = ' ' then

           PlayerY := PlayerY + 1;

       end;

     #75: // Стрелка влево

       begin

         if Maze[PlayerY, PlayerX - 1] = ' ' then

           PlayerX := PlayerX - 1;

       end;

     #77: // Стрелка вправо

       begin

         if Maze[PlayerY, PlayerX + 1] = ' ' then

           PlayerX := PlayerX + 1;

       end;

   end;

 until (PlayerX = ExitX) and (PlayerY = ExitY);

 // Пользователь выиграл

 clrscr;

 writeln('YOU WIN!');

 readln;

end.

Похожие вопросы
Предмет: Английский язык, автор: jgjfjffjhf