Problem mit endif...

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

jonsen

Betreff: Problem mit endif...

BeitragFr, Jan 07, 2005 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
warum erhalte ich hier die fehlermeldung expecting endif ???

Code: [AUSKLAPPEN]

If KeyDown (205) Then
altekbr = ImageWidth (punkt)
altekhö = ImageHeight (punkt)
altekbr = altekbr+15
DrawImage punkt,+altekbr,+altekhö
Flip
Cls 
EndIf

If KeyDown (200)
altekbr = ImageWidth (punkt)
altekhö = ImageHeight (punkt)
altekhö = altekhö+15
DrawImage punkt,+altekbr,+altekhö
Flip
Cls 
EndIf     

If KeyDown (203)
altekbr = ImageWidth (punkt)
altekhö = ImageHeight (punkt)
altekbr = altekbr-15
DrawImage punkt,+altekbr,+altekhö
Flip
Cls 
EndIf

If KeyDown (208)
altekbr = ImageWidth (punkt)
altekhö = ImageHeight (punkt)
altekhö = altekhö-15
DrawImage punkt,+altekbr,+altekhö
Flip
Cls 
EndIf


Danke im Voraus, Smile
jonsen
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...
 

gamble

BeitragFr, Jan 07, 2005 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
*sorry, kann gelöscht werden*
 

junky

BeitragFr, Jan 07, 2005 11:43
Antworten mit Zitat
Benutzer-Profile anzeigen
liegt an deiner Variable 'altekhö' - Umlaute darfste innerhalb von Variablen nit verwenden
PS: wieso benutze eigentlich soviele flips ? - sag ma wasde machen willst ...
gestern stand ich noch vorm Abgrund
heute bin ich einen Schritt weiter...

jonsen

BeitragFr, Jan 07, 2005 11:47
Antworten mit Zitat
Benutzer-Profile anzeigen
jap daran lags... habe ich net dran gedacht! Very Happy
ach das wird son spiel....ist aber in der aufbauphase... Wink
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...

jonsen

BeitragFr, Jan 07, 2005 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
also, das mitm endif is echt klasse nur ich hab noch ne frag Embarassed Laughing

Code: [AUSKLAPPEN]

;Hauptschleife
Repeat
If KeyDown (205) Then
altekbr = ImageWidth (punkt)
altekhoe = ImageHeight (punkt)
altekbr = altekbr+15
DrawImage wand,0,0
DrawImage punkt,altekbr,altekhoe
Flip
Cls 
EndIf

If KeyDown (200)
altekbr = ImageWidth (punkt)
altekhoe = ImageHeight (punkt)
altekhoe = altekhoe-15
DrawImage wand,0,0
DrawImage punkt,altekbr,altekhoe
Flip
Cls 
EndIf     

If KeyDown (203)
altekbr = ImageWidth (punkt)
altekhoe = ImageHeight (punkt)
altekbr = altekbr-15
DrawImage wand,0,0
DrawImage punkt,altekbr,altekhoe
Flip
Cls 
EndIf

If KeyDown (208)
altekbr = ImageWidth (punkt)
altekhoe = ImageHeight (punkt)
altekhoe = altekhoe+15
DrawImage wand,0,0
DrawImage punkt,altekbr,altekhoe
Flip
Cls 
EndIf

kbrp = ImageWidth (punkt)
khp = ImageHeight (punkt)
kbrw = ImageWidth (wand)
khw = ImageWidth (wand)

If ImagesCollide (punkt,kbrp,khp,0,wand,kbrw,khw,0)
Print "Game over"
Delay 2000
End 
EndIf
If KeyDown (1) Then End
Forever


wieso funzt der collide hier net???
und wenn ich zum beispiel die taste 208 (die rechte pfeiltaste) drücke springt der punkt zwar nach rechts, aber links oben in die ecke und da nach rechts... und wenn ich dann irgendwelche pfeiltasten drücke, bewegt er sich zwar in die richtung der gedrückten pfeiltasten, bleibt aber nur in dieser Ecke ! wieso?!

Mit freundlichen Grüßen Smile
jonsen
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...
 

gamble

BeitragFr, Jan 07, 2005 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Du solltest dir mal angewöhnen deinen Variablen anständige Namen zu geben und den Code richtig zu formartieren. Das ist für mich unheimlich schwer zu lesen Wink

jonsen

BeitragFr, Jan 07, 2005 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Laughing Very Happy Very Happy also, gut formatiert ist er find ich! gut.. die varnamen sind nicht so die guten... aber da weiß ich genau worum es sich handelt.... Smile
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...
 

gamble

BeitragFr, Jan 07, 2005 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, Du weißt es. Wenn du das aber ins Forum postet hat da niemand einen blassen Schimmer von. Wink

DivineDominion

BeitragFr, Jan 07, 2005 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Prinzi psollste erstmal verstehen:
Nur EIN mal flippen!

Code: [AUSKLAPPEN]
Repeat
Cls
if Keydown...
drawimage wand,0,0
drawimage ...
flip
until keyhit(1)


Und nun musst du bei Tastendruck sowas wie x = x + 1 machen damit es sich ebwegt und natürlich auch dort zeichnen... Sehe nicht was deine Varibalen darstellen.
christian.tietze@gmail.com - https://christiantietze.de
macOS

Ralf

BeitragFr, Jan 07, 2005 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

da sind einige Fehler im Code, deshalb weiss ich gar nicht sicher was das Programm überhaupt bewirken soll!
Ich denke das hier:
Code: [AUSKLAPPEN]
altekbr = 20
altekhoe = 20

; Hauptschleife
Repeat
   Cls
   If KeyDown (205)
      altekbr = altekbr+5
   EndIf

   If KeyDown (200)
      altekhoe = altekhoe-5
   EndIf     

   If KeyDown (203)
      altekbr = altekbr-5
   EndIf

   If KeyDown (208)
      altekhoe = altekhoe+5
   EndIf
   
   DrawImage wand,0,0
   DrawImage punkt,altekbr,altekhoe
   Flip

   If ImagesCollide (punkt,altekbr,altekhoe,0,wand,0,0,0)
      Print "Game over"
      Delay 2000
      End
   EndIf
Until KeyDown (1)
End 

jonsen

BeitragFr, Jan 07, 2005 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn ich meins durch deins ersetze ist es nicht ausführbar...
eigentlich wollte ich erstmal eine kleine grundlage für ein spiel erschaffen... da sollte sich erstmal nur der punkt mit den pfeiltasten bewegen... und dann sollte noch wenn der punkt die wand berührt das spiel enden, um das ganze mal zu erläutern... Wink er wandert ja auch mit den pfeiltasten mit... aber nur oben in der ecke... und der collide funzt gar net... die var's altekbr usw. speichern den wert der alten koordinaten und dann werden x pixel dazu gerechnet und er soll sich dann halt um x pixel verschieben... naja,

vielen dank soweit,

jonsen
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...
 

gamble

BeitragFr, Jan 07, 2005 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Sowas hier?

Code: [AUSKLAPPEN]
Const WIDHT = 800
Const HEIGHT = 600
Const DEPTH = 16
Const MODE = 1

Const KEY_UP = 200
Const KEY_DOWN = 208
Const KEY_LEFT = 203
Const KEY_RIGHT = 205

; Variablen definieren
playerX% = WIDHT / 2
playerY% = HEIGHT / 2

; Grafik-Modus setzen
Graphics WIDHT,HEIGHT,DEPTH,MODE

; Double-Buffering aktivieren
SetBuffer BackBuffer()

; Farbe auf Gelb setzen
Color 255,255,0

; Hauptschleife
Repeat

   Cls
   
      ; Punkt an die Koordinaten des Spielers zeichnen
      Plot playerX%,playerY%
      
      ; Wurde die Pfeiltaste hoch gedrückt?
      If KeyDown(KEY_UP) Then
      
         playerY% = playerY% - 3
         
      End If
      
      ; Wurde die Pfeiltaste runter gedrückt?
      If KeyDown(KEY_DOWN) Then
      
         playerY% = playerY% + 3
         
      End If
      
      ; Wurde die Pfeiltaste links gedrückt?
      If KeyDown(KEY_LEFT) Then
      
         playerX% = playerX% - 3
         
      End If
      
      ; Wurde die Pfeiltaste rechts gedrückt?
      If KeyDown(KEY_RIGHT) Then
      
         playerX% = playerX% + 3
         
      End If
      
      ; Auf Kollisionen mit der Wand prüfen
      If playerX% < 0 Or playerX% > WIDHT Or playerY% < 0 Or playerY% > HEIGHT Then
      
         RuntimeError "Wand berührt"
         
      End If
   
   
   Flip

Until KeyHit(1)

jonsen

BeitragFr, Jan 07, 2005 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ich weiß meinen fehler schon... zu dem fehler hab ich ne frage, dann funzt das prog... also wie kann ich die koordinaten eines bildes auslesen?!
dazu hatt ich nämlich imagewidth usw. benutzt... das geht natürlich net... und wenn ich den richtigen befehl habe, dann geht der code!
also meine frage: wie kann ich die koordinaten eines bildes auslesen?!

MfG
jonsen
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...
 

ke^kx

BeitragFr, Jan 07, 2005 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Da du das Bild vorher gemalt hast musst du sie nicht aulesen, sondern du weist sie einfach. Wenn du es dann aber genauso wie gamble machen willst, kannst du es dir auch einfacher machen, mir den Befehlen imagecollide oder imageoverlapp. Schlag die beiden einfach mal in der Onlinehilfe nach.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

jonsen

BeitragFr, Jan 07, 2005 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ich weiß, das ich sie weiß , aber die verändern sich dauernd Very Happy ... immer wenn man ne taste drückt! deswegen, wie kann man sie auslesen! Question
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...
 

gamble

BeitragFr, Jan 07, 2005 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Du speicherst die Koordinaten einfach in zwei Variablen (z.B playerX, playerY). Die Variablen benutzt du dann beim Zeichnen als Positionsangaben. Wenn irgendeine Taste gedrückt wird, wird halt playerX / playerY erhöht bzw. verringert. Wink

jonsen

BeitragFr, Jan 07, 2005 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
jap so werde ich es machen... nur gibts es denn au nen befehl zum auslesen der koordinaten der bilder? Question
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...
 

gamble

BeitragFr, Jan 07, 2005 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Glaube nicht. Zumindest hab ich in der Online-Hilfe nichts gefunden.

jonsen

BeitragFr, Jan 07, 2005 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ich bei www.blitzbase.de auch nichts.. Sad naja ich machs so... danke ciao! Smile

jonsen
www.baseline-games.de.vu - coole Games zum Downloaden!
Und ein gutes Forum! Schaut mal vorbei...
 

ke^kx

BeitragFr, Jan 07, 2005 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Die hast du doch auch irgendwann mal gezeichnet, also nimmst du diese Koordinaten. Zur Nor kannst du die auch in 'ner Variable speichern.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group