Seite 1 von 1

Inkey() funktioniert nicht. OSX 10.11.2

Verfasst: 18.12.2015 13:51
von esso4es
hi leute,

ich bin neu hier und verwende die sprache PureBASIC erst seit gut einer woche...

daher wollte ich zur einarbeitung mal ein kleines konsolen spiel schreiben.

jetzt hab ich nur das problem, dass mir die eingabe mit input() an manchen stellen einfach nicht so gut gefällt.

hab mich schon mit einigen versuchen rum geschlagen und auch den code zum thema inkey() aus dem referenzhandbuch getestet... es funktioniert einfach nicht.

die synthome sind, das das prg bei inkey() einfach stehen bleibt und egal wie wild ich auf die tasten hau... es passiert nix.

Code: Alles auswählen

Repeat
  key.s = Inkey()
Until key.s <> ""
diesen drei zeiler habe ich jetzt schon lange genug angefleht zu funktionieren...

hat von euch einer eine idee, wie ich dieses problem ungehen kann?

wie im titel zu lesen, ich verwende "el capitan" ...

schon mal danke im vorraus.

mfg
esso4es

Re: Inkey() funktioniert nicht. OSX 10.11.2

Verfasst: 18.12.2015 14:29
von alter Mann
Inkey() wartet nicht auf eine Eingabe, Deine Schleife wird also sofort verlassen. Versuch es erst mal mit dem Beispiel aus der Hilfe zu Inkey().

Re: Inkey() funktioniert nicht. OSX 10.11.2

Verfasst: 18.12.2015 15:12
von NicTheQuick
Seine Schleife wird erst verlassen, wenn eine Taste gedrückt wird.

Code: Alles auswählen

OpenConsole()
	Repeat
		key.s = Inkey()
	Until key.s <> ""
	PrintN("Pressed key: " + key)
	s.s = Input()
CloseConsole()
Komischerweise wird das Konsolenfenster bei mir unter Linux direkt geschlossen, obwohl es eigentlich bei "Input()" stehen bleiben soll.

Re: Inkey() funktioniert nicht. OSX 10.11.2

Verfasst: 19.12.2015 13:42
von esso4es
tja, scheinbar verhält sich pb doch nicht auf allen drei desktop os gleich...

mir is nämlich noch was weiteres aufgefallen. scheinbar kann ich nur mit den ersten acht farben des terminal arbeiten.
die oberen 8 farben sind nicht zu erreichen.

so bewirkt:

Code: Alles auswählen

ConsoleColor(7,0)
das selbe wie:

Code: Alles auswählen

ConsoleColor(15,0)
ich hab etwas mit den terminal farb einstellungen gespielt... ist halt leider echt so.

mkay, dass jetzt jedoch nur mal so am rande.

da inkey() nicht funktioniert hatte ich ne andere idee... bei der ich jedoch wegen mangelnder erfahrung hilfe bei der realisierung brauche.

kann mir einer von euch zeigen?

wie ich ein möglichst kleines (optional auch verstecktes)
OpenWindowedScreen() hin bekomme, welches dan mit KeyboardInkey() od. KeyboardReleased() od. KeyboardPushed() die tasten abfragt und das ergebniss dan in mein terminal prg überträgt...?

ich hoffe einer von euch, hatt da dir richtige formel für mich...

schon mal danke im vorraus.

mfg
esso4es