Einzelnen Beitrag anzeigen

Wolverine

Registriert seit: 30. Mai 2003
Ort: Düsseldorf (NRW)
109 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Problem beim Punktezählen

  Alt 8. Jul 2003, 18:52
Leider klappt es immer noch nicht so ganz.
Ich glaub ich hau mal den kompletten Code aus der Unit hier rein ^^.
Könnte etwas lang werden aber macht nix!!!

Delphi-Quellcode:
unit Unit3;

interface

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

type
  TForm3 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure FormShow(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;
  counter: byte;
  scorespieler1, scorespieler2: integer;



implementation

uses Movement, Unit2, Unit4;

{$R *.dfm}

procedure TForm3.Timer1Timer(Sender: TObject);
begin
dec(counter);
Button1.Caption:='Noch '+IntToStr(counter)+' Sekunden';



if (counter=0)
and (Form1.Visible=True)
or (counter=0)
and (Form2.Visible=True)
then
 begin
  Timer1.Enabled:=False;
  counter:=0;
  Form1.Visible:=False;
  Form2.Visible:=False;
  Form4.Visible:=True;
  //Application.Terminate;
 end;

{Diese Bedingung ruft Form 2 auf, versteckt Form1 und Deaktiviert den Timer
wenn der Zähler =0 UND Form1 sichtbar ist -> Start des Spiels}

if (counter=0)
and (Form1.Visible=True)
then
 begin
  Timer1.Enabled:=false;
  Form2.Visible:=true;
  Form1.Visible:=False;
 end;

{Aktiviert den Timer und setzt den Zähler auf 30, wenn Form2 sichtbar, der Timer
deaktiviert UND der Zähler =0 ist}

if (Form2.Visible=True)
and (Timer1.Enabled=false)
and (Counter = 0)
then
 begin
  Timer1.Enabled:=True;
  counter := 30;
 end;

{Hier werden der Timer deaktiviert, Form1 sichtbar und Form2 versteckt, wenn
Form2 sichtbar, der Zähler =0 UND Form1 versteckt ist}

if (Form2.Visible=True)
and (Counter = 0)
and (Form1.Visible=False)
then
 begin
  Timer1.Enabled:=false;
  Form1.Visible:=true;
  Form2.Visible:=false;
 end;

{Timer wird aktiviert und der Zähler auf 30 gesetzt, wenn Form2 versteckt, Form1
sichtbar UND der Zähler =0 ist}

if (Form2.Visible=false)
and (Form1.Visible=true)
and (counter=0)
then
 begin
   Timer1.Enabled:=True;
   Counter:=30;
 end;

if Form1.Visible then
begin
Inc(scorespieler1);
Form4.Label1.Caption:='Score von Spieler 1= '+IntToStr(scorespieler1);
end;

end;


procedure TForm3.FormShow(Sender: TObject);
begin


if
    (Form1.Kugelrot.Left=40)
  and
    (Form1.Kugelrot.Top=40)
  and
    (Form1.Kugeblau.Left=480)
  and
    (Form1.Kugeblau.Top=296)
  then
begin
counter:=30;
end;
if
    (Form2.Kugelrot.Left=40)
  and
    (Form2.Kugelrot.Top=40)
  and
    (Form2.Kugeblau.Left=480)
  and
    (Form2.Kugeblau.Top=296)
  then
begin
counter:=30;
end;
end;

end.
So, nun viel Spass beim Code zerpflücken, aber nich zu dolle ich brauch den noch !!!
Hoffe damit könnt Ihr mir jetzt aber richtig helfen.
Guido L.
The nice thing about Windows is - It does not just crash, it displays a dialog box and lets you press 'OK' first.
Guten Rutsch und Start ins neue Jahr 2005
  Mit Zitat antworten Zitat