Ich hasse Code Bloat!
Deshalb habe ich mich entschlossen, mein Windows 7-System durch eine Golfversion zu ersetzen. Ich weiß jedoch, dass es nicht einfach ist, also lassen Sie uns zuerst einen Prototyp erstellen. Es wird eine Liste von Fenstern vom Benutzer abgerufen und diese in einer pseudografischen Anzeige auf der Standardausgabe angezeigt.
Zum Beispiel: Benutzereingabe:
0,0,15,10 15,10,20,15 10,13,15,15 9,1,16,3 17,5,20,7 11,2,17,4 15,4,19,6 13,3,18,5
Der Code Golf® Window Manager ™ gibt Folgendes aus:
┌──────────────┐ │ :::::::: ┌─────┴┐ │ :::::::: │: ┌────┴┐ │ :::::::: └─┤: ┌───┴┐ │ :::::::::: └─┤ :::: ├┐ │ :::::::::::: └─┬──┘├┐ │ :::::::::::::: ├─┬─┘│ │ :::::::::::::: │ │ │ :::::::::::::: │ │ :::::::::::::: │ └──────────────┼────┐ │ :::: │ │ :::: │ ┌────┤ :::: │ │ :::: │ :::: │ └────┴────┘
Eingang:
- Entnommen aus der Standardeingabe (oder, falls Ihr System nicht über
stdin
eine Methode verfügt, die mehrere Eingabezeilen bereitstellen kann) - Jede Zeile enthält 4 Zahlen, die durch Komma - Koordinaten eines Fensters getrennt sind
- Die ersten beiden Zahlen: linke obere Ecke; Die letzten beiden Zahlen: untere rechte Ecke
- Mit
x,y
Notation
Ausgabe:
- Schreiben Sie es in die Standardausgabe (oder, falls Ihr System nicht über
stdout
etwas verfügt , das monospaced Text anzeigt). - Verwenden Sie zum Zeichnen von Fenstergrenzen einzelne Box-Drawing-Zeichen aus Codepage 437
- Windows, das später in der Eingabe angegeben wird, verdeckt die zuvor angegebenen
- Füllen Sie die Fenster mit dem Doppelpunkt:
:
- Führende und nachfolgende Leerzeichen sind in Ordnung, sofern sie die Ausrichtung der Fenster nicht beeinträchtigen
Anmerkungen:
- Maximale Auflösung, die ich unterstützen möchte: 76 (horizontal) mal 57 (vertikal)
- Keine Notwendigkeit, schlechte Eingaben zu unterstützen
- Maximale Anzahl von Fenstern: 255 (wenn Sie ein Limit benötigen)
- Meine Windows 7-
cmd
Shell zeigt standardmäßig Codepage mit 437 Zeichen an. Wenn jemand eine Möglichkeit hat, dies unter Linux zu tun (mitxterm
oder was auch immer), beschreiben Sie dies bitte hier
Zu Referenzzwecken lauten die Zeichencodes:
┌da ─c4 ┬c2 ┐bf
│b3 :3a │b3 │b3
├c3 ─c4 ┼c5 ┤b4
└c0 ─c4 ┴c1 ┘d9
Insgesamt: 12 verschiedene Charaktere.
javascript:$('pre').css('line-height','1em')