[Console] Wenn N gedrückt, automatisch einen... (gelöst)

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

[Console] Wenn N gedrückt, automatisch einen... (gelöst)

Beitrag von PureBaser »

Hi Leute,

bin mit meinen Wissen (dank euch!!!) kurz davor nen richtiges kleines Textadventure als große Übung zu kreiern. Das einzige was mir noch fehlt ist folgendes:

Ein Textadventureparser allgemein versteht folgende Angaben: [verb] + [Gegenstand], also z.B. "Nimm Schlüssel" oder "Öffne Tür" (ich weiß, originell :wink: )

Nun will ich dem Benutzer Eingabe ersparen, wenn er also "n"-Taste drückt, soll immer "imm" automatisch beigefügt werden, bei der "g"-Taste "ib" usw. Momentan passiert das nur wenn man zusätzlich Enter drückt.

Wenn das nicht in der Console möglich ist, vielleicht dann in Windows?

Thx!!
Zuletzt geändert von PureBaser am 15.04.2006 22:08, insgesamt 1-mal geändert.
PB4 & WinXP_SP2
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Vielleicht hilft dir das etwas.

Code: Alles auswählen

  Procedure readKey()
    
    repeat ; wird solange durchlaufen bis e oder E eingegeben wird
      key.s = inkey() ; liest ein Zeichen 
      IF key ; wurde ein Taste gedrueckt 
        select lcase(key) ; key in kleinbuchstaben umwandeln
          case "n" ; taste war n 
            PrintN("Nimm ") 
          case "g" ; taste war n
            PrintN("Gib ")
          case "e" ; taste war e
            PrintN("ENDE ") 
            break ; schleife (repeat - forever) wird beendet und die procedure verlassen
        EndSelect 
      Endif  
    ForEver 
  EndProcedure
  
  OpenConsole()
  Printn("Nimm Gib Ende")  
  readKey() ; springt zur procedure 
  Input()
  CloseConsole()
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

Guter Code, funktioniert aber nicht... "Nimm Gib Ende" wird ausgegeben sonst passiert nix!
PB4 & WinXP_SP2
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Auch die entsprechenden Tasten gedrueckt ?
Benutzeravatar
FGK
Beiträge: 249
Registriert: 09.01.2005 14:02
Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit
Wohnort: Augsburg

Beitrag von FGK »

@hallodri

:lol: Mann! Verwirr doch den PureBaser nicht mit solchen Ausgaben

Code: Alles auswählen

PrintN("Nimm Gib Ende") 
@PureBaser

Wirklich! Solltest echt mal die Beispiele richtig ausprobieren bevor du hirnlose Posts hier abgibst!
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

Das war keine hirnlose Antwort. Ich wollte nur zum Ausdruck bringen, dass das Programm außer der Print-Anzeige nicht mehr reagiert und "einfriert" = Das Programm reagiert nicht auf Tasteneingaben!
PB4 & WinXP_SP2
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

also, bei mir reagiert es auf die tasten n, g und e :?

:wink:
-.-"
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

Aha, Fehler gefunden:

In PB 3.94 muss es wohl ein Bug geben, denn in PB4 Beta10 funktioniert das Beispiel problemlos!
PB4 & WinXP_SP2
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

in 3.9 funktioniert Case nicht mit strings

müßte man also in den zahlenwert konvertieren...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

Alles klar! :allright:
PB4 & WinXP_SP2
Antworten