| Posledná zmena: 13.10.2002

korytnačka

## Korytnačia grafika

veľké bodky
po zatlačení tlačidla sa na náhodnej pozícii vytvorí korytnačka a tá nakreslí náhodne veľkú farebnú bodku

- využite, že Dopredu(0) nakreslí bod - bodku

    var
      k:TKor;
    begin
      k:=TKor.Create(random(Image1.Width),
                     random(Image1.Height));
      k.FP:=RGB(random(256),random(256),random(256));
      k.HP:=random(100)+1;
      k.Dopredu(0);
    end;

terč
pomocu veľkých farebných bodiek nakresliť 10 sústredných kruhov |
    var
      k:TKor;
      i:integer;
    begin
      k:=TKor.Create; randomize;
      for i:=10 downto 1 do begin
        k.FP:=RGB(random(256),random(256),random(256));
        k.HP:=i*20;
        k.Dopredu(0);
      end;
    end;
dvojfarebný terč
terč zo sústredných kruhov, v ktorom sa striedajú len 2 farby

- nepoužívajte if

    var
      k:TKor;
      i:integer;
    begin
      k:=TKor.Create; randomize;
      for i:=5 downto 1 do begin
        k.FP:=clRed;
        k.HP:=i*40;
        k.Dopredu(0);
        k.FP:=clYellow;
        k.HP:=i*40-20;
        k.Dopredu(0);
      end;
    end;

dvojfarebný terč
to isté iným spôsobom všimnite si konštanty f1 a f2, ktoré sú celočíselné a vznikli z kódov dvoch farieb, tiež si všimnite riadok, v ktorom sa priraďuje farba:=TColor(f1) ... tu sme celé číslo pretypovali na TColor tieto pretypovávania sa robia len z programátroskej slušnosti - v skutočnosti je TColor celočíselný typ, takže pretypovávačky môžete vynechať |
    const
      f1=integer(clRed); f2=integer(clYellow);
    var
      k:TKor;
      i,farba:integer;
    begin
      k:=TKor.Create;
      farba:=TColor(f1);
      for i:=10 downto 1 do begin
        k.FP:=TColor(farba);
        k.HP:=i*30;
        k.Dopredu(0);
        farba:=f1+f2-farba;
      end;
    end;
kríž
pomocou hrubých rôzne zafarbených čiar nakresliť kríž |
    var
      k:TKor;
      i:integer;
    begin
      k:=TKor.Create;
      k.HP:=50;
      for i:=1 to 4 do begin
        k.Dopredu(50); k.Dopredu(-50); k.Vpravo(90);
      end;
      k.HP:=30; k.FP:=clWhite;
      for i:=1 to 4 do begin
        k.Dopredu(50); k.Dopredu(-50); k.Vpravo(90);
      end;
    end;
slnko
nakresliť žlté slnko na modrom podklade |
    var
      k:TKor;
      i:integer;
    begin
      k:=TKor.Create; zmaz(clBlue);
      k.FP:=clYellow; k.HP:=3;
      for i:=1 to 30 do begin
        k.Dopredu(150);
        k.Dopredu(-150);
        k.Vpravo(12);
      end;
      k.HP:=200;
      k.Dopredu(0);
    end;
dve špirály
pomocou 2 korytnačiek nakreslite trojuholníkovú a päťuholníkovú špirálu s 50 stranami tak, aby sa kreslili naraz |
    var
      k1,k2:TKor;
      i:integer;
    begin
      k1:=TKor.Create(200,200);
      k2:=TKor.Create(400,200);
      for i:=1 to 50 do begin
        k1.Dopredu(i*4); k1.Vlavo(120);
        k2.Dopredu(i*2); k2.Vpravo(72);
        cakaj(1);
      end;
    end;

© 2002 AB, KVI
blaho@fmph.uniba.sk