kleines Problem mit if, elseif

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Pousup

Betreff: kleines Problem mit if, elseif

BeitragDo, Jan 17, 2008 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Locate 600,600
Print "Drücke Taste zum Starten"

WaitKey
Repeat

If KeyHit(1) Then End

jx = jx + Rand(3,50)

If jx = 1290 Then
      leben = leben - 1
      jx = jx - jx
      jy = jy - jy + Rand(0,960)

ElseIf   ImagesOverlap(jubi,jx,jy,maus,mx,my) And MouseHit(1) Then
      jx = 0-300
      jy = 0 + Rand(0,960)
      score = score + 1
EndIf

DrawImage jubi,jx,jy
maus()

Locate 0,0
Print "Leben : " + leben
Print "Score : " + score

Flip
Cls

Until score = 5 Or leben = 0


So, folgendes soll passieren: Wenn das Bild "Jubi" die die x koordinate 1290 erreicht hat, soll leben - 1 werden, x = 0 -300 (damits nich mitten drin auftaucht, sondern "reinfährt") und y = 0 + Rand(0,960) sein. Das erste trifft zu, allerdings ändern sich die werte nicht. die elseif abfrage klappt auch, nur wenn man ein bildchen "abgeschossen hat und danach eins durchlässt, wird nicht neu gezeichnet. hoffe ihr konntet mein problem verstehen und könnt mir helfen...

Danke im vorraus
 

Marek

BeitragDo, Jan 17, 2008 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
jx = jx + Rand(3,50)

If jx = 1290


Du addierst zu jx eine zufällige Zahl. Du kannst also nie 100% sagen, dass jx = 1290 ist. Ergo trifft jx = 1290 nur sehr selten zu; wenn du kein SeedRnd benutzt u.U. sogar nie...

MfG Marek
Wer lesen kann ist klar im Vorteil...
 

Pousup

BeitragDo, Jan 17, 2008 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
jx ist standart mäßig 0 - 300 (folglich -300 Very Happy) das addierte RAND(...) soll nur die Geschwindigkeit darstellen, und verändert ja nicht die horizontale Bewegung in eine Vertikale. jx müsste den Wert 1290 also eigentlich immer (ob früher oder später) erreichen, wenn ich nicht irre Embarassed Laughing

The_Nici

BeitragDo, Jan 17, 2008 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Es hält nicht automatisch am Bildschirmrand an. Du musst wennschon <= bzw. >= benutzen.

MfG Wink
 

Pousup

BeitragDo, Jan 17, 2008 22:08
Antworten mit Zitat
Benutzer-Profile anzeigen
aaah danke schön, klappt jetzt! Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group