Pascal grafikon a mozgás típusa - Műszaki Fórum

Így például beállíthatja a ciklikus mozgás, amíg a gomb le van nyomva. Az olvasási ciklus véletlenszerű érték változó irányban, amely szolgál majd a feltétele a beágyazott hurok mozgó objektumot véletlen dx és dy. Amikor elérte a képernyő határaihoz, a belső hurok megszakad, és a vezérlés átadódik a külső hurok, amely egy értéket megvezetésére a generált újra.

Példa a módszer PutImage. Végrehajtott mozgás csak vízszintesen.

Azért jöttem ide, mint egy

Program RGZ;
Felhasználás CRT Graph;
Const FigureHight = 55;
FigureWidth = 35;
FigureColor = piros;
FigureBackground = kék;
MenuText: array [1..3] string = ( 'Svobodni', 'Upravlenie', 'Kilépés');
var kiválasztásához, i, GD, GM: integer;
konez: logikai;
ch: char;
eljárás Gagarin (x, y, szín, háttér: egész szám);
kezdődik
setcolor (szín);
vonal (x, y, x + 40, y + 25);
vonal (x, y, x + 20, y + 25);
vonal (x + 20, y + 25, x + 100, y + 25);
vonal (x + 20, y + 55, x + 100, y + 55);
vonal (x + 20, y + 25, x + 20, y + 55);
vonal (x + 100, y + 55, x + 130, y + 40);
vonal (x + 100, y + 25, x + 130, y + 40);
vonal (x + 20, y + 55, x, y + 80);
vonal (x, y + 80, x + 40, y + 55);
kör (x + 90, y + 40, 10);
kör (x + 70, y + 40, 10);
kör (x + 50, y + 40, 10);
végén;
eljárás Upravlenie;
var x, y, ckorost: integer;
kezdődik
X: = getmaxx div 2;
y: = getmaxy div 2;
ckorost: = 1;
ismétlés
Gagarin (x, y, FigureColor, FigureBackground);
ch: = ReadKey;
Gagarin (x, y, fekete, fekete);
esetében CH
# 72: if (y-ckorost)> 10, akkor dec (y, ckorost);
# 80: if (y + ckorost + FigureWidth)<480 then inc(y,ckorost);
# 75: ha (x-ckorost)> 10, akkor dec (x, ckorost);
# 77: if (x + ckorost + FigureHight)<640 then inc(x,ckorost);
'+': Ha ckorost<60 then inc(ckorost);
'-': ha ckorost> 0, akkor dec (ckorost);
végén;
amíg (ch = # 27), vagy (CH = # 13);
végén;
Eljárás Svobodnoe;
Var X, Y, DX, DY. integer;
Ch. char;
kezdődik
X: = Random (605);
Y: = Random (480);
DX: = 1;
DY: = 1;
Míg TRUE do
kezdődik
ClearDevice;
Gagarin (X, Y, FigureColor, FigureBackground);
ha Y> = 480, akkor DY: = -DY;
ha Y <= 0 then DY := -DY;
ha X> = 640, akkor a DX: = -DX;
ha X <= 0 then DX := -DX;
X: = X + DX;
Y: = Y + DY;
Delay (1000);
ha keyPressed ezután kezdődik
Ch: = ReadKey;
ha Ch = # 27, majd szünet
vég
vég
Vége;
kezdődik
GD: = észlelni;
initgraph (gd, GM, '');
véletlenszerű;
konez: = false;
ismétlés
cleardevice; válasszon: = 1;
ismétlés
i: = 1-től 3 do kezdeni
ha i = kiválasztásához, majd setcolor (piros) else setcolor (zöld);
outtextxy ((getmaxx div 2) -50, (getmaxy div 2) -50 + i * 16, MenuText [i]);
végén;
ch: = ReadKey;
esetében CH
# 72: dec (kiválasztás);
# 80: inc (kiválasztás);
végén;
ha válasszuk<1 then select:=3;
ha válasszuk> 3, akkor válasszon: = 1;
ha ch = # 27 majd kezdődik
válasszon: = 3;
ch: = # 13;
végén;
amíg (ch = # 13);
cleardevice;
Ilyenkor válassza a
1: Svobodnoe;
2: Upravlenie;
3: konez: = true;
végén;
amíg konez;
closegraph;
Vége.

Kapcsolódó cikkek