Имитация движения в Турбо Паскале
Наиболее простой способ имитации движения на экране Задание позиций вывода Вывод объекта определённым цветом («рисование») Вывод объекта цветом фона («стирание») Включает в себя следующие этапы:
Задача 1. Вывести на экран в текстовом режиме и управлять движением какого-либо символа или строки символов Пояснение: Эффект стирания достигается выводом в указанной позиции одного или нескольких пробелов.
PROGRAM upr_simv; uses crt; Const S=СЛОВО'; Sp=' ';{Число пробелов в Sp не меньше числа символов в S} Var c:char;x,y:integer; BEGIN clrscr; x:=40;y:=12; gotoxy(x,y); write(s); Repeat c:=readkey; gotoxy(x,y);write(Sp);{Стираем на старом месте} case ord(c) of 72:y:=y-1; { изменяем координаты}{72 - код} 80:y:=y+1; {80 – код } 75:x:=x-1; {75 – код } 77:x:=x+1; {77 – код } end; gotoxy(x,y);write(s);{Выводим на новом месте} Until ord(c)=32; END.
Задача 2. Создать «бегущую строку» в текстовом режиме экрана
Задача 3. Перемещать клавишами круг, используя графический режим экрана
PROGRAM dv_kruga; uses crt, Graph; Var grDriver:Integer; grMode:Integer;ErrCode:Integer; c:char; x,y,r:integer; BEGIN grDriver:=detect; grMode:=2; InitGraph(grDriver,grMode,'c:\TP7\BGI'); x:=100;y:=100;r:=50; Setcolor(red); circle(x,y,r); REPEAT c:=readkey; Setcolor(black); circle(x,y,r); Case ord(c) of 72:y:=y-10; {изменяем координаты} 80:y:=y+10; 75:x:=x-10; 77:x:=x+10; end; Setcolor(red); circle(x,y,r); Until ord ( c ) =32; readLn; CloseGraph; END.