www.mikrocontroller.net

Forum: PC-Programmierung Wie funktioniert Spiele-Consoleneingabe bzw. CLI?


Autor: X. H. (shadow0815)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spiele-Console - Funktion?

Hi. Es gibt ja Egoshooter, wo man in der Console
Befehle wie "renderer.drafps=1" eingeben kann.
Wie funktioniert die Console?

Ich meine, bei Eingabe von "renderer.drafps=1" und
abschließendem Enter, wird da die gesamte Zeile
als String aufgefasst und dann analysiert und in Teilstrings zerlegt?
In einen Teilstring würde ich das dann zerlegen in dem ich zuerst nach
dem Punkt suche. Aber es gibt ja leider
sicherlich auch Befehle ohne Punkt. Also macht eine solche Analyste
wieder keinen Sinn...
Hätte ich nun Teilstrings, wie würde ich nun die dem String zugehörige
Struktur/Klasse ansprechen?
Oder wird durch die Eingabe von "renderer.drafps=1" direkt
eine Struktur/Klasse renderer manipuliert mit dem
Attribit drafps ???
Je leger ich drüber nachdenke, desto komplexer scheint eine simpel
anscheinende Konsole zu sein.


Oder wie funktioniert eine CLI wie die Command bei Windows/Linux?

So nach dem Motto:

Wenn Aktivität festgestellt, lese string, analysiere diesen und führe
aus?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hinter einem CLI stehen immer Tokenizer, Parser und Interpreter. Das
wären so die Schlagworte nach denen du dich mal umhören kannst.

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Oder wird durch die Eingabe von "renderer.drafps=1" direkt
>eine Struktur/Klasse renderer manipuliert mit dem
>Attribit drafps ???

Das passiert bestimmt nicht.
Es werden die Eingaben mit "Wörtern" (Zeichenfolgen/Strings)
vergleichen, die das Programm kennt.
Das kann man buchstabenweise machen oder den gesamten String erst mal
in mehrere einzelne aufteilen.
Enden tut das dann in einerm switch-case- oder if-else-Grab...
Dazu "normiert man die Engabe auch noch (z.B. komplett in
Kleinbuchstaben wandeln).
Dann sucht man im String nach Trennzeichen (hier: ".")
den vorderen Teil analysiert man dann daraufhin, ob es sich dabei um
ein bekanntes Wort handelt. Ist das der Fall, wird der String weiter
zerteilt bis man beim "=" ankommt.
Die folgenden Zeichen sind dann ja Parameter, die der entsprechenden
Funktion übergeben werden...

Sowas nennt man "Parser".
http://de.wikipedia.org/wiki/Parser

Autor: X. H. (shadow0815)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfen.
So verstehe ich wie eine CLI funktioniert und könnte in nem Controller 
mal ne CLI für die serielle Schnittstelle aufdrücken ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.