///////////////////////////////////////////
// (C) 2004 by Kevin Nieberle //
////////////////////////////////////////////////////////
//Dieses Programm erstellt und zeigt Bergspitzen auf //
//einem Image an. //
////////////////////////////////////////////////////////
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 =
class(TForm)
BitBtn1: TBitBtn;
bild: TImage;
procedure BitBtn1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// Kategorie: Createblackstroke
// Units: -
// Letzte änderung 7.8.2004
procedure TForm1.BitBtn1Click(Sender: TObject);
var x:integer;
// Variabeln definieren
steigung,y:real;
plusminus:boolean;
auswahl:integer;
bergspitzen:integer;
const berg = 50;
//constante festlegen
begin
bild.Picture.Free;
bild.Picture := tpicture.Create;
//erstellt tpicture
randomize;
y := random(bild.Height
div 2);
//Startpunkt
steigung := random(20) / (random(30)+1);
//Startsteigung
bergspitzen := random(berg);
//Wahrscheinlichkeit von vielen Bergspitzen
for x := 1
to bild.Width
do
begin
auswahl := random(bergspitzen+1);
//Erstellt jedesmal ein anderes Ergebnis
if auswahl = bergspitzen
then
if plusminus = true
then
begin
plusminus := false;
steigung := random(10) / (random(30)+1);
end
else
begin
plusminus := true;
steigung := random(10) / (random(30)+1);
end;
if plusminus = true
then
begin
y := y + steigung + (random(2)-1);
if y > bild.Height-50
then
y := bild.Height-50;
if y < 0
then
y := 0;
end // u.s.w
else
begin
y := y - steigung - (random(2)-1);
if y < 0
then
y := 0;
if y > bild.Height-100
then
y := bild.Height-100;
end;
bild.Canvas.Polygon([point(x,bild.Height),point(x,bild.Height-round(y))]);
end;
bild.repaint;
// Wichtig! Ein Repaint machen!
end;
end.