Seite 1 von 1

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

Verfasst: 14.04.2006 20:43
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!!

Verfasst: 14.04.2006 21:00
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()

Verfasst: 14.04.2006 21:06
von PureBaser
Guter Code, funktioniert aber nicht... "Nimm Gib Ende" wird ausgegeben sonst passiert nix!

Verfasst: 15.04.2006 15:51
von edel
Auch die entsprechenden Tasten gedrueckt ?

Verfasst: 15.04.2006 16:21
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!

Verfasst: 15.04.2006 21:29
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!

Verfasst: 15.04.2006 21:30
von Green Snake
also, bei mir reagiert es auf die tasten n, g und e :?

:wink:

Verfasst: 15.04.2006 21:50
von PureBaser
Aha, Fehler gefunden:

In PB 3.94 muss es wohl ein Bug geben, denn in PB4 Beta10 funktioniert das Beispiel problemlos!

Verfasst: 15.04.2006 22:01
von Kaeru Gaman
in 3.9 funktioniert Case nicht mit strings

müßte man also in den zahlenwert konvertieren...

Verfasst: 15.04.2006 22:08
von PureBaser
Alles klar! :allright: