check out this cool pascal screen saver.. and help me improve it,


[
PROGRAM ssver3;
USES crt,graph;
VAR
count,ran,n,radius,Gd, Gm: Integer;
BEGIN
gd:=Detect;
InitGraph(Gd, Gm, '');
IF GraphResult <> grOk THEN halt(1);
n:=1;
REPEAT
n:=RANDOM(getmaxx);
cleardevice;
count:=0;
BEGIN
FOR radius:=1 TO n DO
BEGIN
Circle(0,0, Radius);
Circle(getmaxx,getmaxy,radius);
Circle(trunc(getmaxx/2),trunc(getmaxy/2),radius);
Circle(getmaxx,0,radius);
Circle(0,getmaxy,radius);
line(0,getmaxy,getmaxx,0);
line(0,0,getmaxx,getmaxy);
line(0,0,getmaxx,0);
line(0,0,0,getmaxy);
line(getmaxx,getmaxy,getmaxx,0);
line(getmaxx,getmaxy,0,getmaxy);
sound(radius);
setcolor(random(128));
delay(500); {here might have to change proportionally to the speed of the comp.}
END;
END;
UNTIL keypressed;
count:=0;
cleardevice;
REPEAT
BEGIN
settextstyle(4,0,4);
setcolor(random(32));
outtextxy(0,trunc(getmaxy/2),'This program was made by Vivek Maharajh.');
count:=count+1;
END;
UNTIL count=300; {here might have to change proportionally to the speed of the comp.}
nosound;
END.
{If anyonne reads tis program, and knows how to reset the keypressed, let me know plz.}
]



Comments

  • :
    : [
    : PROGRAM ssver3;
    : USES crt,graph;
    : VAR
    : count,ran,n,radius,Gd, Gm: Integer;
    : BEGIN
    : gd:=Detect;
    : InitGraph(Gd, Gm, '');
    : IF GraphResult <> grOk THEN halt(1);
    : n:=1;
    : REPEAT
    : n:=RANDOM(getmaxx);
    : cleardevice;
    : count:=0;
    : BEGIN
    : FOR radius:=1 TO n DO
    : BEGIN
    : Circle(0,0, Radius);
    : Circle(getmaxx,getmaxy,radius);
    : Circle(trunc(getmaxx/2),trunc(getmaxy/2),radius);
    : Circle(getmaxx,0,radius);
    : Circle(0,getmaxy,radius);
    : line(0,getmaxy,getmaxx,0);
    : line(0,0,getmaxx,getmaxy);
    : line(0,0,getmaxx,0);
    : line(0,0,0,getmaxy);
    : line(getmaxx,getmaxy,getmaxx,0);
    : line(getmaxx,getmaxy,0,getmaxy);
    : sound(radius);
    : setcolor(random(128));
    : delay(500); {here might have to change proportionally to the speed of the comp.}
    : END;
    : END;
    : UNTIL keypressed;
    : count:=0;
    : cleardevice;
    : REPEAT
    : BEGIN
    : settextstyle(4,0,4);
    : setcolor(random(32));
    : outtextxy(0,trunc(getmaxy/2),'This program was made by Vivek Maharajh.');
    : count:=count+1;
    : END;
    : UNTIL count=300; {here might have to change proportionally to the speed of the comp.}
    : nosound;
    : END.
    : {If anyonne reads tis program, and knows how to reset the keypressed, let me know plz.}
    : ]
    :
    :
    :
    :


    Just read the pressed key into a variable. That would reset it.
    Better keep doing it until keyboard buffer is empty:
    [code]
    var ch:char;

    while keypressed do ch:=readkey;
    [/code]

    Iby

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

In this Discussion