24 tháng 3, 2015

Đồ họa máy tính P1 - Vẽ vòng tròn di động trên mặt phẳng bằng kỹ thuật lật trang màn hình

Đồ họa máy tính Phần 1 - Vẽ vòng tròn di động trên mặt phẳng bằng kỹ thuật lật trang màn hình


Program Vong_Tron_Di_Dong;
Uses Crt, Graph;
Const r: Word = 100;
Var
Gd, Gm: Integer;
XMax, XMin: Integer;
CenterY,X: Integer;
Page1, Page2: Word;
Right: Boolean;
Procedure CircleDraw(x: Integer);
Begin
ClearDevice;
SetLineStyle(Solidln,0,NormWidth);
SetColor(Yellow);
Circle(x,CenterY,r);
End;
Procedure Init;
Begin
DetectGraph(Gd,Gm);
If Not (Gd in[EGA,VGA,HercMono]) Then
Begin
Writeln('Khong lat trang man hinh duoc');
Halt(1);
End;
InitGraph(Gd,Gm,'C:\BP\BGI');
If GraphResult <> GrOk Then Halt(1);
SetBkColor(LightBlue);
End;
Begin
Init;
CenterY:= GetMaxY Div 2;
XMin:=R;
XMax:=GetMaxX - R;
X:=XMin;
Page1:=0;
Page2:=1;
Right:=True;
Repeat
SetVisualPage(Page1); {Xem trang page 1}
SetActivePage(Page2); {Kích hoạt page 2}
{vẽ đối vòng tròn}
CircleDraw(x);
If Right Then
If X < XMax Then
X:= X + 10
Else 
Begin
X:= X - 10;
Right:=False;
End
Else
If X > XMin Then
X:= X - 10
Else
Begin
X:= X + 10;
Right:=True;
End;
Delay(1000);
ClearDevice;
Page1:= 1-Page1;
Page2:= 1-Page2;
Until KeyPressed;
CloseGraph;
End.