Saya benci kode mengasapi!
Jadi saya memutuskan untuk mengganti sistem Windows 7 saya dengan versi golf. Namun, saya tahu itu tidak mudah, jadi mari kita membangun prototipe terlebih dahulu. Ini akan mengambil daftar windows dari pengguna dan menunjukkannya menggunakan tampilan pseudo-grafis pada output standar.
Misalnya: input pengguna:
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
Keluaran Code Golf® Window Manager ™:
┌──────────────┐
│ :::::::: ┌─────┴┐
│ :::::::: │: ┌────┴┐
│ :::::::: └─┤: ┌───┴┐
│ :::::::::: └─┤ :::: ├┐
│ :::::::::::: └─┬──┘├┐
│ :::::::::::::: ├─┬─┘│
│ :::::::::::::: │ └──┘
│ :::::::::::::: │
│ :::::::::::::: │
└──────────────────
│ :::: │
│ :::: │
┌────┤ :::: │
│ :::: │ :::: │
└────┴────┘
Memasukkan:
- Diambil dari input standar (atau, jika sistem Anda tidak memiliki
stdin, metode apa pun yang dapat memberikan beberapa jalur input) - Setiap baris berisi 4 angka, dibatasi oleh koma - koordinat jendela
- Dua angka pertama: sudut kiri atas; dua angka terakhir: sudut kanan bawah
- Menggunakan
x,ynotasi
Keluaran:
- Tulis ke output standar (atau, jika sistem Anda tidak memiliki
stdout, apa pun yang menampilkan teks monospace) - Gunakan karakter menggambar kotak tunggal dari Kode 437 untuk menggambar batas jendela
- Windows yang ditentukan kemudian dalam input mengaburkan yang ditentukan sebelumnya
- Isi jendela dengan karakter titik dua:
: - Ruang depan dan belakang tidak apa-apa, asalkan tidak merusak perataan jendela
Catatan:
- Resolusi maksimum yang ingin saya dukung: 76 (horizontal) oleh 57 (vertikal)
- Tidak perlu mendukung input yang buruk
- Jumlah jendela maksimum: 255 (jika Anda membutuhkan batas)
cmdShell Windows 7 saya menampilkan codepage 437 karakter secara default; jika ada yang punya cara untuk melakukannya di linux (menggunakanxtermatau apa pun), tolong jelaskan di sini
Untuk referensi, kode karakter adalah:
┌da ─c4 ┬c2 ┐bf
│b3 :3a │b3 │b3
├c3 ─c4 ┼c5 ┤b4
└c0 ─c4 ┴c1 ┘d9
Total: 12 karakter berbeda.
javascript:$('pre').css('line-height','1em')