Thema: FreePascal Vektoriales Rechnen

Einzelnen Beitrag anzeigen

Maurooon

Registriert seit: 7. Dez 2016
70 Beiträge
 
#13

AW: Vektoriales Rechnen

  Alt 12. Mai 2017, 18:33
Hey

Ich glaube, es wäre auch noch ganz interessant, wie deine Datenstruktur intern aussieht: Also wie sind Objekte und Hindernisse repräsentiert?

Beispiel: Man kann zum Beispiel intern ein zweidimensionales Array vorhalten, welche das Spielfeld repräsentieren. Kann man zum Beispiel in einem Schachspiel verwenden, weil da nur eine Figur pro "Zelle" erlaubt ist.
Du merkst dir intern nur für die Figuren die Positionen?

Auch die "Art wie Bewegung" implementiert ist, wäre vmtl. noch informativ: Wie findest du denn bisher heraus, ob deine Figur gegen eine Wand läuft. Im Prinzip ist das eventuell fast das selbe: Ob ein Projektil oder ein Männchen die Wand durchkreuzt, kann je nach Implementierung/Datenhaltung signifikante Unterschiede machen.

Wenn ich jetzt raten müsste, dann könnte ich mir vorstellen, dass du die Hindernisse in einer Art "Liste" (oder listenähnlich) gespeichert hast. Die "naive" Vorgehensweise ist einfach alle durchzutesten. Bei kleinen Szenenaufbauten funktioniert das mit moderner Hardware im Allgemeinen ganz gut. Und 2D spielt auch noch in deine Karten

Brighty
Also Die Figuren sind Images und die Hindernisse Shapes. Wenn die Koordinaten der Figuren mit den Shapes übereinstimmen, dann ist die Bewegung in diese Richtung gesperrt. Frage also alles durch einfache if-Anweisungen ab... eine Liste habe ich nicht, nein Und im Nachhinein noch ein Array auf mein Spielfeld zu verlegen wollte ich eigentlich vermeiden... gibt es keine Funktion die überprüft ob sich zwei gezeichnete Linien kreuzen? Ich könnte ja die Hindernisse sowie eben die Linie zwischen Spieler und KI jeweils zeichnen über Canvas und dann abfragen ob sie sich kreuzen... ist das nicht möglich?
"One of the basic rules of the universe is that nothing is perfect. Perfection simply doesn't exist... Without imperfection, neither you nor I would exist." - Stephen Hawking
  Mit Zitat antworten Zitat