Nienawidzę nadęty kod!
Postanowiłem więc zastąpić mój system Windows 7 wersją golfową. Wiem jednak, że nie jest to łatwe, więc najpierw zbudujmy prototyp. Spowoduje to pobranie listy okien od użytkownika i wyświetlenie ich za pomocą pseudo-graficznego wyświetlacza na standardowym wyjściu.
Na przykład: dane wejściowe użytkownika:
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
Wyjście Code Golf® Window Manager ™:
┌──────────────┐
│ :::::::: ┌─────┴┐
│ :::::::: │: ┌────┴┐
│ :::::::: └─┤: ┌───┴┐
│ :::::::::: └─┤ :::: ├┐
│ ::::::::::::: └─┬──┘├┐
│ :::::::::::::: ├─┬─┘│
│ ::::::::::::::: │ └──┘
│ :::::::::::::: │
│ :::::::::::::: │
└──────────────┼────┐
│ :::: │
│ :::: │
┌────┤ :::: │
│ :::: │ :::: │
└────┴────┘
Wejście:
- Pobrane ze standardowego wejścia (lub, jeśli twój system nie ma
stdin, jakiejkolwiek metody, która może zapewnić kilka linii wejściowych) - Każda linia zawiera 4 liczby, oddzielone przecinkami - współrzędne okna
- Pierwsze dwie cyfry: lewy górny róg; dwie ostatnie cyfry: prawy dolny róg
- Za pomocą
x,ynotacji
Wynik:
- Zapisz go na standardowym wyjściu (lub, jeśli twój system nie ma
stdout, cokolwiek, co wyświetla tekst o stałej szerokości) - Do rysowania granic okien używaj pojedynczych znaków do rysowania ramek ze strony Kod 437
- System Windows określony później w danych wejściowych zasłania te określone wcześniej
- Wypełnij okna znakiem dwukropka:
: - Wiodące i końcowe spacje są OK, o ile nie naruszają wyrównania okien
Uwagi:
- Maksymalna rozdzielczość, którą chcę obsługiwać: 76 (poziomo) na 57 (pionowo)
- Nie ma potrzeby obsługi złych danych wejściowych
- Maksymalna liczba okien: 255 (jeśli potrzebujesz limitu)
- Moja
cmdpowłoka systemu Windows 7 domyślnie wyświetla 437 znaków strony kodowej; jeśli ktoś ma sposób to zrobić na Linuksie (używającxtermlub cokolwiek), opisz to tutaj
Dla porównania, kody znaków to:
┌da ─c4 ┬c2 ┐bf
│b3 :3a │b3 │b3
├c3 ─c4 ┼c5 ┤b4
└c0 ─c4 ┴c1 ┘d9
Łącznie: 12 różnych postaci.
javascript:$('pre').css('line-height','1em')