Problem mit KeyDown
Übersicht

BothBetreff: Problem mit KeyDown |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
problem mit keydown :
Code: [AUSKLAPPEN] AppTitle "Wer wird Milliadaer"
Graphics 640,480 Print "Wählen sie Ein Menü" Print "1.Start" Print "2.Readme" Print "3.Ende" Print(" Was möchten sie tun?") WaitKey If KeyDown(4) = 1 Then End If KeyDown(3) = 1 Then Print "Kommt bald" If KeyDown(2) = 1 Then Goto fragen .fragen Cls Locate 0,0 Name$ = Input$("Dein Name : ") Print "Hallo " + Name$ + " wollen wir doch mal dein Wissen prüfen" WaitKey Cls Locate 0,0 .Marke1 Frage = Input$("Welche Frage möchten sie?") Cls Locate 0,0 Select Frage Case 1 Print "Können Züge auf Reifen fahren?" Print "1.Ja" Print "2.Nein"Print WaitKey Cls Locate 0,0 If KeyDown(2) Then Print "Richtig!" Print If KeyDown(3) Then Print "Falsch!" Print Print"Einige U-Bahnzüge in Paris fahren auf Reifen" WaitKey Case 2 Print "Erzeugt Verdampfung Hitze oder Kälte?" Print "1.Hitze" Print "2.Kälte"Print WaitKey Cls Locate 0,0 If KeyDown(3) Then Print "Richtig!" Print If KeyDown(2) Then Print "Falsch!" Print WaitKey Case 3 Print "Wie Lange dauert es ein Straußenei zu kochen?" Print "1.2h Print "2.40min"Print Antwort1 = Input$("Welche Ziffer?") If Antwort1 = 1 Then Print "Falsch!" Print If Antwort1 = 2 Then Print "Richtig!" Print WaitKey Case 4 Print "Wie viele Erdbeben, die Schaden anrichten gibt es pro jahr ca.?" Print "1.100" Print "2.500"Print Antwort1 = Input$("Welche Ziffer?") If Antwort1 = 2 Then Print "Falsch!" Print If Antwort1 = 1 Then Print "Richtig!" Print WaitKey End Select Cls Locate 0,0 Print"weiter: 1" Print "Ende : 2" Ende = Input$() Select Ende Case 1 Cls Locate 0,0 Goto Marke1 Case 2 End End Select also ganz am anfang egal welche taste ich drück es kommt immer Dein name: wie bekomm ich das hin das wenn man im anfangsmenü wenn man auf 2 drückt "kommt bald" angezeigt wird und bei 3 beendet wird? und kein kommentar zu goto ![]() Edit: Codetags eingefügt. bitte selber dran denken. Und Code einrücken macht auch was her. MfG BladeRunner |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: If KeyDown(4) = 1 Then End If KeyDown(3) = 1 Then Print "Kommt bald" If KeyDown(2) = 1 Then Goto fragen .fragen Cls Locate 0,0 Name$ = Input$("Dein Name : ") Print "Hallo " + Name$ + " wollen wir doch mal dein Wissen prüfen" WaitKey Cls Locate 0,0 ganz einfach, weil Blitz Basic eine prozedurale sprache ist, also alles hintereinander abarbeitet. Hier machst du ne tastenabfrage und hast danach ne Marke gesetzt, Blitz registiert diese marke und macht mit der nächsten Zeile weiter ersetze mal folgende Zeile: Zitat: If KeyDown(3) = 1 Then Print "Kommt bald": waitkey():end und bei Waitkey[b]()[/] immer die klammern setzen, da die Funktion einen Rückgabewert hat. für den Anfang, um mit den Grundbefehlen rumzuspielen ist das Programm ok, aber schlechter Stil, schau dir hier im Forum mal ein paar codes an, wie man richtig formatiert, etc |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
- Zuletzt bearbeitet von skey-z am So, Dez 17, 2006 22:23, insgesamt einmal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bin mir ziemlich sicher, dass KeyDown in der Konsole nicht geht.
Aber selbst wenn doch: Nimm den Rückgabewert von Waitkey (Ja das gibt was zurück ![]() Dann gibts auch kein Goto mehr ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
- Zuletzt bearbeitet von Dreamora am So, Dez 17, 2006 22:24, insgesamt 2-mal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Er verzweigt vielleicht sogar in das kommt bald.
Da Du aber danach keine weiteren Anweisungen stehen hast wird der Code danach ausgeführt, und das ist deine .fragen Sektion, bei der zu allererst mal der Bildschirm gelöscht wird. |
||
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 |
Both |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So erstmal vielen dank für die antworten. Dank der Hilfe von Skey-z funktioniert es jetzt ![]() und das mit meiner codeart... naja ich bin halt anfänger und ich find den befehl goto gar niht so unpraktisch ![]() Code: [AUSKLAPPEN] AppTitle "Wer wird Milliadaer" Graphics 640,480 .start Print "Wählen sie Ein Menü" Print "1.Start" Print "2.Readme" Print "3.Ende" Print(" Was möchten sie tun?") WaitKey If KeyDown(4) = 1 Then End If KeyDown(3) = 1 Then Cls Locate 0,0 Print "Kommt bald" WaitKey Cls Goto start If KeyDown(2) = 1 Then Goto fragen .fragen Cls Locate 0,0 Name$ = Input$("Dein Name : ") Print "Hallo " + Name$ + " wollen wir doch mal dein Wissen prüfen" WaitKey Cls Locate 0,0 .Marke1 Frage = Input$("Welche Frage möchten sie?") Cls Locate 0,0 Select Frage Case 1 Print "Können Züge auf Reifen fahren?" Print "1.Ja" Print "2.Nein"Print WaitKey Cls Locate 0,0 If KeyDown(2) Then Print "Richtig!" Print If KeyDown(3) Then Print "Falsch!" Print Print"Einige U-Bahnzüge in Paris fahren auf Reifen" WaitKey Case 2 Print "Erzeugt Verdampfung Hitze oder Kälte?" Print "1.Hitze" Print "2.Kälte"Print WaitKey Cls Locate 0,0 If KeyDown(3) Then Print "Richtig!" Print If KeyDown(2) Then Print "Falsch!" Print WaitKey Case 3 Print "Wie Lange dauert es ein Straußenei zu kochen?" Print "1.2h Print "2.40min"Print Antwort1 = Input$("Welche Ziffer?") If Antwort1 = 1 Then Print "Falsch!" Print If Antwort1 = 2 Then Print "Richtig!" Print WaitKey Case 4 Print "Wie viele Erdbeben, die Schaden anrichten gibt es pro jahr ca.?" Print "1.100" Print "2.500"Print Antwort1 = Input$("Welche Ziffer?") If Antwort1 = 2 Then Print "Falsch!" Print If Antwort1 = 1 Then Print "Richtig!" Print WaitKey End Select Cls Locate 0,0 Print"weiter: 1" Print "Ende : 2" Ende = Input$() Select Ende Case 1 Cls Locate 0,0 Goto Marke1 Case 2 End End Select EndIf Edit : oh mist mir is gerade aufgefallen das jetzt meine fragen nicht mehr gehn edit die 2.^^: jetzt gehts doch ich muss dass endif am ende nach oben verschieben |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ist worst case code sorry.
du hast einen IF Block und springst mit Goto innerhalb dieses Blocks herum, selectest noch mitten drin etc etc und eingerückt ist der ganze Spass auch nicht. Das ist, um es gelinde auszudrücken, kein Codestil sondern ein Teller Buchstabensuppe. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group