AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Tischtennis Problem beim 2. Mal
Thema durchsuchen
Ansicht
Themen-Optionen

Tischtennis Problem beim 2. Mal

Ein Thema von hans ditter · begonnen am 12. Jul 2010 · letzter Beitrag vom 14. Jul 2010
Antwort Antwort
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

AW: Tischtennis Problem beim 2. Mal

  Alt 12. Jul 2010, 23:39
Wo setzt du denn die Position von Position zurück auf 0? (scrbCountdown.Position)

Noch ein paar Tipps:
Delphi-Quellcode:
if shBall.Left < shRacketL.Left then //Rückschlag von l. Wand
    begin
      shBall.Brush.Color:=clred;
      timBall.Enabled:=false;
      bGameOver:=true;
    end;
    // Mach doch hier ein ELSE-IF, denn du musst hier ja nicht mehr
    // wenn weiter oben schon das if true ist
    if shBall.Left > shRacketR.Left then //Rückschlag von r. Wand
    begin
      shBall.Brush.Color:=clred;
      timBall.Enabled:=false;
      bGameOver:=true;
    end;
Delphi-Quellcode:
 // bitte nicht auf true testen. bGameOver ist doch schon
  // ein Boolean, ergo brauchst du das nicht machen. Gründe hierfür
  // findest du auch im Forum.
  if bGameOver = true then
  begin
    lblCountdown.Visible:=True;
    timCountdown.Enabled:=True;
  end;
end;
Delphi-Quellcode:
{ ... }
  // hier würde ich noch die Reihenfolge ändern
  6: begin
      // lblCountdown.Visible:=False;
      // lblCountdown.Caption:='5 ...';
      // timBall.Enabled:=True;
      // timCountdown.Enabled:=False;
      // bGameOver:=false;

      // nach:

      lblCountdown.Visible:=False;
      lblCountdown.Caption:='5 ...';
      bGameOver:=false;
      timCountdown.Enabled:=False;
      timBall.Enabled:=True;

     // Warum? Weil so sichergestellt ist, dass nicht doch der
     // Timer timBall feuert, obwohl nicht alle Variablen gesetzt
     // sind. Ich weiß, sowas ist kleinlich und kann je nach Interval
     // von timBall nicht eintreten, aber sicher ist sicher. In
     // anderen Fällen kann sowas evtl. schief gehen.
     end;
  end;
end;
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tischtennis Problem beim 2. Mal

  Alt 14. Jul 2010, 07:04
Wo setzt du denn die Position von Position zurück auf 0? (scrbCountdown.Position)
Das ist das Problem. Wenn "timCountdown" aktiviert wird, muss immer auch scrbCountdown.Position zurück auf 0 gesetzt werden.
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Tischtennis Problem beim 2. Mal

  Alt 14. Jul 2010, 13:24
Wo setzt du denn die Position von Position zurück auf 0? (scrbCountdown.Position)
Das ist das Problem. Wenn "timCountdown" aktiviert wird, muss immer auch scrbCountdown.Position zurück auf 0 gesetzt werden.
Erstmal Danke an alle. Und das hab ich dann wohl überlesen. 'Tschuldige bitte! Auf jeden Fall funzt es jetzt!
  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 19:37 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