Problem: Snake Spiel Kolisionsberehnung und Steuerung Hilfe
-
Yazoo schrieb:
zu Unskilled: erstma danke für deinen aufwand, aber das bringt mir nichts, da ich nicht nur in integer schritten sondern feiner arbeiten will, also nicht wie bei diesen uralt nokia handys wo man eh nur ne 90° drehung und in ganzahlenschritten gehen kann, deshalb funktioniert das nicht, oder ich habs nicht verstanden.
Vermutlich hast du es einfach nicht verstanden...
oder willst du mir erzählen, dass dir die Genauigkeit von 1° nicht reicht? Aber das war ja auch nur nen Tip am Rande...
Es ging eigtl hauptsächlich um den vector, den du aber wahrscheinlich wirklich nicht nehmen wolltest - naja, musst du ja selbst wissen, aber ich find die lösung sehr viel besser als deine jetzigebb
-
Fellhuhn schrieb:
Wenn du Fließkommawürmer haben willst, brauchst du dir doch nur die Punkte merken, an denen der Wurm seine Richtung ändert. Plus Schwanzende und Kopfposition natürlich. Und die beiden jeden Zyklus in Kopfrichtung verschieben. Im Grunde also Linien verwalten.
das kling logisch, nur habe ich zur zeit nicht wirklich eine vorstellung wie das als code aussieht.
könntest du mir vielleicht netterweise das mal als code ziegen?thx
-
Im Grunde hast du einen vector in dem mindestens zwei Punkte drin sind: Kopf und Schwanz.
Jeden Zyklus bewegst du den Kopf weiter und den Schwanz in Richtung des nächsten Punktes (in diesem Fall den Kopf).
Drehst du dich nun, hängst du die Position vor dem Kopf in die Liste ein. Also hast du nun drei Elemente, der Kopf bewegt sich in die neue Richtung (immernoch 3 Elemente), der zweite Punkt verändert sich nicht und der letzte, der Schwanz, bewegt sich nun auf den zweiten Punkt zu (halt den nächsten im vector).
Wenn der Abstand zwischen Schwanz und nächsten Punkt einen Schwellwert erreicht, löschst du den zweiten Punkt einfach aus dem vector und somit läuft der Schwanz weiter zum nächsten Punkt. Bist du nicht wieder abgebogen hast du wieder einen vector mit zwei Punkten und bewegst dich auf den Kopf zu.
So in etwa sollte das funktionieren.
-
ok ich galub das habe ich verstanden.
ich weiß nur noch nicht wie ich dann rendere, schließlich hat die Schlange mehr segmente als nur den kopf und das ende vom schwanz
-
Yazoo schrieb:
ok ich galub das habe ich verstanden.
ich weiß nur noch nicht wie ich dann rendere, schließlich hat die Schlange mehr segmente als nur den kopf und das ende vom schwanzDu renderst mehrmals?
Kopf ist ein seperates Objekt und auch der Schwanz. Die Teile dazwischen können ja immer die gleichen sein.Ist jetzt nicht böse gemeint, aber ich habe irgendwie das laue Gefühl, dass dir noch mächtig Grundlagen fehlen.. Vlt. wäre es besser mal etwas simpleres, ev. 2D zu machen, bevor du dich mit 3D auseindandersetzt..
-
Wo gibt es Tutorials zu so 2D Sachen würde ich mir nähmlich auch mal gerne anschauen.
-
.... schrieb:
Wo gibt es Tutorials zu so 2D Sachen würde ich mir nähmlich auch mal gerne anschauen.
Hier gibts ein Haufen Tutorals. Ansonsten kannste auch einfach mal ein paar Source Codes von kleinen Spielen anschauen. Das hilft vlt. auch am Anfang.
http://www.robsite.de/index.php
-
Da gibt unter C++ aber keine Spiele Tutorials
Von der Seite hab ich mal Tutorials für Blitz Basic runtergeladen ^^
-
Falls es doch 3D sein soll, sind hier sehr gute OpenGL Tutorials: http://nehe.gamedev.net/
Wobei man OpenGL auch sehr gut für 2D benutzen kann.
-
Oha die Nehe Sachen kenn ich schon ^^
Ich hab eigentlich ehr an etwas leichters gedacht^^
-