home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Interdit
/
pc-interdit.iso
/
graph
/
etoiles.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-10-05
|
1KB
|
42 lines
Program Defil_etoiles;
Uses Crt;
Var Etoiles:Array[0..500] of Record
x,y,Plan:Integer;
End;
nb_et:Word;
Procedure PutPixel(x,y,col:word);assembler;
{dessine le point (x,y) en couleur col (Mode 13h)}
asm
mov ax,0a000h {charge le segment}
mov es,ax
mov ax,320 {offset = Y*320 + X}
mul y
add ax,x
mov di,ax {charge l'offset }
mov al,byte ptr col {charge la couleur}
mov es:[di],al {et place le point}
End;
Begin
Randomize; {initialise le générateur de nombres aléatoires}
asm mov ax,13h; int 10h End; {déclenche le mode 13h }
Repeat {exécution une fois par dessin d'écran}
For nb_et:=0 to 500 do Begin {nouvelle position pour chaque étoile}
With Etoiles[nb_et] do Begin
PutPixel(x,y,0); {efface l'ancien pixel}
Dec(x,Plan shr 5 + 1); {effectue le déplacement}
if x <= 0 Then Begin {sortie à gauche ?}
x:=319; {alors réinitialisation }
y:=Random(200);
Plan:=Random(256);
End;
PutPixel(x,y,Plan shr 4 + 16); {dessine le nouveau pixel}
End;
End;
Until KeyPressed; {continue jusqu'à ce qu'on frappe une touche}
TextMode(3);
End.