Управление символом кодовой таблицы клавишами - Turbo Pascal
Формулировка задачи:
Проблема: требуется, чтобы персонаж игры ,,Лабиринт", который обозначен номером 2 в кодовой таблице, перемещался вверх, вниз, вправо, влево по нажатию клавиш. Буду благодарен за помощь.
Программа(работа над лабиринтом не завершена):
Решение задачи: «Управление символом кодовой таблицы клавишами»
textual
Листинг программы
uses dos,crt; procedure KursOff;{убрать курсор} var reg:registers; begin with reg do begin AH:=1;{управление курсором} CH:=$20;{Убрать курсор} end; intr($10,reg); end; procedure pole; var i:byte; begin gotoXY(25,5); write(#218); for i:=26 to 54 do begin gotoXY(i,5); write(#196); end; gotoXY(55,5); write(#191); gotoXY(25,20); write(#192); for i:=26 to 54 do begin gotoXY(i,20); write(#196); end; gotoXY(55,20); write(#217); for i:=6 to 19 do begin gotoXY(25,i); write(#179); gotoXY(55,i); write(#179); end; end; var c:char; x,y:byte; begin KursOff; clrscr; pole; x:=40; y:=13; gotoXY(x,y); write('X'); repeat gotoXY(25,1); write('Управление стрелками, выход Esc'); pole; if keypressed then begin c:=readkey; if c=#0 then c:=readkey; case c of #75:begin clrscr; if x>26 then x:=x-1; gotoXY(x,y); write('X'); end; #77:begin clrscr; if x<54 then x:=x+1; gotoXY(x,y); write('X'); end; #72:begin clrscr; if y>6 then y:=y-1; gotoXY(x,y); write('X'); end; #80:begin clrscr; if y<19 then y:=y+1; gotoXY(x,y); write('X'); end; #27:exit; end; end; until c=#27; end.
Объяснение кода листинга программы
- Используется библиотека DOS и CRT для управления курсором и вывода символов на экран.
- Процедура KursOff используется для удаления курсора с экрана.
- Процедура pole используется для вывода символов на экран.
- Переменная reg содержит регистры процессора, которые используются для управления курсором.
- Переменная i используется для цикла вывода символов на экран.
- Переменные x и y используются для указания координат курсора на экране.
- Переменная c используется для хранения введенного символа.
- Процедура clrscr используется для очистки экрана.
- Процедура readkey используется для чтения введенного символа.
- Переменные x и y используются для указания координат, где должен быть выведен символ
X
. - Процедура gotoXY используется для перемещения курсора на указанные координаты.
- Процедура write используется для вывода символа на экран.
- Процедура repeat используется для повторения цикла до тех пор, пока не будет введен определенный символ.
- Процедура case используется для обработки введенного символа в зависимости от его значения.
- Процедура exit используется для выхода из программы при вводе определенного символа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д