Práca s farbami

 

mená niektorých preddefinovaných farieb:

clBlack
clMaroon
clGreen
clOlive
clNavy
clPurple
clTeal
clGray
clSilver
clRed
clLime
clYellow
clBlue
clFuchsia
clAqua
clLtGray
clDkGray
clWhite

RGB(0,0,0)
RGB(128,0,0)
RGB(0,128,0)
RGB(128,128,0)
RGB(0,0,128)
RGB(128,0,128)
RGB(0,128,128)
RGB(128,128,128)
RGB(192,192,192)
RGB(255,0,0)
RGB(0,255,0)
RGB(255,255,0)
RGB(0,0,255)
RGB(255,0,255)
RGB(0,255,255)
RGB(192,192,192)
RGB(128,128,128)
RGB(255,255,255)

 

Náhodnosť

 

random – štandardná funkcia, ktorá vráti náhodnú hodnotu z intervalu <0,1)

napr.: random(50) – vráti náhodnú hodnotu (celé číslo) z 0 .. 49

randomize – zabezpečuje, že program sa nespráva po spustení stále rovnako

 

 

Úloha 1: výpis textov na náhodné pozície

na každé stlačenie tlačidla sa napíše na náhodnej pozícii modré slovo Pascal a červené Delphi

 

riešenie:
begin  
  randomize; 
  g.Font.Heigh:=20; 
  g.Font.Color:=clRed; 
  g.TextOut(random(300),random(250),’Delphi’); 
  g.Font.Color:=clBlue; 
  g.TextOut(random(300),random(250),’Pascal’); 
end;
  

poznámka: bez randomize sa program správa stále rovnako, t.j. slová sa vždy po spustení programu vypisujú na rovnakých pozíciách

 

Úloha 2: sústredné kruhy

nakresliť 10 sústredných kruhov s polomermi 10, 20, 30, ... 100, každý kruh bude vyfarbený náhodnou farbou

 

riešenie:
var
  i:integer;
begin
  for i:=10 downto 1 do begin
    g.Brush.Color:=RGB(random(256),random(256),random(256));
    g.Ellipse(250-20*i,250-20*i,250+20*i,250+20*i); 
  end;
end;

 

 

návrat