ВУЗ:
Составители:
Рубрика:
Внимание: будет работать только если Turbo Pascal установлен в каталог
C:\TP и каталог C:\TP\BGI содержит необходимый файл egavga.bgi.
Program Sight;
Uses Crt, Graph; {подключение к программе
библиотек Crt и Graph}
Const Step = 5; {шаг изменения координат центра прицела }
Instr = 'УПРАВЛЕНИЕ ДВИЖЕНИЕМ ПРИЦЕЛА - СТРЕЛКИ, ВЫХОД - ESC';
Var
GrDriver, GrMode : Integer; {тип и режим работы графического драйвера}
X, Y : Integer; {координаты центра прицела}
XStr, YStr : String;
Ch : Char;
{-----------------------------------------------------------}
Procedure MakeSight(X, Y : Integer); {процедура рисования прицела}
Begin SetColor(White);
Circle(X, Y, 80);
SetColor(LightGreen);
Line(X-80, Y, X+80, Y); Line(X, Y-63, X, Y+63); {вывод осей прицела}
SetColor(LightRed); Circle(X, Y, 2); {окружность в центре прицела}
Str(X, XStr); Str(Y, YStr); {перевод координат в строковый тип}
SetColor(Yellow);
OutTextXY(X+5, Y-35, 'x=' + XStr); {вывод координат центра прицела }
OutTextXY(X+5, Y-20, 'y=' + YStr)
End;
{-----------------------------------------------------------}
BEGIN
GrDriver := Detect;
InitGraph(GrDriver, GrMode, 'C:\TP\BGI');
SetColor(LightGray);
X := GetMaxX div 2; Y := GetMaxY div 2; {координаты центра экрана}
Rectangle(50, 425, 600, 460); {рисование рамки }
OutTextXY(120, 440, Instr);
MakeSight(X, Y); {рисование прицела в центре экрана}
While TRUE do {цикл работы программы до прерывания по клавише ESC}
begin
Ch := ReadKey;
Case Ch of
#27: begin CloseGraph; Halt(1) end; {выход по клавише ESC}
#75: X: = X-Step; {изменение координат x, y нажатием стрелок}
#77: X: = X+Step; {"влево", "вправо", "вверх", "вниз" }
#72: Y: = Y-Step;
#80: Y: = Y+Step
end;
ClearViewPort; { очистка графического экрана }
SetColor(LightGray); {восстановление рамки с надписью}
Rectangle(50, 425, 600, 460);
OutTextXY(120, 440, Instr);
MakeSight(X, Y) {рисование прицела в текущих координатах}
end; CloseGraph;
Внимание: будет работать только если Turbo Pascal установлен в каталог C:\TP и каталог C:\TP\BGI содержит необходимый файл egavga.bgi. Program Sight; Uses Crt, Graph; {подключение к программе библиотек Crt и Graph} Const Step = 5; {шаг изменения координат центра прицела } Instr = 'УПРАВЛЕНИЕ ДВИЖЕНИЕМ ПРИЦЕЛА - СТРЕЛКИ, ВЫХОД - ESC'; Var GrDriver, GrMode : Integer; {тип и режим работы графического драйвера} X, Y : Integer; {координаты центра прицела} XStr, YStr : String; Ch : Char; {-----------------------------------------------------------} Procedure MakeSight(X, Y : Integer); {процедура рисования прицела} Begin SetColor(White); Circle(X, Y, 80); SetColor(LightGreen); Line(X-80, Y, X+80, Y); Line(X, Y-63, X, Y+63); {вывод осей прицела} SetColor(LightRed); Circle(X, Y, 2); {окружность в центре прицела} Str(X, XStr); Str(Y, YStr); {перевод координат в строковый тип} SetColor(Yellow); OutTextXY(X+5, Y-35, 'x=' + XStr); {вывод координат центра прицела } OutTextXY(X+5, Y-20, 'y=' + YStr) End; {-----------------------------------------------------------} BEGIN GrDriver := Detect; InitGraph(GrDriver, GrMode, 'C:\TP\BGI'); SetColor(LightGray); X := GetMaxX div 2; Y := GetMaxY div 2; {координаты центра экрана} Rectangle(50, 425, 600, 460); {рисование рамки } OutTextXY(120, 440, Instr); MakeSight(X, Y); {рисование прицела в центре экрана} While TRUE do {цикл работы программы до прерывания по клавише ESC} begin Ch := ReadKey; Case Ch of #27: begin CloseGraph; Halt(1) end; {выход по клавише ESC} #75: X: = X-Step; {изменение координат x, y нажатием стрелок} #77: X: = X+Step; {"влево", "вправо", "вверх", "вниз" } #72: Y: = Y-Step; #80: Y: = Y+Step end; ClearViewPort; { очистка графического экрана } SetColor(LightGray); {восстановление рамки с надписью} Rectangle(50, 425, 600, 460); OutTextXY(120, 440, Instr); MakeSight(X, Y) {рисование прицела в текущих координатах} end; CloseGraph;
Страницы
- « первая
- ‹ предыдущая
- …
- 101
- 102
- 103
- 104
- 105
- …
- следующая ›
- последняя »