AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Prism Panel Spiel => Panel automatisch erzeugen?
Thema durchsuchen
Ansicht
Themen-Optionen

Panel Spiel => Panel automatisch erzeugen?

Ein Thema von Juggy D · begonnen am 18. Okt 2007 · letzter Beitrag vom 27. Okt 2007
Antwort Antwort
Juggy D

Registriert seit: 18. Okt 2007
29 Beiträge
 
#1

Re: Panel Spiel => Panel automatisch erzeugen?

  Alt 21. Okt 2007, 15:08
Hi,

hab die IF Abfrage aus der Schleife rasugenommen.
Der Zaehler wird bei FormCreate auf 5 gesetzt (da man am Anfang 5 Punkte haben soll).
Der Timer wird beim drücken des Start Buttons aktiviert und es werden 5 Panels erstellt (Bei StartClick).
Vom Debugger hab ich keine Ahnung. Wie guckt man da nach? 10 Punkte hatte ich aber auf jedenfall, da die Punkte in einem Seperaten Memofeld angezeigt werden. Es fehlt dann halt nur die Meldung "Gewonnen".

Hier mal der komplette Quellcode:

Delphi-Quellcode:
unit UFang1;

interface

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

type
  TFPanel1 = class(TForm)
    BStart: TButton;
    ShSpiel: TShape;
    Panel: TPanel;
    Timer1: TTimer;
    procedure BStartClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure PanelWeg(Sender:TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FPanel1: TFPanel1;
  zaehler: integer;

implementation


{$R *.dfm}

procedure TFPanel1.BStartClick(Sender: TObject);
var i: integer;
begin
  Timer1.Enabled:= True ;
    for i:= 0 to 4 do begin
      Panel:= TPanel.Create (FPanel1);
      Panel.Color:= clYellow;
      Panel.Caption:= 'F';
      Panel.Width:= 49;
      Panel.Height:= 33;
      Panel.Left:= Random(ShSpiel.Width-60)+30;
      Panel.Top:= Random(ShSpiel.Height-50)+30;
      Panel.Parent:= FPanel1;
      Panel.OnClick:= PanelWeg;
    end;
  Punktefenster:=TPunktefenster.Create(self);
  Punktefenster.show;
  Punktefenster.MPktAnzeige.Lines.Add(IntToStr(Zaehler)+' '+'Punkte');
end;

procedure TFPanel1.FormCreate(Sender: TObject);
begin
  randomize;
  Zaehler:=5;
end;

procedure TFPanel1.Timer1Timer(Sender: TObject);
var i: integer;
begin
  Panel:= TPanel.Create (FPanel1);
  Panel.Color:= clYellow;
  Panel.Caption:= 'F';
  Panel.Width:= 49;
  Panel.Height:= 33;
  Panel.Left:= Random(ShSpiel.Width-60)+30;
  Panel.Top:= Random(ShSpiel.Height-50)+30;
  Panel.Parent:= FPanel1;
  Panel.OnClick:= PanelWeg;
  Zaehler:= Zaehler-1;

    for i:=ComponentCount-1 downto 0 do begin
       if Components[i] is TPanel then begin
          if Panel.Visible= True then begin
        TPanel(Components[i]).Left:= Random(ShSpiel.Width-60)+30;
        TPanel(Components[i]).Top:= Random(ShSpiel.Height-50)+30;
        Punktefenster.MPktAnzeige.Lines.Add(IntToStr(Zaehler)+' '+'Punkte');
        end
      else begin
        TPanel(Components[i]).Destroy;
      end;
    end;


  end;
if Zaehler = 0 then begin
   Timer1.Enabled:=False;
  ShowMessage('Verloren');
  //break;
  end
  else
if Zaehler = 10 then begin
  Timer1.Enabled:=False;
  ShowMessage('Gewonnen');
  //break;
  end;

end;


procedure TFPanel1.PanelWeg(Sender:TObject);
begin
  TPanel(Sender).Hide;
  Zaehler:= Zaehler+1;
  Punktefenster.MPktAnzeige.Lines.Add(IntToStr(Zaehler)+' '+'Punkte');
end;


end.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz