for...next Schleife?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ShadowJumper

Betreff: for...next Schleife?

BeitragDi, Apr 03, 2007 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
weil ich bisher noc nie hier was auf dem Baord geschriben hab, erstmal was über mich:

Name: Jumper
Vorname: Shadow
Alter: 16
Programmiererfahrung: gering
Angefangen mit programmieren: so richtig erst diese/letzte Woche
ICQ: 290-751-858

jetzt zum eigentlichen Grund des Threads:
ich bin dabei ein Snakespiel zu proggen (um halt erfahrung mit der Sprache BB zu bekommen)

folgendes hab ich schon eingebaut:
Aulösung von 1024x768
man kann die richtung ändern
wenn man über den Rand hinaus kommt erscheint die Game Over benachrichtigung
Game Over Benachrichtigung
der Snake bewegt sich automatisch (und in einem Takt von 4Hz^^)

was noch fehlt:
der Körper der Schlange
(n paar andere dinge die ich erst danach einbaue, aber auch leicht gehen)

ich weiß schonmal das man das mit einer (oder mehreren) For...Next Schleife(n)
machen kann
ich weiß nur leider nicht wie (ich hab RobsBBKurs 2x gelesen und das mit Schleifen nocheinmal)
ich hoffe mir kann da jemand helfen und mir nochwas beibringen

ShadowJumper

FreetimeCoder

BeitragMi, Apr 04, 2007 6:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Es kommt drauf an was du machen willst.

Eine For .. Next Schleife wiederholt einfach den in Ihr stehenden Code.

Diese Scheife wiederholt sich 10 mal (von 0 bis 9). i ist dabei eine Laufzeitvariable. Diese ändert Ihren Wert mit jedem Schleifendurchlauf.
Code: [AUSKLAPPEN]
For i=0 to 9
    Print "Bla"
Next


Den Wert von i kann man auch abfragen:
Code: [AUSKLAPPEN]
For i=0 to 9
    Print "i ist "+i
Next


Als letzten Befehl gibt es für die Schleife noch Step:
Code: [AUSKLAPPEN]
For i=0 to 9 Step 2
    Print "i ist "+i
Next

Jetzt wird nur jeder 2. Schritt durchgelaufen.

Wenn du i als Float (Zahl mit Kommastellen) deklarierst (definierst), dann kann Step auch:
Code: [AUSKLAPPEN]
For i#=0 to 9 Step 0.1
    Print "i ist "+i
Next


Jetzt dauerts etwas länger bis die Schleife durchlaufen ist Wink
Step kann auch negativ sein. Dann wird halt rückwerts gezählt.

MfG
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

Darkbyte

BeitragMi, Apr 04, 2007 9:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Er will doch wissen wie man den Körper der Schlange Programmiert oder? (Habe leider keine Ahnung wie man den machen soll Embarassed )

FreetimeCoder

BeitragMi, Apr 04, 2007 9:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh Embarassed xD
Ich glaub das solltest du mit Types machen. Oder mit einem Array. (Überlegen heißts jetzt Wink )
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA

ShadowJumper

BeitragMi, Apr 04, 2007 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
also es ist genau so wie Darkbyte es gesagt hat, ich wollte den Körper zur Schlange machen
und das hab ich vor kurzem geschafft
ich könnte jetzt für jeden anderen neuen schreiben wie es geht, aber es ist immernoch besser selbst darauf zu kommen

ich gebe dafür aber ein paar hinweise:
man braucht für die Position der Körperteile 2 Arrays
(diese sind für die x und y Koordinaten und sollten mindestens (!) so groß sein wie das Spielfeld an felder hat)
und insgesamt 3 For...Next-Schleifen
(für den Anfang, zum ändern der Position und zum Zeichnen)

auch noch wichtig:
wenn man eine For...Next-Schleife mit der Variable i beginnt (z.B. for i = 1 to laenge...) steigert sich der Wert von i immer um 1
dies kann man auch zum rechnen einsetzen oder für Arrays (z.B. ...xa(i) = x(i-1)...)
in dem (angebrochenem) beispiel würde in jedem Durchgang jede einzelne Variable des Arrays xa (z.B. xa(1), xa(2), xa(4)...) den Wert des Vorgängrs bekommen (xa(2) bekommt den Wert von xa(3), xa(3) den von xa(4)...)
ACHTUNG: xa(1) würde den Wert von xa(0) bekommen aber diesem ist kein Wert zugeordnet, also bekommt er den Wert 0 (bei mir war das so)
also muss man nochmal nachträglich einen Wert zuordnen

Ps.: wenn man weiß wies gesht ganz einfach Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group