Stellen Sie sicher, dass Sie die andere Herausforderung, die umgekehrte ASCII-Zeichentabelle, sehen !
Der ASCII-Zeichensatz (American Standard Code for Information Interchange) ist der am häufigsten verwendete Standard für die Zeichencodierung. ASCII-Codes stehen für Text in Computern, Telekommunikationsgeräten und anderen Geräten.
Herausforderung
Ihre Herausforderung besteht darin, eine Zuordnung des ASCII-Zeichensatzes zu drucken, während der Benutzer sie eingibt. GIF:
Nachdem der Benutzer jedes ASCII-Zeichen eingegeben hat, sollte die Ausgabe folgendermaßen aussehen:
Kartierung
Jedes Zeichen hat eine zugewiesene Position in einem 16x6-Logikraster, beginnend mit dem Leerzeichen in der oberen linken Position, und wird so umbrochen, dass die Ziffer 0 darunter angezeigt wird.
Wenn druckbare ASCII-Eingaben empfangen werden, drucken Sie dieses ASCII-Zeichen an der zugewiesenen Bildschirmposition, ohne eines der derzeit auf dem Bildschirm angezeigten Zeichen zu löschen.
Regeln
- Ihr Programm muss nur die druckbaren ASCII-Zeichen zuordnen,
0x20
um0x7E
. - Ihr Programm darf erst dann beendet werden, wenn alle druckbaren ASCII-Zeichen eingegeben wurden. Von hier aus kann Ihr Programm entweder beendet oder in Neverland ausgeführt werden.
- Ihr Programm kann Zeichen beliebig zuordnen, z. B. zu einer Tabelle, einer Tabelle, einem Konsolenfenster oder einem Grafikfenster.
- Unabhängig davon, wie Sie das Mapping anzeigen, muss es in Echtzeit aktualisiert werden (sobald Benutzereingaben eingehen).
- Wenn Ihr Programm Eingaben nicht im Hintergrund liest, muss es den Cursor aus dem Weg räumen, damit der Text die Karte nicht behindert.
Hilfe
Hier ist der Pseudocode-Algorithmus, mit dem ich das GIF erstellt habe:
loop forever
c = input
y_coord = c / 16
x_coord = c - y * 16
if c is printable
print c at (x_coord * 2 + 1, y_coord + 1)
end if
end loop
Es kann auch einen anderen Weg geben, um die erforderliche Leistung zu erzielen. Sie können meinen oder Ihren eigenen Algorithmus verwenden, aber die Ausgabe muss unabhängig davon gleich sein.
Hier ist eine nützliche ASCII-Tabellenreferenz.
Wertung
Die Antwort mit den wenigsten Bytes in jeder Sprache gewinnt. Habe Spaß!