Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Pascal: Kivoja Kolmioita Delphillä

(nimetön) [14.08.2002 15:02:28]

#

Tämä koodinpätkä tekee Delphillä formin täyteen erilaisia pikku kolmioita (hienomman näköistä kuin miltä kuulostaa). Avaa Delphi, pistä sinne button jonka nimi on Button1 (mieluiten oikeaan alakulmaan), poista alta delphin tekemät oletuskoodirivit ja pistä tämä niiden tilalle. Valitse sen jälkeen buttonin OnClick-tapahtumaan teksti Button1Click. Lomake kannattaa suurentaa ennen kuin painaa buttonia.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var alkurandom: integer;
var x,y: integer;
var leveys,korkeus: integer;
begin
leveys := 600;
korkeus := 500;
randomize;

for alkurandom := 1 to leveys do begin
 if random(2) = 0 then
  canvas.pixels[alkurandom,1] := clWhite
 else
  canvas.pixels[alkurandom,1] := clBlack;
end;

for y := 2 to korkeus do begin
 for x := 1 to leveys do begin

  if ((canvas.pixels[x-1,y-1] = clBlack) and (canvas.pixels[x,y-1] = clBlack) and (canvas.pixels[x+1,y-1] = clBlack))
  or ((canvas.pixels[x-1,y-1] = clWhite) and (canvas.pixels[x,y-1] = clWhite) and (canvas.pixels[x+1,y-1] = clWhite)) then
   canvas.pixels[x,y] := clWhite //jos kaikki kolme takana ovat samanvärisiä, valkea

  else if (canvas.pixels[x-1,y-1] = clBlack) and (canvas.pixels[x,y-1] = clWhite) and (canvas.pixels[x+1,y-1] = clWhite) then
   canvas.pixels[x,y] := clWhite  //takana ja takavasemmalla valkea, muualla musta

  else
   canvas.pixels[x,y] := clBlack; //muuten musta
  end;
 end;
end;
end.

(nimetön) [23.08.2002 18:54:14]

#

hassu

arcatan [28.08.2002 15:56:46]

#

joo... se on hienompi miltä kuulostaa mutta aika turha..

(nimetön) [01.11.2002 17:28:47]

#

niinpä, mutta ei voi mitään :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta