AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Bitte um Hilfe bei Programm (Pong-Spiel, funktioniert nicht korrekt)
Thema durchsuchen
Ansicht
Themen-Optionen

Bitte um Hilfe bei Programm (Pong-Spiel, funktioniert nicht korrekt)

Ein Thema von TrevorFromGta · begonnen am 14. Jan 2014 · letzter Beitrag vom 14. Jan 2014
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.343 Beiträge
 
Delphi 12 Athens
 
#1

AW: Bitte um Hilfe bei Programm (Pong-Spiel, funktioniert nicht korrekt)

  Alt 14. Jan 2014, 17:48
Um es mit anderen Worten zu sagen:

- eine halbwegs "ordentliche" Codeformatierung hilft enorm beim Verstehen von Code, vorallem was wie zusammengehört.
- und "sprechende" Namen für Komponenten helfen noch viel mehr, weil man dann weiß wofür die Komponente ist

Mit dem Debugger sollte man in Grundlegenden Dingen schon zurecht kommen und ihn vorallem vauch verwenden.
- was soll gemacht werden (das weiß man ja selber)
- was macht das Programm wirklich (das sieht man im Debugger)
- - Haltepunkte setzen
- - mit F7/F8 Schritt für Schritt den Code durchgehn
- - sich Werte von Variablen ansehen
Und mit dem Wissen kann man nun die gefundenen Fehler beheben.

Zitat:
Delphi-Quellcode:
procedure TForm1.Start1Click(Sender: TObject);
begin
 with form1 do
horiz:= 4;
horiz2:= 4;
vert:= -2;
timer1.Enabled:= true;
timer2.Enabled:= false;
end;
Delphi-Quellcode:
procedure TForm1.Start1Click(Sender: TObject);
begin
  with form1 do
    horiz:= 4;
  horiz2:= 4;
  vert:= -2;
  timer1.Enabled:= true;
  timer2.Enabled:= false;
end;
Das WITH gehört also nur zur ersten Variable.

Außerdem: Warum greifst du innerhalb von TForm1 auf die Form1?
Du bist ja schon da drin und mußt dir nicht nochmal die (eventuell sogar falsche) Referenz besorgen.
(vorallem wenn die TForm mehrfach erstellt wurde, steht in Form1 nicht unbedingt das, was man möchte)

Zitat:
Delphi-Quellcode:
if ((shape3.Left <= shape1.Left + shape1.width ) and (shape3.Top >= shape1.Top - 10) and (shape3.Top <= shape1.Top + shape1.Height))
then
direction:= 5;
if direction = 1 then
timer1.Enabled:= false;
timer2.Enabled:= true;
end;
Oder das aus Timer1Timer
Delphi-Quellcode:
  if ((shape3.Left <= shape1.Left + shape1.width ) and (shape3.Top >= shape1.Top - 10) and (shape3.Top <= shape1.Top + shape1.Height)) then
    direction:= 5;
  if direction = 1 then
    timer1.Enabled:= false;
  timer2.Enabled:= true;
end;
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (14. Jan 2014 um 17:58 Uhr)
  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 20:32 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