Wie kann man mit BB warten?

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

coolerj

Betreff: Wie kann man mit BB warten?

BeitragSa, Apr 18, 2009 9:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe ein Problem ich wollte eigentlich mit BB warten aber nur wie so geht es nicht:

Code: [AUSKLAPPEN]
Repeat               
zaehler = zaehler + 1   
y# = y# + sprunggeschwindigkeit#
wait 10
Until zaehler = 10


Wie kann ich das machen?

MfG
coolerj
 

feuerball11

BeitragSa, Apr 18, 2009 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
delay 1000
zeit wird in ms angegeben... das ist dochd as was du brauchst oder??

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragSa, Apr 18, 2009 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit Delay wird gewartet. Aber eigentlich sollte dein Code da auch ohne das Wait gehen.

Aber das was du uns da grad zeigst addiert ja nur 10x die Sprunggeschwindigkeit zu Y#.
Mit Delay allerdings stoppst du das ganze Programm für eine gewisse Zeit. Deshalb wäre es sinniger mit Millisecs
zu arbeiten.

MfG
Ironstorm
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium
 

coolerj

BeitragSa, Apr 18, 2009 12:18
Antworten mit Zitat
Benutzer-Profile anzeigen
update code:
Code: [AUSKLAPPEN]

 Graphics3D 640, 480
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
cone = CreateSphere(32)
x# = 0
y# = 0
z# = 10
sprunggeschwindigkeit# = 0.1
zaehler = 0

While Not KeyHit(1)
   If KeyDown(203) = 1 Then x# = x# - 0.1
   If KeyDown(205) = 1 Then x# = x# + 0.1
   If KeyDown(208) = 1 Then z# = z# - 0.1
   If KeyDown(200) = 1 Then z# = z# + 0.1
   If KeyDown(30) = 1 Then
      Repeat               
         zaehler = zaehler + 1   
         y# = y# + sprunggeschwindigkeit#
         Delay 100
         PositionEntity cone, x#, y#, z#   
      Until zaehler = 10   
   End If
   PositionEntity cone, x#, y#, z#
   RenderWorld
   Text 0, 0, "Verschiebe mit Cursortasten/A/Z"
   Text 0, 20, "X Position: " + x#
   Text 0, 40, "Z Position: " + Z#
   Flip
Wend
End


Jetzt geht es nur plötzlich und nicht wie ein Sprung.
 

coolerj

BeitragSa, Apr 18, 2009 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Update Code:
Code: [AUSKLAPPEN]

 Graphics3D 640, 480
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
cone = CreateSphere(32)
x# = 0
y# = 0
z# = 10
sprunggeschwindigkeit# = 0.1
zaehler# = 0
zaehler2# = 0
   
While Not KeyHit(1)
   If KeyDown(203) = 1 Then x# = x# - 0.1
   If KeyDown(205) = 1 Then x# = x# + 0.1
   If KeyDown(208) = 1 Then z# = z# - 0.1
   If KeyDown(200) = 1 Then z# = z# + 0.1
   If KeyDown(30) = 1 Then
      For zaehler = 1 To 10
         y# = y# + sprunggeschwindigkeit#
         Delay 1
         PositionEntity cone, x#, y#, z#
         If zeahler# = 9 Then
          For zaehler2 = 1 To 10
             ;Text 0, 60 "test"
             y# = y# - sprunggeschwindigkeit#
               Delay 1
               PositionEntity cone, x#, y#, z#
          Next
       End If
      Next 
   End If
   PositionEntity cone, x#, y#, z#
   RenderWorld
   Text 0, 0, "Verschiebe mit Cursortasten/A/Z"
   Text 0, 20, "X Position: " + x#
   Text 0, 40, "Z Position: " + Z#
   Flip
Wend
End

Jetzt geht das Runter nicht mehr wo ist mein Fehler.

AnniXa

BeitragSa, Apr 18, 2009 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Delay sollte man generell eher nicht benutzen.
ich glaube du möchtest einfach springen?

wenn dem so ist hier 2 lösungsansätze:


Code: [AUSKLAPPEN]
 Graphics3D 640, 480
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
cone = CreateSphere(32)
x# = 0
y# = 0
z# = 10
sprunggeschwindigkeit# = 0.1
zaehler = 0
sprunghoehe# = 0.0

While Not KeyHit(1)

sprunghoehe#=sprunghoehe#-0.1
If sprunghoehe# < 0 Then sprunghoehe# = 0

   If KeyDown(203) = 1 Then x# = x# - 0.1
   If KeyDown(205) = 1 Then x# = x# + 0.1
   If KeyDown(208) = 1 Then z# = z# - 0.1
   If KeyDown(200) = 1 Then z# = z# + 0.1
   If KeyDown(30) = 1 Then sprunghoehe# = 1.0
   
   RenderWorld

   PositionEntity cone, x#, y#+sprunghoehe#, z#

   Text 0, 0, "Verschiebe mit Cursortasten/A/Z"
   Text 0, 20, "X Position: " + x#
   Text 0, 40, "Z Position: " + Z#
   Text 0, 60, "Sprunghöhe: " + sprunghoehe#
   Flip
Wend
End



Alternativ noch etwas abgerundet mit sin()


Code: [AUSKLAPPEN]

 Graphics3D 640, 480
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
cone = CreateSphere(32)
x# = 0
y# = 0
z# = 10
sprunggeschwindigkeit = 10
zaehler = 0
sprunghoehe = 0

While Not KeyHit(1)

sprunghoehe=sprunghoehe-sprunggeschwindigkeit
If sprunghoehe < 0 Then sprunghoehe = 0

   If KeyDown(203) = 1 Then x# = x# - 0.1
   If KeyDown(205) = 1 Then x# = x# + 0.1
   If KeyDown(208) = 1 Then z# = z# - 0.1
   If KeyDown(200) = 1 Then z# = z# + 0.1
   If KeyDown(30) = 1 Then sprunghoehe = 180
   
   RenderWorld

   PositionEntity cone, x#, y#+Sin(sprunghoehe), z#

   Text 0, 0, "Verschiebe mit Cursortasten/A/Z"
   Text 0, 20, "X Position: " + x#
   Text 0, 40, "Z Position: " + Z#
   Text 0, 60, "Sprunghöhe: " + sprunghoehe
   Flip
Wend
End



wenn das nicht die fragestellung war, dann dies einfach ignorieren Wink
|moonForge|
Ich bin Pokémon Meisterin seit 1998!
 

coolerj

BeitragSa, Apr 18, 2009 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank!
Nur noch eine Frage wie kann ich die Kugel hör Springen lassen?

AnniXa

BeitragSa, Apr 18, 2009 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
für die sprunghöhe könntest du noch einen faktor dazutun:


also aus der zeile:
Zitat:

PositionEntity cone, x#, y#+Sin(sprunghoehe), z#


könntest du das machen:

Zitat:

PositionEntity cone, x#, y#+(Sin(sprunghoehe) * faktor ), z#


dann natürlich faktor noch irgendwo einstellen.
bei 1 würde es so bleiben, 2 doppelt so hoch, 0.5 halb so hoch, u.s.w.
|moonForge|
Ich bin Pokémon Meisterin seit 1998!
 

coolerj

BeitragSa, Apr 18, 2009 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn ich jetzt eine zweiter Kugel erstelle sehe ich die zweite nicht mehr.
 

coolerj

BeitragSa, Apr 18, 2009 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics3D 640, 480
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
cone = CreateSphere(32)
x# = 0
y# = 0
z# = 10
sprunggeschwindigkeit = 5
zaehler = 0
sprunghoehe = 0
faktor = 3

While Not KeyHit(1)

sprunghoehe=sprunghoehe-sprunggeschwindigkeit
If sprunghoehe < 0 Then sprunghoehe = 0

   If KeyDown(203) = 1 Then x# = x# - 0.1
   If KeyDown(1) = 1 Then End
   If KeyDown(205) = 1 Then x# = x# + 0.1
   If KeyDown(208) = 1 Then z# = z# - 0.1
   If KeyDown(200) = 1 Then z# = z# + 0.1
   If KeyDown(88) = 1 Then
   track = Input$ ("Wähle einen Musiktrack aus der auf einer CD dauer gespielt werden soll:")

   chnCD = PlayCDTrack (track,2)

   While ChannelPlaying (chnCD) And (Not KeyHit (1))
   Wend

   StopChannel chnCD   
   End If
   If KeyDown(57) = 1 Then sprunghoehe = 180
   
   RenderWorld

   PositionEntity cone, x#, y#+(Sin(sprunghoehe) * faktor ), z#

   Flip
Wend
End

Jetzt kann ich aber nicht nach dem ich den Titel gewählt habe nicht mehr die Kugel steuern nur wie kann ich das machen das ich denn ball wieder steueren kann?
 

da_poller

BeitragSa, Apr 18, 2009 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
wie im anderen thread schon erwähnt UNTERLASSE BITTE DOPPELPOSTS

wir haben eine edit funktion.
 

coolerj

BeitragSa, Apr 18, 2009 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde die aber nicht also

Holzchopf

Meisterpacker

BeitragSa, Apr 18, 2009 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image so sieht der Button aus und befindet sich im Header all deiner Beiträge.
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
 

da_poller

BeitragSa, Apr 18, 2009 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.bilderhoster.net/im...l1r9xj.png

lieber dran halten.. die chefs hier und viele weitere sehen das nicht gerne..

The Shark

BeitragSa, Apr 18, 2009 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Doppelposts=böse
2. Schön, dass du die Onlinehilfe benutzt, baer es hilft nichts die Beispiele einfach in seinen code einzubauen. Du scheinst keine ahnung von dem Programmfluss zu haben. Lies einmal ein paar Tutorials.
3. Ich bin zu gutmütig:
Code: [AUSKLAPPEN]
While Not KeyHit(1)

   sprunghoehe=sprunghoehe-sprunggeschwindigkeit
   If sprunghoehe < 0 Then sprunghoehe = 0

   If KeyDown(203) Then x# = x# - 0.1
   If KeyDown(1)
      if channelplaying(chnCD)
         stopchannel(chnCD)
      else
         end
      endif
   endif
   If KeyDown(205) Then x# = x# + 0.1
   If KeyDown(208) Then z# = z# - 0.1
   If KeyDown(200) Then z# = z# + 0.1
   If KeyDown(88)
      track = Input$ ("Wähle einen Musiktrack aus der auf einer CD dauer gespielt werden soll:")
      chnCD = PlayCDTrack (track,2)
   end if

   If KeyDown(57) Then sprunghoehe = 180
   

   PositionEntity cone, x#, y#+(Sin(sprunghoehe) * faktor ), z#
   RenderWorld
   Flip
Wend
End

Achtung das ist nur die Hauptschleife!
 

coolerj

BeitragSa, Apr 18, 2009 17:19
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Der fehler habe ich selber gelöst
So noch ne Frage wie geht bei schleifen mit zwei überprüfungen z.B:
Code: [AUSKLAPPEN]

        Repeat
        If sprunggeschwindigkeit < 1 Then
       sprunggeschwindigkeit = 3
       sprunggeschwindigkeit = Input$ ("1 - 5(3 standard):")
       End If
        Until sprunggeschwindigkeit > 0 And sprunggeschwindigkeit < 6

Die erste abfrage geht die zweite geht aber nicht.

Holzchopf

Meisterpacker

BeitragSa, Apr 18, 2009 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun, da ist das Problem, dass der If-Block nicht mehr ausgeführt wird, wenn du mal eine Zahl grösser als sechs eingegeben hast.

Gehen wir das mal Schritt für Schritt durch:

1. Das Programm kommt in die Schleife
2. Weil sprunggeschwindigkeit < 1 wird der Block ausgeführt
3. man gibt sprunggeschwindigkeit=7 ein
4. Weil sprunggeschwindigkeit nicht ( >0 und <6 ) ist, wird die Schleife nicht verlassen.
5. Die Schleife startet wieder
6. Weil sprunggeschwindigkeit nicht < 1 wird der Block übersprungen
7. Weil sprunggeschwindigkeit immernoch 7 ist, wird die Schleife nicht verlassen -> Schritt 5
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
 

coolerj

BeitragSa, Apr 18, 2009 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Ich habe ein Problem mit der Profi Hilfe also wenn man das PW bei den Eingibt geht jedes PW:
Code: [AUSKLAPPEN]

   If KeyDown(60) = 1 Then ;F2 für ProHilfe
      ;Ausgabe ProHilfe un Beedinung
      pw# = Input$ ("PW:")
     If pw# = "abccba" Then
      stellung = Input$ ("1 für Tastenerklärung, 2 für kurze Hilfe, 3 für faktor:, 4 für geschkeit. :")
      If stellung = 3 Then
        faktor = Input$ ("1 für klein, 2 für mittel, 3 auch mittel(aber größer), 4 groß:")
     End If
      If stellung = 4 Then
        sprunggeschwindigkeit = Input$ ("1 - 5(3 standard):")
        If sprunggeschwindigkeit < 1 Or sprunggeschwindigkeit > 5 Then
        Repeat
       sprunggeschwindigkeit = 3
       sprunggeschwindigkeit = Input$ ("1 - 5(3 standard):")
       Until sprunggeschwindigkeit < 1 Or sprunggeschwindigkeit > 5
       End If
     End If
     End If
   End If

Und hier bei geht es garnicht
Code: [AUSKLAPPEN]

   If KeyDown(60) = 1 Then ;F2 für ProHilfe
      ;Ausgabe ProHilfe un Beedinung
      pw# = Input$ ("PW:")
     If pw# = abccba Then
      stellung = Input$ ("1 für Tastenerklärung, 2 für kurze Hilfe, 3 für faktor:, 4 für geschkeit. :")
      If stellung = 3 Then
        faktor = Input$ ("1 für klein, 2 für mittel, 3 auch mittel(aber größer), 4 groß:")
     End If
      If stellung = 4 Then
        sprunggeschwindigkeit = Input$ ("1 - 5(3 standard):")
        If sprunggeschwindigkeit < 1 Or sprunggeschwindigkeit > 5 Then
        Repeat
       sprunggeschwindigkeit = 3
       sprunggeschwindigkeit = Input$ ("1 - 5(3 standard):")
       Until sprunggeschwindigkeit < 1 Or sprunggeschwindigkeit > 5
       End If
     End If
     End If
   End If

Was muss ich verändern um das es wieder geht???
Please help me!
MfG
coolerj

Meine Website: http://blitzbasicprojeckte.de.tl/
 

BBPro2

BeitragMo, Apr 20, 2009 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
lies doch endlich mal die grundtutorien durch mann...
dir wird hier bald keiner mehr helfen wenn du grundlegende fragen stellst und niemals selbst nachdenkst.
dir wurde schon so oft das ein oder andere tutorial nahegelegt...
lies die erstmal bevor du dein "metin 2 clone" (setz dir mal realistisch ziele mann.. wie alt sind wir denn)
fortführst...
echt so langsam hab ich die schnauze voll - du denkst gar nicht selbst nach.

das hier ist meine letzte antwort auf deine fragen, bis du vernünftige fragen stellst:

seit wann sind strings denn mit "#" tituliert ?
egal was du eingibst, wenn du es als # speicherst (das is ne FLOAT ....) wird immer 0.0 gespeichert, weil strings nich verarbeitet werden können als float

das gleiche gilt bei der abfrage - er macht aus deinem "ababab..." einfahc 0.0 weil ers in ne float umwandeln muss ums zu vergleichen
danach verlgeicht er 0.0 und 0.0
das scheint das selbe zu sein,was ? egal was man vorher eingibt.

so und jetzt gibts keine antworten mehr auf grundlegende semantische blitzbasic fragen

mann mann mann

edit:
ich seh grad dein ababab... is nichma nen string.... da sollteste ma auch noch " drumrumsetzen
ebenfalls ein absolut grundlegender fehler - den man nicht durch foren sondern durch eigeninitative und tutorials los wird.

BladeRunner

Moderator

BeitragMo, Apr 20, 2009 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte dich hier um ein wenig mehr Höflichkeit bitten, bbpro2.
Auch wenn Du im Kern absolut recht hast ist die von dir gewählte Verpackung ein wenig... ungünstig.
Danke.

btw:
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group