Движение текста вправо-влево - Turbo Pascal
Формулировка задачи:
Вот такая задачка ... анимировать текс не пойму как.... просто чтоб матался <--- , ---> ... заранее спасиб..
Решение задачи: «Движение текста вправо-влево»
textual
Листинг программы
uses crt,graph; var x,y:integer; s:string; begin x:=0; initgraph(x,y,''); s:='1234567890'; x:=1; y:=getmaxY div 2; repeat while (x<getmaxX-length(s)*8)and not keypressed do begin cleardevice; x:=x+5; outtextXY(x,y,s); delay(50); end; while (x>1) and not keypressed do begin cleardevice; x:=x-5; outtextXY(x,y,s); delay(50); end; until keypressed; end.
Объяснение кода листинга программы
- В начале кода используются библиотеки crt и graph.
- Переменные x и y инициализируются значением 0.
- Строка s инициализируется значением '1234567890'.
- Переменная x устанавливается равной 1.
- Переменная y вычисляется как половина максимальной Y, деленная на 2.
- Затем происходит цикл repeat, который выполняется до тех пор, пока x меньше getmaxX минус длина строки s, умноженная на 8, и пока не нажата клавиша.
- Внутри цикла cleardevice сбрасывает текущее изображение на экране.
- Затем значение переменной x увеличивается на 5.
- После этого вызывается функция outtextXY, которая выводит текст (строку s) на экран по координатам x и y.
- Затем происходит задержка в течение 50 миллисекунд.
- Цикл повторяется, пока x меньше 1 или пока не нажата клавиша.
- Когда x становится меньше 1, цикл повторяется с начала, но уже с изменением знака перед x.
- Цикл продолжается до тех пор, пока не будет нажата клавиша.