Einzelnen Beitrag anzeigen

Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Merken, ob ein Objekt auf den Koordinaten ist

  Alt 15. Dez 2009, 18:26
Da meine Objekte bis auf die eine Kugel fest sitzen, könnte ich bei Programmstart eine Liste erstellen, die alle belegten Koordinaten speichert. Wenn man nun die Kugel bewegt, dann wird geprüft, ob die neuen Koordinaten belegt sind und wenn schon, wird die Kugel auf die letzte Position gesetzt.
Das wäre ja möglich, doch müsste ich wirklich jedes Objekt damit verbinden... Ging das alles auch irgendwie unabhängig von Namen?

Das Spiel soll ähnlich sein wie Labyrinth. Ich will 2 Listen haben: Erste Liste: Position der Löcher und zweite Liste Position der Balken. Jetzt soll das Programm am Anfang alle Shapes mit der Form Kreis an die Funktion Datenbank1 abgeben und die macht dann eine verschachtelte Schleife:

Delphi-Quellcode:
if Shape.shape=stRectangle then
begin
for i:=0 to Shape.left+shape.width-shape.left do
  begin
    for h:=0 to Shape.top+shape.heigth-shape.top do
        begin
          //Schreibe Koordinaten in die Liste Balken
        end;
  end;
end
else if Shape.shape=stCircle then
  begin
       if Shape.name="Ball" then exit; //Verhindert, dass der Ball selber in die Liste kommt
       for h:=0 to Shape.top+shape.heigth-shape.top do
        begin
          //Schreibe Koordinaten in die Liste Löcher
        end;
  end;
Da ich aber später noch eine Art "Mapeditor" erstellen will, mit dem man Position und Größe der einzelnen Shapes festlegen kann und eigentlich beliebig viele hinzufügen könnte, kann ich das nicht mit jedem Shape einzeln machen...
  Mit Zitat antworten Zitat