Snake sitzt direkt aneinander???

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

M0rgenstern

Betreff: Snake sitzt direkt aneinander???

BeitragFr, Jul 31, 2009 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo an alle...

Für mein Snake Klon halt ich mich teilweise an das Tutorial hier im Forum.

Und als ich eben dem anderen geholfen habe, da hats auch geklappt... Aber bei mir stimmts einfach nicht...

Ich weiß wirklich nicht warum.
Meine Schlangenteile überlappen sich, auch am Kopf... Also die Schlange die eigentlich 5 Teile + Kopf lang sein müsste, sieht total blöd aus....

Hier ist mal der Code der Funktionen und der Hauptschleife:

Code: [AUSKLAPPEN]
Repeat
 WaitTimer FTimer
   Cls

   SteuerungSchlange()
   SchwanzErstellen()
   AllesZeichnen()

 Flip 0
Until KeyDown(1)


Code: [AUSKLAPPEN]
Function AllesZeichnen()

   ;Der Kopf
   Color 255,255,255
   

   For Teil.TSchwanz = Each TSchwanz
   
      Select Richtung
   
         Case Hoch
            Oval Teil\Sx#, Teil\Sy#, 10, 13, 0

         Case Runter
            Oval Teil\Sx#, Teil\Sy#, 10, 13, 0
         
         Case Links
            Oval Teil\Sx#, Teil\Sy#, 13, 10, 0

         Case Rechts
            Oval Teil\Sx#, Teil\Sy#, 13, 10, 0
            
      
      End Select

         
   Next
   
      Select Richtung
   
         Case Hoch
            Oval Kopf\Kx#, Kopf\Ky#, 10, 13, 1

         Case Runter
            Oval Kopf\Kx#, Kopf\Ky#, 10, 13, 1
         
         Case Links
            Oval Kopf\Kx#, Kopf\Ky#, 13, 10, 1

         Case Rechts
            Oval Kopf\Kx#, Kopf\Ky#, 13, 10, 1
            
      
      End Select
            


End Function


Function SteuerungSchlange()

   Select Richtung ;Die Richtung bestimmen
   
      Case Hoch
         Kopf\Ky# = Kopf\Ky# - Kopf\Speed#
         
      Case Runter
         Kopf\Ky# = Kopf\Ky# + Kopf\Speed#
         
      Case Rechts
         Kopf\Kx# = Kopf\Kx# + Kopf\Speed#
         
      Case Links
         Kopf\Kx# = Kopf\Kx# - Kopf\Speed#
         
   End Select
   

   If KeyHit(200) And Richtung <> Runter Then Richtung = Hoch ;Hoch Steuern
   If KeyHit(208) And Richtung <> Hoch Then Richtung = Runter ;Runter Steuern
   If KeyHit(203) And Richtung <> Rechts Then Richtung = Links ;Links Steuern
   If KeyHit(205) And Richtung <> Links Then Richtung = Rechts ;Rechts Steuern
   

   
   If Kopf\Kx# >= GraphicsWidth() Then GameOver()
   If Kopf\Kx# <= 0 Then GameOver()
   If Kopf\Ky# >= GraphicsHeight() Then GameOver()
   If Kopf\Ky# <= 0 Then GameOver()


End Function


Function SchwanzErstellen()

   Teil.TSchwanz = New TSchwanz
      Teil\Sx# = Kopf\Kx#
      Teil\Sy# = Kopf\Ky#
   Delete First TSchwanz

End Function


Function GameOver()

   ClsColor 0, 0, 0
    Cls
   
   Color 255, 0, 0
   Text GraphicsWidth()/2, GraphicsHeight()/2, "VERLOREN!", 1

End Function


Achja, hier noch vor der Hauptschleife:

Code: [AUSKLAPPEN]
For i=0 To 4 ;Vier Körperteile zu beginn
    Teil.TSchwanz = New TSchwanz
      Teil\Sx# = Kopf\Kx# - i;Damit die Schlange nach Westen gerichtet ist
      Teil\Sy# = Kopf\Ky#
Next


Hoffentlich könnt ihr mir helfen....

Lg, M0rgenstern

SpionAtom

BeitragFr, Jul 31, 2009 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du soviel Code postest, kannst du auch gleich alles posten.
Im Moment zwingst du uns dazu, den Code zusammenzukopieren, und zu ergänzen und zu schauen, was passiert. Denn das eigentliche Problem lautet bei dir nur: Es sieht blöd aus.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

M0rgenstern

BeitragFr, Jul 31, 2009 23:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, da ich nicht weiß, WO im COde der Fehler genau liegt hab ich alles geschickt... Dann werde ich hier mal die FUnktionen einzeln darstellen, vllt ist das dann besser, sry musste direkt weg deswegen wars ein wenig unübersichtlich...

Code: [AUSKLAPPEN]
Function AllesZeichnen()

   ;Der Kopf
   Color 255,255,255
   

   For Teil.TSchwanz = Each TSchwanz
   
      Select Richtung
   
         Case Hoch
            Oval Teil\Sx#, Teil\Sy#, 10, 13, 0

         Case Runter
            Oval Teil\Sx#, Teil\Sy#, 10, 13, 0
         
         Case Links
            Oval Teil\Sx#, Teil\Sy#, 13, 10, 0

         Case Rechts
            Oval Teil\Sx#, Teil\Sy#, 13, 10, 0
            
      
      End Select

         
   Next
   
      Select Richtung
   
         Case Hoch
            Oval Kopf\Kx#, Kopf\Ky#, 10, 13, 1

         Case Runter
            Oval Kopf\Kx#, Kopf\Ky#, 10, 13, 1
         
         Case Links
            Oval Kopf\Kx#, Kopf\Ky#, 13, 10, 1

         Case Rechts
            Oval Kopf\Kx#, Kopf\Ky#, 13, 10, 1
            
      
      End Select
            


End Function


Diese Funktion zeichnet (bisher) den Kopf und die Schwanzteile. Die Select Case Abfrage ist einfach nur da um die Ellipsen in die richtige Richtung zu drehen.


Code: [AUSKLAPPEN]
Function SteuerungSchlange()

   Select Richtung ;Die Richtung bestimmen
   
      Case Hoch
         Kopf\Ky# = Kopf\Ky# - Kopf\Speed#
         
      Case Runter
         Kopf\Ky# = Kopf\Ky# + Kopf\Speed#
         
      Case Rechts
         Kopf\Kx# = Kopf\Kx# + Kopf\Speed#
         
      Case Links
         Kopf\Kx# = Kopf\Kx# - Kopf\Speed#
         
   End Select
   

   If KeyHit(200) And Richtung <> Runter Then Richtung = Hoch ;Hoch Steuern
   If KeyHit(208) And Richtung <> Hoch Then Richtung = Runter ;Runter Steuern
   If KeyHit(203) And Richtung <> Rechts Then Richtung = Links ;Links Steuern
   If KeyHit(205) And Richtung <> Links Then Richtung = Rechts ;Rechts Steuern
   

   
   If Kopf\Kx# >= GraphicsWidth() Then GameOver()
   If Kopf\Kx# <= 0 Then GameOver()
   If Kopf\Ky# >= GraphicsHeight() Then GameOver()
   If Kopf\Ky# <= 0 Then GameOver()


End Function


Mit dieser Funktion wird die Schlange gesteuert und bewegt (bzw um genau zu sein nur der Kopf).



Code: [AUSKLAPPEN]
Function SchwanzErstellen()

   Teil.TSchwanz = New TSchwanz
      Teil\Sx# = Kopf\Kx#
      Teil\Sy# = Kopf\Ky#
   Delete First TSchwanz

End Function


Mit der Funktion wird auch der Schwanz bewegt... Indem ein neues Teil weiter vorne erstellt wird und das letzte gelöscht wird.



Die GameOver Funktion lasse ich weg weil sie irrelevant ist für das Problem.

reihenfolge in der Hauptschleife:

Zitat:
SteuerungSchlange()
SchwanzErstellen()
AllesZeichnen()




Hoffe so ists besser, tut mir leid.


Lg, M0rgenstern

M0rgenstern

BeitragSa, Aug 01, 2009 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, fehlt noch irgendwas?
Oder findet niemand den Fehler?

Ich hoffe mir kann doch noch jemand helfen.

Lg, M0rgenstern

Nicdel

BeitragSa, Aug 01, 2009 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Niemand hat Lust sich alles zusammenzukopieren...
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

M0rgenstern

BeitragSa, Aug 01, 2009 13:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Öhm, Der eine sagt, ich soll nicht den ganzen Code senden. Dann schreib ich jede Funktion einzeln hin, dann sagt ein anderer keiner will alles zusammenkopieren.

Wie soll ich es denn bitte richtig machen? Ich würds ja gern so machen wies richtig ist


Lg, m0rgenstern

Nicdel

BeitragSa, Aug 01, 2009 13:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Zeig den ganzen Code in einer Codebox.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

M0rgenstern

BeitragSa, Aug 01, 2009 13:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
AppTitle "Snake"
Graphics 800,600,32,2
SetBuffer BackBuffer()

ClsColor 100,180,120
Cls


Global FTimer = CreateTimer(50)


;Schablone für Teile
Type TSchwanz
   Field Sx#
   Field Sy#
End Type

Type TKopf
   Field Kx#
   Field Ky#
   Field Speed#
End Type


Const Hoch = 1
Const Runter = 2
Const Links = 3
Const Rechts = 4
Global Richtung = Rechts


Global Kopf.TKopf = New TKopf
   Kopf\Kx# = GraphicsWidth()/2
   Kopf\Ky# = GraphicsHeight()/2
   Kopf\Speed# = 2


For i=0 To 4 ;Vier Körperteile zu beginn
    Teil.TSchwanz = New TSchwanz
      Teil\Sx# = Kopf\Kx# + 4 - i;Damit die Schlange nach Westen gerichtet ist
      Teil\Sy# = Kopf\Ky#
Next


Repeat
 WaitTimer FTimer
   Cls

   SteuerungSchlange()
   SchwanzErstellen()
   AllesZeichnen()
   

 Flip 0
Until KeyDown(1)



Function AllesZeichnen()

   ;Der Kopf
   Color 255,255,255
   

   For Teil.TSchwanz = Each TSchwanz
   
      Select Richtung
   
         Case Hoch
            Oval Teil\Sx#, Teil\Sy#, 10, 13, 0

         Case Runter
            Oval Teil\Sx#, Teil\Sy#, 10, 13, 0
         
         Case Links
            Oval Teil\Sx#, Teil\Sy#, 13, 10, 0

         Case Rechts
            Oval Teil\Sx#, Teil\Sy#, 13, 10, 0
            
      
      End Select

         
   Next
   
      Select Richtung
   
         Case Hoch
            Oval Kopf\Kx#, Kopf\Ky#, 10, 13, 1

         Case Runter
            Oval Kopf\Kx#, Kopf\Ky#, 10, 13, 1
         
         Case Links
            Oval Kopf\Kx#, Kopf\Ky#, 13, 10, 1

         Case Rechts
            Oval Kopf\Kx#, Kopf\Ky#, 13, 10, 1
            
      
      End Select
            


End Function


Function SteuerungSchlange()

   Select Richtung ;Die Richtung bestimmen
   
      Case Hoch
         Kopf\Ky# = Kopf\Ky# - Kopf\Speed#
         
      Case Runter
         Kopf\Ky# = Kopf\Ky# + Kopf\Speed#
         
      Case Rechts
         Kopf\Kx# = Kopf\Kx# + Kopf\Speed#
         
      Case Links
         Kopf\Kx# = Kopf\Kx# - Kopf\Speed#
         
   End Select
   


   If KeyHit(200) And Richtung <> Runter Then Richtung = Hoch ;Hoch Steuern
   If KeyHit(208) And Richtung <> Hoch Then Richtung = Runter ;Runter Steuern
   If KeyHit(203) And Richtung <> Rechts Then Richtung = Links ;Links Steuern
   If KeyHit(205) And Richtung <> Links Then Richtung = Rechts ;Rechts Steuern
   

   
   If Kopf\Kx# >= GraphicsWidth() Then GameOver()
   If Kopf\Kx# <= 0 Then GameOver()
   If Kopf\Ky# >= GraphicsHeight() Then GameOver()
   If Kopf\Ky# <= 0 Then GameOver()


End Function


Function SchwanzErstellen()

   Teil.TSchwanz = New TSchwanz
      Teil\Sx# = Kopf\Kx#
      Teil\Sy# = Kopf\Ky#
   Delete First TSchwanz
   

End Function


Function GameOver()

   ClsColor 0, 0, 0
    Cls
   
   Color 255, 0, 0
   Text GraphicsWidth()/2, GraphicsHeight()/2, "VERLOREN!", 1

End Function

FreeTimer FTimer
End


So, das ist der ganze Code.
Ich dachte, es sei falsch alles zu schicken, weil es so oft heißt "Wir werden uns nicht aus dem ganzen Code das Problem raussuchen"

Lg, M0rgenstern.

sorry nochmal

M0rgenstern

BeitragSa, Aug 01, 2009 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
So, also, ist das jetzt besser so?

Oder immernoch was falsch dran? Ich hoff wirklich ich habs richtig gemacht...

Lg, M0rgenstern

Holzchopf

Meisterpacker

BeitragSa, Aug 01, 2009 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Du solltest dein Konzept überdenken... Du erstellst nämlich in jedem Frame ein Schwanzteil an der Position des Kopfes, löscht dafür das hinterste. Logischerweise sind so die Schwanzteile immer nur so weit von einaner entfernt, wie sich der Kopf pro Frame bewegt (= Geschwindigkeit). Dh, die Schlange wird gestreckt, wenn du schneller Fährst.

Eine Möglichkeit, dies zu verhindern, wäre, den Verlauf des Kopfes zu speichern (so, wie du es bereits jetzt tust, nämlich immer die aktuelle Position in ein Type zu schieben), aber nicht an jeder Position ein Schwanzteil zu zeichnen, sondern nur dort, wo der Abstand zum vorderen Teil halt eben so gross ist, wie er sein sollte.

Ich hoffe, ich kann den Post noch absenden, bevor ein Mod den Thread sperrt. Doppelposts sind nämlich wahnsinnig ungern gesehen und du hast dir gleich zwei Päckchen davon geleistet...

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Eingeproggt

BeitragSa, Aug 01, 2009 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, also das mitn Code hast richtig gemacht, das mitn posten hier im Forum nicht: Keine Doppelposts bitte.

Hab mir deinen Code angeschaut bzw. getestet (Ist ja zum Glück lauffähig)
Kenne das Vorbild-Tutorial nicht aber die Ursache liegt beim Schwanz erstellen. Du erstellst jedes Frame (Also nachdem sich die Schlange um Speed bewegt hat) einen neuen Schwanzteil.
Entweder Speed gleichsetzen mit der Schwanzgröße oder die Sache überhaupt anders angehen und alle Schwnaztiele einzeln steuern.

EDIT: Lol, jetzt war Holzchopf schneller Wink
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

M0rgenstern

BeitragSa, Aug 01, 2009 16:22
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/foru...ight=snake

Das ist das Vorbild Tutorial.
Sorry wegen den doppelposts werd ich ändern. Verdammt.
Naja, in dem Programm, bei dem ich davor geholfen habe, war das auch so, ich kann mal den Code kurz Posten:



Code: [AUSKLAPPEN]
AppTitle "Snake"
Graphics 600,400,16,2
SetBuffer BackBuffer()

ClsColor 255,255,255
Cls

timer = CreateTimer(50)
Global x = 5
Global y = 195
Global richtung$ = "r"
Global punkte = 0
Global geschwindigkeit = 5
Global startzeit# = MilliSecs()
Global futter = 0
Global gefressen = 0

;Schablone für Teile
Type TTeil
Field x
Field y
End Type

For i=0 To 4 ;Vier Körperteile zu beginn
Teil.TTeil = New TTeil
Teil\x = x + 4 - i ;Damit die Schlange nach Westen gerichtet ist
Teil\y = y
Next

Repeat
WaitTimer(timer)
Cls


;Zufallskoordinaten des Futters
If futter = 0 Then
futter_x = Rand (0,580)
futter_y = Rand (0,380)
futter = 1
EndIf

;"Fahren" mit der Schlange
Select richtung$
Case "r"
x = x + geschwindigkeit
Case "l"
x = x - geschwindigkeit
Case "o"
y = y - geschwindigkeit
Case "u"
y = y + geschwindigkeit
End Select

;Testen ob Schlange auf Futter trifft
If RectsOverlap (x,y,10,10,futter_x,futter_y,25,25) Then
futter()

EndIf

Teil.TTeil = New TTeil ;Instanz erstellen
Teil\x = x ;Position des Kopfes
Teil\y = y

If gefressen = 0 Then
 Delete First TTeil
EndIf
 gefressen = 0

;rechts
If KeyHit (205) And richtung$ <> "l" Then
richtung$ = "r"
;links
ElseIf KeyHit (203) And richtung$ <> "r" Then
richtung$ = "l"
;oben
ElseIf KeyHit (200) And richtung$ <> "u" Then
richtung$ = "o"
;unten
ElseIf KeyHit (208) And richtung$ <> "o" Then
richtung$ = "u"
EndIf

If x > 594 Or x < 0 Or y > 394 Or y < 0 Then
verloren()
EndIf




;Zeichnen des Futters
Color 255,0,0
Rect futter_x, futter_y,25,25,1

;Alle Körperteile durchgehen
For Teil.TTeil = Each TTeil
   Color 0,0,255
   Rect Teil\x,Teil\y,10,10,1
   
   If Teil\x = x And Teil\y = y And (Teil <> Last TTeil) Then verloren()
Next

;Zeichnen der Schlange
Color 0,0,255
Rect x,y,10,10,1

Flip 0
Until KeyDown(1)


Function verloren()
Cls
Color 0,0,0
Locate 200,100
Print "Verloren !"
Locate 200,150
Print "Punktestand: " +punkte + " Punkte"
zeit# = MilliSecs() / 1000 - startzeit# / 1000
Locate 200,200
Print "Zeit: " +zeit# + " Sekunden"
FlushKeys
WaitKey
End
End Function

Function futter()
punkte = punkte + 10
futter = 0
gefressen = 1
Return punkte
Return futter
Return gefressen
End Function

FlushKeys
WaitKey


FreeTimer timer
End



Und wenn ich das so vergleiche ist das vom Prinzip her das gleiche, deshalb versteh ich das ganze nicht.

@ Eingeproggt wenn ich den Speed gleichsetzte mit der Schwanzgröße (ich schätze du meinst die Anzahl der Teile), dann ist es immernoch zu sehr verschoben.


Lg, M0rgenstern.

Danke für Eure Antworten, ich hab jetzt wenigstens ne Richtung.

Edit: Verdammt, wollte die Doppelposts in die anderen Posts einfügen und löschen, geht ja aber nicht. Sorry.

Eingeproggt

BeitragSa, Aug 01, 2009 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meinte die Größe die du beim zeichnen (Oval) angibst, also 10.

Und bei deinem "neuen" (Naja, eig alten^^) Code seh ich n Problem:

Code: [AUSKLAPPEN]
Function futter()
punkte = punkte + 10
futter = 0
gefressen = 1
Return punkte
Return futter
Return gefressen
End Function


Eine Function kann nur einen Wert zurückgeben, danach wird sie verlassen. Sprich diese Funktion gibt nur die punkte zurück. Was aber ohnehin unsinnig ist, da diese Variablen gobal sind.
Genauer hab ichs mir noch nicht angesehen.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

M0rgenstern

BeitragSa, Aug 01, 2009 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich kann dir sagen, dass sie alle zurückgibt.
Die Punkte funktionieren und die anderen beiden Variablen auch.
Ansonsten sähe das ganze ein wenig anders aus.
Die Punkte werden hochgezählt und neues Essen wird erstellt und die Schlange wird auch länger.

Öhm, dann muss ich das anders lösen, weil ich die Geschwindigkeit nicht auf 10 setzen will.

Lg, M0rgenstern

Nicdel

BeitragSa, Aug 01, 2009 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Es wird nicht zurückgegeben aber trotzdem verändert, da die Variablen global sind.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

M0rgenstern

BeitragSa, Aug 01, 2009 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, stimmt auch wieder.
Aber ich sitzt hier jetzt schon wirklich dauernd vor dem Code und seh den prinzipiellen Unterschied nicht.
Die Teile haben in etwa die selbe Größe. Und wenn ich Speed auf 5 stelle dann bringt das auch nicht viel mehr.
Bin ich wirklich so blind, dass ich den Unterschied nicht finde?

Lg, m0rgenstern

Eingeproggt

BeitragSa, Aug 01, 2009 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mir das Tut mal angesehen und dort is der Ansatz dass das Spiel auf einer Art "Tilemap" abläuft. Naja, nicht ganz, aber es wird gerastert. Die Bewegung ist in 1er-Schritten und alles wird "10-fach vergrößert" gezeihcnet. Weiß nicht wie ich es besser erklären soll aber schau dir das noch mal genau an, beim Zeichnen steht da:
Code: [AUSKLAPPEN]
Teil\x*10,Teil\y*10


Es ist also etwas klein wenig anderes als du versuchst, aber ich würd dir vorschlagen dass du das zuerst durcharbeitest und versuchst zu verstehen.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

M0rgenstern

BeitragSa, Aug 01, 2009 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Den Teil von dem Tut konnt ich ehrlich gesagt wirklich nicht nachvollziehen.
Aber das ist ja auch irgendwo unmöglich das so zu schreiben.
Überlegen wir mal, ich hab eine Auflösung von 800*600. wenn die Teile also bei 400/300 sind, und ich rechne das mal 10, dann bin ich doch bei 800/600...

Oder hab ich nen Denkfehler drin?
Lg, M0rgenstern

Eingeproggt

BeitragSa, Aug 01, 2009 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Denkfehler ist, dass du bei 800*600 und einer Rastergröße von 10*10 nur noch 80*60 Felder hast. Die Mitte wäre dann 40/30.

Ist in dem Tut so (bzw so ähnlich, dort ist halt ein kleineres Feld, ändert nix am Prinzip) und wie gesagt, du solltest das zuerst verstehen.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

M0rgenstern

BeitragSa, Aug 01, 2009 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, aber das hat doch tortzdem nichts mit den beiden Programmen zu tun.
Ich verwende es bei dem ersten ja auch nicht und da klappts.
Da liegt ja mein Problem.
Warum gehts bei dem einen, bei dem anderen aber nicht?

Lg, M0rgenstern

(Keine Sorge ich werde mir das im Tut trotzdem nochmal ansehen)

Edit: Das Tutorial hab ich jetzt verstanden. Aber da "muss" man dann mit dem Raster arbeiten, wenn mans so macht. Also da darf die Schlange im Grunde immer nur ein Rasterpunkt weiter bewegt werden. Dann dürfte sich die Geschwindigkeit der Schlange aber niemals ändern, weil sie sonst irgendwann aussehen würde als würde sie "springen".
Und das kann ich ehrlich gesagt nicht gebrauchen...

Außerdem, bei dem ersten hab ichs ja auch ohne Raster gemacht.

Lg, M0rgenstern

Edit2: Jetzt mal wirklich sau blöd gefragt, aber das ist der einzige Unterschied der mir jettz so wirklich auffällt: Kann es sein, dass das Problem daher kommt, dass ich in dem neuen Code auch nen Type für den Kopf benutze oder dass ich alles in Funktionen verpacke? Ich kann es mri eigentlich kaum vorstellen, aber nur mal so ne Idee...

Lg, M0rgenstern

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group