Wenn Sie mit Hackertyper nicht vertraut sind, lesen Sie hackertyper.net . Kurz gesagt, es ist ein Programm, das einen Teil einer Codebasis pro Tastendruck für komödiantische Effekte ausgibt. ABER die hackertyper.net Version ist viel zu einfach zu implementieren. Es werden einfach drei Zeichen gleichzeitig aus einem beliebigen Code ausgegeben. Für diese Herausforderung muss ein Programm seinen eigenen Quellcode ausgeben und einen durch Leerzeichen getrennten Codeabschnitt pro Tastendruck drucken .
Einzelheiten
- Man kann einen Dateinamen für das Programm nicht hart codieren; es muss seinen Namen dynamisch bestimmen. Wenn das Programm zu einer ausführbaren Datei kompiliert, hängt es möglicherweise die Standarddateierweiterung an den Namen der ausführbaren Datei an (mit Ausnahme der EXE-Datei, wenn Windows verwendet wird) und geht davon aus, dass sich die Quelldatei im Verzeichnis der ausführbaren Datei befindet. Wenn eine ausführbare C-Datei beispielsweise "hacker" heißt, sollte sie ihren Quellcode aus einer Datei mit dem Namen "hacker.c" in demselben Verzeichnis abrufen. Wenn ein kompiliertes Programm eine Erweiterung hat, sollte diese gelöscht werden, bevor der Name seines Quellcodes ermittelt wird ("typer.exe" -> "typer.cs").
- Programme müssen mindestens 5 Leerzeichen enthalten, wobei zwischen jedem Leerzeichen mindestens ein Zeichen stehen muss. Dies bedeutet, dass die kleinstmögliche Größe für diese Herausforderung 9 Byte beträgt. Die Räume müssen nicht entscheidend für das Funktionieren des Programms sein.
- Alle Formatierungen (Einrückungen, neue Zeilen usw.) müssen in der Ausgabe beibehalten werden. Diese Formatierung kann entweder mit dem Code gedruckt werden, der darauf folgt, oder es kommt darauf an, dass die Formatierung beibehalten wird.
- Verwenden Sie keine Kommentare, um die 5 Speicherplatzanforderungen zu erfüllen, es sei denn, es gibt keine andere Möglichkeit, die Leerzeichen in der Sprache Ihrer Wahl zu implementieren.
BEARBEITEN : Neue Zeilen können anstelle von oder zusätzlich zu Leerzeichen als Blocktrennzeichen verwendet werden.