problem mit waitkey

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Goth

Betreff: problem mit waitkey

BeitragSo, Apr 24, 2005 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich habe jetzt ein wenig mit einfachen if befehlen gearbeitet und sties dabei auf eine frage, hier erstmal der code:

Graphics 800,600,32,2
AppTitle "Tutorials"

Repeat
Fragen$ = Input("Bist du schon 18 Jahre alt? (Ja oder Nein):")
Until Fragen$ = "JA" Or Fragen$ = "NEIN" Or Fragen$ = "Ja" Or Fragen$ = "Nein" Or Fragen$ = "ja" Or Fragen$ = "nein"

If Fragen$ = "JA" Or Fragen$ = "Ja" Or Fragen$ = "ja" Then
Speicher% = 1
Print "Du bist also schon volljährig!"
ElseIf Speicher% = 0
Print "Du bist also noch nicht volljährig!"
EndIf

WaitKey
End


Mein problem ist ganz am schluss des codes, wieso beendet er nicht? wait key bedeutet doch er wartet bis ich eine taste drücke. nachdem ich ja oder nein eingegebn habe wartet er zwar, aber es gibt keine reaktion auf meinen tastendruck bzw. er beendet das programm nicht.

nun meine frage, warum? ^^
 

Beni

BeitragSo, Apr 24, 2005 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir tut es einwandfrei.
Aber wäre das nicht geschickter.

Repeat
Fragen$ = Input("Bist du schon 18 Jahre alt? (Ja oder Nein):")
Until Fragen$ <> 0
 

Goth

BeitragSo, Apr 24, 2005 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
also bei mir kommt dann die antwort aber er reagiert nicht mehr auf einen tastendruck bzw. beendet das programm.

und wie meinst du das:

Until Fragen$ <> 0[/code]

versteh nicht ganz was du meinst.
danke im voraus.
 

Beni

BeitragSo, Apr 24, 2005 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
des mit dem [/code] war en Versehen
Aber wenn du statt
Until Fragen$ = "JA" Or Fragen$ = "NEIN" Or Fragen$ = "Ja" Or Fragen$ = "Nein" Or Fragen$ = "ja" Or Fragen$ = "nein"
einfach
Until Fragen$ <> 0 schreibst geht es auch und ist kürzer.
 

Goth

BeitragSo, Apr 24, 2005 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ja aber dann ist das problem das er auch auf antworten reagiert die nicht ja oder nein sind. wenn du verstehst was ich meine. ^^
 

Bigfreddy

BeitragSo, Apr 24, 2005 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann nein auch anders schreiben:
NEIN
Nein
NEin
NEIn
nein
neiN
neIN
nEIN
usw.

was ich damit sagen will ist, dass du nur mit sehr viel Aufwand alle Möglichkeiten überprüfen kannst...

Ich würde, des so machen:

Graphics 800,600,32,2
AppTitle "Tutorials"

Repeat
Fragen$ = Input("Bist du schon 18 Jahre alt? (Ja oder Nein):")
Until Upper$(Frage$)="JA" or Upper$(Frage$)="NEIN"

;genauso wie oben

WaitKey()
End

Aber mein Favorit ist:

until (left(Upper$(Frage$),1)="J") or (left(Upper$(Frage$),1)="N")

Grund:
Man kann vielfältig antworten...z.B.: jo,no,j,n,Nö,Jamba ( ok das ist kein ja ), aber erst genanntes ist für dich am besten...

Lunatix

BeitragMo, Apr 25, 2005 8:35
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

Graphics 800,600,32,2
AppTitle \"Tutorials\"

Repeat
Fragen$ = Input(\"Bist du schon 18 Jahre alt? (Ja oder Nein) : \")

If Fragen$ = \"ja\"
Speicher% = 1
EndIf
If Fragen$ = \"Nein\"
speicher$=0
EndIf
If speicher$=1
Print \"Du bist also schon volljährig!\"
WaitKey()
ende=1
Else If speicher$=0
Print \"Du bist also noch nicht volljährig!\"
WaitKey()
ende=1
EndIf
Until ende=1

WaitKey
End


so ohne testen müsste funzen!
[/syntax]
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

David

BeitragMo, Apr 25, 2005 8:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Wozu brauchst du die Variable "speicher"? Und wieso ist sie ein String?
Wieso machst du den Schleifenabruch so umständlich über eine Hilfsvariable? Wieso machst du keine if-then-else Bedingung bei der Abfrage ob "Frage" Ja oder Nein ist. Und wieso schreibst du "Else If speicher$=0" statt
"Else If"???

Fragen über Fragen! Wink

BlitzBasic: [AUSKLAPPEN]

Repeat
eingabe$ = Input(..)
eingabe = Upper( eingabe )

Select eingabe
Case \"JA\"
Print \"volljähring\"

Case \"NEIN\"
Print \"nich volljährig\"
End Select
Until eingabe = \"JA\" Or eingabe = \"NEIN\"

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group