Zähler

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

mk

Betreff: Zähler

BeitragDo, Okt 28, 2004 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 640, 480, 32
SetBuffer BackBuffer()

curr% = MilliSecs()
count% = 10

While Not KeyHit( 1 )
   If ( ( MilliSecs() - curr% ) >= 1000 ) Then
      curr% = MilliSecs()
       
      count% = count% - 1
   End If
   
   Text( 0, 0, count% )
   
   Flip
   Cls
Wend

End


Ich habe diesen code,und möchte ihn als Function in einen Text einbauen.

Ich habe schon das hier versucht, aber es hat nicht geklappt:

Code: [AUSKLAPPEN]
Function count()
curr% = MilliSecs()
count% = 10

While Not KeyHit( 1 )
   If ( ( MilliSecs() - curr% ) >= 1000 ) Then
      curr% = MilliSecs()
   
      count% = count% - 1
   End If
   
   Text( 0, 0, count% )
   
   Flip
   Cls
Wend

End

End Function


Function ende()

Print ""
Print ""
Print "Programm wird beendet in" : count : Print "Sekunden"


Delay 5000
     
End Function

ende


Wahrscheinlich ist das wiedermal ein dummer fehler von mir. Sad
 

David

BeitragDo, Okt 28, 2004 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Du musst Count Global machen und "ende" in deiner Schleife aufrufen. Oder du übergibst count% als Parameter an "ende".

grüße

mk

BeitragDo, Okt 28, 2004 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähh kannst du mir das genauer erklären?
 

David

BeitragDo, Okt 28, 2004 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Code: [AUSKLAPPEN]

 Graphics 640, 480, 32
 SetBuffer BackBuffer()
 
 curr% = MilliSecs()
 count% = 10
 
 While Not KeyHit( 1 )
    If ( ( MilliSecs() - curr% ) >= 1000 ) Then
       curr% = MilliSecs()
       
       count% = count% - 1
    End If
     
    ;Text( 0, 0, count% )
    ende()  ; <-- hier die funktion aufrufen
     
    Flip
    Cls
 Wend
 
 End

Function ende()
 
Print "Programm wird beendet in" + count + "Sekunden" ;<-- so reichts schon
 
 
;Delay 5000 ; <-- was das??? :-|
     
End Function


Klappts so?
Den daran, ohne Aufruf wird keine Funktion ausgeführt.

grüße

mk

BeitragDo, Okt 28, 2004 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Klappt immer noch nicht. Mad
 

David

BeitragDo, Okt 28, 2004 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Dann sagst du am besten mal, WAS genau klappen soll... :/

grüße

mk

BeitragDo, Okt 28, 2004 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Text soll die Zahl heruntergezählt werden.

Das Program wird in 5 Sekunden beendet...
Nach 1 Sekunde
Das Program wird in 4 Sekunden beendet...
Nach 1 Sekunde
Das Program wird in 3 Sekunden beendet...
Nach 1 Sekunde
Das Program wird in 2 Sekunden beendet...
Nach 1 Sekunde
Das Program wird in 1 Sekunden beendet...

Bei 0 soll das Programm beendet werden.
 

David

BeitragDo, Okt 28, 2004 15:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Code: [AUSKLAPPEN]

Graphics 640, 480, 32
 SetBuffer BackBuffer()
 
 curr% = MilliSecs()
 Global count% = 5
 
 While Not KeyHit( 1 )
    If ( ( MilliSecs() - curr% ) >= 1000 ) Then
       curr% = MilliSecs()
       
       count% = count% - 1
    End If
     
    ;Text( 0, 0, count% )
    ende()  ; <-- hier die funktion aufrufen
     
    Flip
    Cls
 Wend
 
 End

Function ende()

If ( count% = 0 ) End
 
Text 0, 0, "Programm wird beendet in " + count% + " Sekunden" ;<-- so reichts schon
 
 
;Delay 5000 ; <-- was das??? :-|
     
End Function


Dann mach das doch... :/

grüße

mk

BeitragDo, Okt 28, 2004 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank,
genauso hab ich´s gewollt!

Very Happy

mk

Betreff: Die arme Sau (ich) hat ein Problem. [:-)]

BeitragDo, Okt 28, 2004 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, klappt doch nicht.
Das kommt davon, wenn man sich zu früh freut.

Eigentlich hat das Programm alleine funktioniert, aber als ich es in mein Programm eingefügt habe, war es nicht mehr so gut.

Hier ist mein Quelltext aus meinem Programm:

Code: [AUSKLAPPEN]


Graphics 320,200,16,1



Print ""
Print "Wie heisst du?"
Print ""
Print ""
name$ = Input ("Name: ")
Print ""
Print ""
s1$ = "hallo "
s2$ =", wie geht es dir?"

Print s1 + name + s2
Print ""
Print ""





wohlergehen$ = Input$("")
Select Lower (wohlergehen$)






Case "gut" Color 0,255,0 Print "Gott sei Dank!"

Case "geht so" Color 255,255,0 Print "Aha."
Case "gehtso" Color 255,255,0 Print "Aha."

Case "schlecht" Color 255,0,0 Print "Du arme Sau!"

Case "scheisse" Color 100,0,0 Print "Na, na, sowas sagt man aber nicht!"

Case "" Color 125,125,125 Print "Du hast nichts geschrieben?" : Print "Das Programm gefällt dir also nicht?"  :  Print "Na wenn das so ist dann...?" : ende : End           



End Select
Color 255,255,255

Delay 3000

EndGraphics
Graphics 320,200,8,1


Print ""
Print "Gib irgendein Wort ein:"
Print ""
Print ""
Print ""



Print ""
word$=Input ("")

Print ""
Print ""
s3$ = "Selber "
s4$ = "Warum tippst du "
s5$ = " ein, "
s6$ = "du "
s7$ = ","
s8$ = "?"
Print s3 + word + s7
Print s4 + word + s5
Print s6 + word + s8

Function ende()
Print""
Print""
Print"Programm wird beendet in 5 Sekunden."
Delay 5000
End Function


ende


Wie würdet ihr das machen, das die Zeit, bis das Programm beendet wird heruntergezählt wird?

Wie füge ich diesen Quelltext richtig in mein Programm ein,
damit die Zeit heruntergezählt wird?

Code: [AUSKLAPPEN]
 curr% = MilliSecs()
 Global count% = 5
 
 While Not KeyHit( 1 )
    If ( ( MilliSecs() - curr% ) >= 1000 ) Then
       curr% = MilliSecs()
       
       count% = count% - 1
    End If
     
    Text( 0, 0, count% )
   
Function ende()
     
    Flip
    Cls
 Wend



 

If ( count% = 0 ) End
 
Text 0, 0, "Programm wird beendet in " + count% + " Sekunden" ;<-- so reichts schon
 

Maniac

BeitragDo, Okt 28, 2004 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Darf ich dich mal dezent fragen, warum du graphics einmal beendest und wieder neu lädst?
Diesmal allerdings mit 8 Bit anstatt 16..
Mach das mal weg, dann wirds übersichtlicher...
User posted image
^^

mk

BeitragDo, Okt 28, 2004 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann man sein Fenster denn sonst im Vollbildmodus löschen?
Mir fällt nix anderes ein. Razz

Maniac

BeitragDo, Okt 28, 2004 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
cls
User posted image
^^

mk

BeitragDo, Okt 28, 2004 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Zeilenvorschub bleibt aber unten.

Wenn man so 3-5 Sätze schreibt. Confused
 

David

BeitragDo, Okt 28, 2004 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Du sollst auch nich "Print" nehmen sondern "Text". Oder du arbeitest mit dem Doppelpuffer, dann ist der "Zeilenvorschub", nach einem "cls", auch wieder weg.

grüße

mk

BeitragDo, Okt 28, 2004 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image

mk

BeitragDo, Okt 28, 2004 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy

Hubsi

BeitragDo, Okt 28, 2004 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Locate sollte das Print-Problem beheben. Übrigens nettes Foto. Siehst Du immer so aus? Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

mk

BeitragFr, Okt 29, 2004 7:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Bild ist nicht von mir, ist aus dem Kinofilm (T)Raumschiff Surprise.
Ich habe den Film gedownloadet und mit Movie Marker einen Screenshot
aus dem Film gemacht.

Und das mit dem Locate hat geklappt.
Danke.
 

David

BeitragFr, Okt 29, 2004 7:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Cool, dann können wir dich ja gleichnoch anzeigen, wegen Raubkopiererei!
Junge, sowas wollen wir im allgemeinen nicht hier im Board haben/hören!

grüße
http://bl4ckd0g.funpic.de

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group