program zahl_suchen;
uses crt;
var zahl, r {Zufallszahl}, z {zaehler} :integer;
{oooooooooooooooooooo BEGINN O O P ooooooooooooooooooooo}
type bildschirm = object
                xl,xr,yo,yu : byte; {+++Koordinaten des Bildschirms+++}
                farbe :  integer;
                constructor ini(pxl,pyo,pxr,pyu : byte; pfarbe : integer);
                procedure oeffnen; procedure schliessen;
     end;
constructor bildschirm.ini(pxl,pyo,pxr,pyu : byte; pfarbe : integer);
begin
     xl := pxl; yo := pyo; xr := pxr; yu := pyu; farbe := pfarbe;
end;
procedure bildschirm.oeffnen;
var i,j : integer;
begin
     window(xl+1,yo+1,xr-1,yu-1);
     for i := 1 to (xr - 2*xl ) do
         for j := 1 to (yu + 2*yo ) do
         begin
              gotoxy(i,j);textbackground(farbe);write(' ');
         end;
     gotoxy(2,2);
end;
procedure bildschirm.schliessen;
begin
     window(xl,yo,xr,yu);
     clrscr;
     window(1,1,80,25);
end;
{oooooooooooooooooooo ENDE O O P oooooooooooooooooooo}

var bildschirm1, bildschirm2, bildschirm3 : bildschirm;
{*****************HAUPTPROGRAMM**********************}
begin
     clrscr;
     bildschirm1.ini(1,1,80,25,9);
     bildschirm1.oeffnen;
     bildschirm2.ini(5,5,75,20,14);
     bildschirm2.oeffnen;
     gotoxy(10,2); textcolor(4); write('??? Zahlen raten ???');
     gotoxy(10,4); textcolor(0); write('Rate die Zahl <100  ');
     randomize; r :=random(100)+1;
     z := 0;
     repeat
           textcolor(0);gotoxy(40,4);readln(zahl);
           if zahl > r then
           begin
                gotoxy(10,8);textcolor(1);write('Die Zahl ist zu groá  ');
           end else
           begin
                gotoxy(10,8);textcolor(1);write('Die Zahl ist zu klein ')
           end;
           if Zahl = r then
           begin
                gotoxy(10,12); textcolor(5);
                write('SUPER, mit ',z,'  Versuchen hast Du die Zahl erraten');
           end;
           inc(z);
      until r=zahl;
     readln;
     bildschirm2.schliessen;
     readln;
end.