Einzelnen Beitrag anzeigen

Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#28

Re: Allgemeines Problem in meinem Programm/ Threads!?

  Alt 4. Mär 2010, 00:28
Nabend.
Ich werd erstmal warten, ob du so noch weiter kommst, aber ein Tipp noch ... Wenn du die Schleife über alle Spielfelder machst (du könntest sie auch über alle Mannchen/Bomben machen, dann läuft sie nicht 1xx mal durch ), setze deinen Brechpunkt vom Debugger doch in eine weitere Bedingung:

Delphi-Quellcode:
for i := 0 to 11 do
  for n := 0 to 11 do
    if Spielfeld[i][n] is TMaennchen then
    begin
      // tu was mit dem maennchen und hier rein den breakpoint setzen
      TMaennchen(Spielfeld[i][n]).TuWas;
    end;
Dafür muss Spielfeld natürlich so aussehen:

Delphi-Quellcode:
var
  Spielfeld: array[0..10, 0..10] of TObject;
Und man sollte evtl am Anfang jedes Feld mit nil initialisieren. Ist aber auch sehr nervig, wenn sich ein Maennchen bewegt, es immer im Spielfeld auf die neue Koordinate zu setzen. Führt ausserdem dazu, dass auf einem Feld immer nur ein Spieler/Bombe sein kann, nichts gleichzeitig (Nach dem Bombe legen bleibt man ja drauf stehen, deshalb ist das schon ein starkes Minus). Du solltest also eventuell überlegen, ob das Spielfeld nicht über mehrere Listen verwaltet werden soll, wie Bomben und Mannchen, in einer großen Liste. Jede TBombe hat X und Y als Eigenschaft der Klasse, so wie das TMaennchen auch. Dann gehst du einfach über diese Liste und weißst ja direkt, wo das Element, was du in dem Schleifendurchlauf gerade hast, platziert ist... War jetzt doch ein etwas längerer Post, aber egal...

HTH
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat