Wie kann ich Sprites automatisch bewegen lassen?

Previous topic - Next topic

wangsi

bin gerade an einem jamaicat clone schreiben.....
Ich werd wahnsinnig wie viel Arbeit hinter so einem kleinen SPiel steckt...
WAHNSINN.
Respekt an alle Proger.

Edit jetzt weiss ich bald nicht mehr was oben und unten ist....

edit : und jetzt noch problem :

IF levelgeschafft=1
 GOSUB nextlevel   <------------------- command not inside function or sub

dabei habe ich die Sub nextlevel schon gemacht und abgeschlossen.
??

HeikoJ

Hallo Wangsi,

so sollte es eigentilch gehen :

....
IF levelgeschafft=1 THEN GOSUB nextlevel  
.....
SUB nextlevel:
.......
ENDSUB
.....

1. beim IF das THEN vergessen ???
2. bei SUB an den Doppelpunkt hinter den Namen gedacht ???
3. ENDSUB vergessen ???

Überprüfe das mal.

Gruß Heiko

Kitty Hello

Meine Tochter lernt gerade lesen ;)
@wangsi - poste mehr code, wenn's  nicht geht. Aber es smuss sein:
SUB nextlevel:
...
ENDSUB

Schranz0r

Und ENDIF nicht vergessen !

Und benutze bitte CodeTag!! (code) HIER DER CODE (/code) <--- Nur mit Eckigen Klammern !!
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard


wangsi

Code (glbasic) Select
IF levelgeschafft=1 THEN GOSUB nextlevel
ENDIF

IF levelz>=6 THEN GOSUB gewonnen
 GOTO neustart
  ENDIF

GLOBAL xpos=100
GLOBAL ypos=100
GLOBAL scrollx=-160
GLOBAL scrolly=-112
GLOBAL flaggea=0
GLOBAL flaggeb=0
GLOBAL flaggec=0
GLOBAL flagged=0
GLOBAL flaggee=0
GLOBAL flaggef=0
GLOBAL flaggeg=0
GLOBAL flaggeh=0
GLOBAL flaggei=0
GLOBAL gegner2x=50
GLOBAL gegner2y=50
GLOBAL gegner2startschalter=0
GLOBAL gegner1coll=0
GLOBAL gegner2coll=0
GLOBAL gegner3coll=0
GLOBAL geschnappt=0




// ------------------------------------------------------------- //
// -=#  NEXTLEVEL  #=-
// ------------------------------------------------------------- //
SUB nextlevel:

feld[6][1]=2
feld[13][1]=2
feld[20][1]=2

feld[6][14]=2
feld[13][14]=2
feld[20][14]=2

feld[6][28]=2
feld[13][28]=2
feld[20][28]=2

levelgeschafft=0
levelz=levelz+1
gegner2aktiv=gegner2aktiv+1
anzahlgegner3=anzahlgegner3+1

IF anzahlgegner3>=2
 anzahlgegner3=2
  ENDIF

IF levelz>=6
 RETURN
  ENDIF

nextlevelmarke:

PRINT "level" + " " + levelz ,50, 50
PRINT "Weiter mit X" 45, 45

SHOWSCREEN

///////////////////////

IF KEY(29)=1
 schalter=1
  ENDIF

IF KEY(29)=0 AND schalter=1
 schalter=0
  RETURN
   ENDIF

 /////////////////////

 GOTO nextlevelmarke



ENDSUB // NEXTLEVEL

Kitty Hello

Entweder:
IF ... THEN ...
_oder_
IF
 ...
ENDIF
Aber nicht THEN und ENDIF.

wangsi

code [IF levelgeschafft=1  
 GOSUB nextlevel
  ENDIF
IF levelz>=6  
 GOSUB gewonnen
  GOTO neustart
   ENDIF]

hmm geht net...

HeikoJ

Hallo Wangsi,

nochmals entweder :

if a=b then anweisung

oder

if a = b
  anweisung 1
  anweisung 2
  ....
endif

gruß Heiko

Kitty Hello


Schranz0r

OT: LOL, sehr geiler Thread, macht spass zu lesen :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kosta

Quote from: HeikoJHallo Wangsi,

nochmals entweder :

if a=b then anweisung

oder

if a = b
  anweisung 1
  anweisung 2
  ....
endif

gruß Heiko
@Wangsi,

Im Prinzip: hast du nur eine Anweisung/Befehl nach dem THEN schreibst du's rein, wenn mehrere Anweisungen/Befehle im Then Zweig folgen sollen...lässt du das THEN weg...
Intel QuadCore, Geforce8600GT,512MB,4GB Ram, 26" TFT
HP nw8440 Schläppy
GP2X Mk2 (Firmware 3.0)

GLBASIC Blog:
http://www.glbasic.com/forum/index.php?blog=51.0

S.O.P.M.

Alsooo, um mal auf den eigentlichen Titel dieses Threads zurückzukommen: die einfachste Lösung stellt dann schließlich doch der Befehl AUTOMOVE dar. Einfach AUTOMOVE SpriteNr irgendwo in den Code reinknallen und dein Sprite bewegt sich automatisch, wie du es gerne möchtest.

Sorry, für den kleinen Scherz am Rande, is natürlich net bös' gemeint ;)
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

Schranz0r

man darf die tolle function hier auch nicht vergessen:

Code (glbasic) Select
WHILE TRUE

    MAKE_JUMP&RUN(Besser_als_SuperMario)

SHOWSCREEN
WEND
END
Sorry konnts mir nicht verkneifen :D
*SelbsAufDieFingerHau!*
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

Najam ich kapier schon was er meint. Mit einem Klick&Play Baukasten kann man ein Sprite leichter bewegen, als mit GLBasic. Wenn man dann aber mehr machen möchte ist halt schnell Schicht im Schacht.