Мерцание курсора - Turbo Pascal
Формулировка задачи:
Всем здраствуйте, помогите мне,пожалуйста. Написать программу движения символа в консольном окне. Движе-ние символа управляется клавишами-стрелками. При этом пользователю не видно движения курсора. Курсор как бы находится в левом верхнем углу окна.Заранее благодарен.Исходник ниже
Решение задачи: «Мерцание курсора»
textual
Листинг программы
uses crt; var x, y, ox, oy: Integer; c: Char; begin ClrScr; x:=1; y:=1; GotoXY(x,y); Write(#4); GotoXY(x,y); repeat c:=ReadKey; if c=#0 then begin ox:=x; oy:=y; case ReadKey of #38,#72: if y>1 then Dec(y); #39,#77: if (x<79) or (x=79) and (y<>25) then Inc(x); #40,#80: if (y<24) or (y=24) and (x<>80) then Inc(y); #37,#75: if x>1 then Dec(x); end; if (x<>ox) or (y<>oy) then begin GotoXY(ox,oy); Write(' '); GotoXY(x,y); Write(#4); GotoXY(x,y); end; end; until c=#27; end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt.
- Объявляются переменные x, y, ox, oy типа Integer и одна переменная c типа Char.
- Выполняется очистка экрана с помощью функции ClrScr.
- Устанавливаются начальные значения переменных x и y.
- С помощью функций GotoXY и Write выводится символ #4 на экран.
- Запускается цикл повторения, который будет выполняться до тех пор, пока не будет нажата клавиша #27.
- Внутри цикла считывается символ клавиши с помощью функции ReadKey.
- Проверяется значение считанной клавиши. Если это #0, то сохраняются текущие значения переменных x и y.
- Если считанная клавиша — #38 или #72, то уменьшается значение переменной y.
- Если считанная клавиша — #39, #77, то увеличивается значение переменной x, при условии, что x меньше 79 и y не равно 25.
- Если считанная клавиша — #40, #80, то уменьшается значение переменной y.
- Если считанная клавиша — #37, #75, то увеличивается значение переменной x.
- Если считанная клавиша — #38, #72, то выводится на экран символ ' ' и перемещается обратно к точке, где были сохранены предыдущие значения переменных x и y.
- Если считанная клавиша — #39, #77, то выводится на экран символ #4 и перемещается к точке, где были сохранены предыдущие значения переменных x и y.
- Если считанная клавиша — #40, #80, то выводится на экран символ #4 и перемещается к точке, где были сохранены предыдущие значения переменных x и y.
- Если считанная клавиша — #37, #75, то выводится на экран символ #4 и перемещается к точке, где были сохранены предыдущие значения переменных x и y.
- После выхода из цикла, выполняется очистка экрана с помощью функции ClrScr.
- Конец программы.