program display_ver2; { add a option to change the speed and make it clear the screen after something like 1 min } uses crt; const SPEED = 100; procedure type_name(var name : string); begin clrscr; textcolor(6); write('Enter Text : '); textcolor(4); readln(name); if name = '' then name := 'Fraser King'; end; function random_limits(min,max : integer) : integer; var rnd : integer; begin repeat rnd := random(max+1); until rnd >= min; random_limits := rnd; end; procedure display(name : string); var x,y,col : byte; count : integer; change : boolean; begin textcolor(black); clrscr; count := 0; change := false; repeat inc(count,1); case count of 500 : change := not(change); 1000 : begin change := not(change); count := 0; end; end; if change then col := random_limits(8,15) else col := random_limits(1,7); x := random_limits(1,80-length(name)); y := random_limits(1,25); gotoxy(x,y); textcolor(col); write(name); delay(SPEED); until keypressed; end; var name : string; begin textmode(80); randomize; type_name(name); display(name); textcolor(lightgray); clrscr; end.