Einzelnen Beitrag anzeigen

Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#5

Re: Kästchen am Bildschirm zeichnen

  Alt 2. Jun 2004, 20:02
Mit dieser Funktion zeichnet das ganze..glaube ich Zumindest:

Delphi-Quellcode:
procedure TControler.Step;
var i : integer;
  dir : TDirection;
begin
  for i := 0 to Flist.Count - 1 do
  begin
    dir := TDirection(random(4));
    if Fpb.Canvas.Pixels[FList.Bugs[i].NextLeft[dir],FList.Bugs[i].NextTop[dir]]<>Fpb.color then
    begin
      FList.Bugs[i].Direction := dir;
      Flist.Bugs[i].Move;
    end
    else
      FList.Bugs[i].Show;
  end;
end;
und ich würde gern den oberen und diesen code durch eine andere Lösung ersetzen. Das ganze Programm soll eine beliebige Anzahl von Kästchen in zufälliger Richtung über den Bildschirm laufen lassen. Die Methode step prüft, ob sich an dem Platz an dem gezeichnet werden soll, schon ein Kästchen befindet. Wenn ja wird Direction freigesetzt. Move bewegt, Show zeigt..

das ganze in dieser klasse:

Delphi-Quellcode:
type TControler = class
     private
       //private Variable zum Speichern von Höhe, Breite und Anzahl
       FHeight, FN, FWidth : integer;
       //private Paintbox, in die gezeichnet werden soll
       FPb : TPaintBox;
       //private Liste zum verwalten der Bugs
       Flist : TBugList;
       FSize : integer;
     protected

     public
       //Properties
       property Height : integer read FHeight write FHeight;
       property N : integer read FN write FN;
       property Width : integer read FWidth write FWidth;
       //Konstruktor
       constructor Create(N:integer;pb : TPaintbox);
       //Destruktor
       destructor Free;
       procedure Show;
       procedure Step;
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat