Home

A scuola di Delphi

www.gpeano.org 

Introduzione · Capitolo 1 · Capitolo 2 · Capitolo 3 · Capitolo 4 · Capitolo 5 · Download 

Sommario
Blocco note
Tavola gradi-rad
Primitive grafiche
Giochi grafici
Assi cartesiani
Retta esplicita
Fascio improprio
Circonferenza
Ellisse
Sistema solare
Parabola
Iperbole
 

Capitolo 3

Giochi grafici

Questa applicazione serve da esempio per imparare l'utilizzo della grafica in Delphi. Inoltre la comprensione di come sono stati realizzati i 4 disegni associati ai 4 bottoni costituisce un utile esercizio di programmazione, poiché nella grafica è frequentemente necessario eseguire algoritmi di questo tipo.

Non forniremo quindi nessuna spiegazione di come sono stati implementati i vari cicli for che realizzano i disegni. Quando ne avrete capito il funzionamento, sarete in grado di capire la lezione successiva senza difficoltà.

procedure TFormGiochiGrafici.ButtonQuadratiClick(Sender: TObject);
var
  i, x, y: Integer;
begin
  Canvas.Brush.Color:=clWhite;
  for i:=0 to 20 do
  begin
    x:=10*i; y:=10*i;
    Canvas.Brush.Color:=Succ(Canvas.Brush.Color);
    Canvas.Rectangle(x, y, 400-x, 400-y);
  end;
end;

procedure TFormGiochiGrafici.ButtonInviluppiClick(Sender: TObject);
var
  i, x, y: Integer;
begin
  for i:=0 to 40 do
  begin
    x:=10*i; y:=10*i;
    Canvas.MoveTo(0,400-y); Canvas.LineTo(x, 0);
    Canvas.MoveTo(400,y); Canvas.LineTo(400-x, 400);
  end;
end;

procedure TFormGiochiGrafici.ButtonCerchiClick(Sender: TObject);
var
  i, x, y: Integer;
begin
  Canvas.Brush.Color:=clWhite;
  for i:=20 downto 0 do
  begin
    x:=10*i; y:=10*i;
    Canvas.Brush.Color:=Succ(Canvas.Brush.Color);
    Canvas.Ellipse(x, y, 2*x, 2*y);
  end;
end;

procedure TFormGiochiGrafici.ButtonEllissiClick(Sender: TObject);
var
  i, x, y: Integer;
begin
  Canvas.Brush.Color:=clWhite;
  for i:=0 to 20 do
  begin
    x:=10*i; y:=10*i;
    Canvas.Brush.Color:=Succ(Canvas.Brush.Color);
    x:=10*i; y:=10*i;
    Canvas.Ellipse(200-x, y, 200+x, 400-y);
  end;
end;

 3.04 - Giochi grafici