Kod şişkinliğinden nefret ediyorum!
Bu yüzden Windows 7 sistemimi golf versiyonuyla değiştirmeye karar verdim. Ancak bunun kolay olmadığını biliyorum, önce bir prototip yapalım. Kullanıcıdan bir pencere listesi alır ve bunları standart çıktıda bir sahte grafik ekran kullanarak gösterir.
Örneğin: kullanıcı girişi:
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
Code Golf® Window Manager ™ çıktıları:
┌──────────────┐ │ :::::::: ┌─────┴┐ │ :::::::: │: ┌────┴┐ │ :::::::: └─┤: ┌───┴┐ │ :::::::::: └─┤ :::: ├┐ │ :::::::::::: └─┬──┘├┐ │ :::::::::::::: ├─┬─┘│ │ ::::::::::::::: │ └──┘ │ :::::::::::::: │ │ :::::::::::::: │ └──────────────┼────┐ │ :::: │ │ :::: │ ┌────┤ :::: │ │ :::: │ :::: │ └────┴────┘
Giriş:
- Standart girişten alınır (veya sisteminizde yoksa
stdin
, birkaç giriş satırı sağlayabilecek herhangi bir yöntem) - Her satır, virgülle ayrılmış 4 sayı içerir - bir pencerenin koordinatları
- İlk iki sayı: sol üst köşe; son iki sayı: sağ alt köşe
x,y
Notasyonu kullanma
Çıktı:
- Standart çıktıya yazın (veya sisteminizde hiç
stdout
boşluk bırakılmamış metin görüntüleyen bir şey varsa) - Pencere sınırları çizmek için Kod Page 437'deki tek kutu çizim karakterlerini kullanma
- Girişte daha sonra belirtilen Windows, daha önce belirtilenleri geçersiz kılar
- Pencereleri iki nokta üst üste karakteriyle doldurun:
:
- Pencerelerin hizalamasını bozmadıkları sürece öndeki ve arkadaki boşluklar uygundur
Notlar:
- Desteklemek istediğim maksimum çözünürlük: 76 (yatay) x 57 (dikey)
- Kötü girişi desteklemeye gerek yok
- Maksimum pencere sayısı: 255 (bir sınıra ihtiyacınız varsa)
- Windows 7
cmd
kabuğum varsayılan olarak kod sayfası 437 karakter gösteriyor; linux'da bunu yapmanın bir yolu varsa (kullananxterm
veya herhangi bir şey), lütfen burada açıklayın
Referans olarak, karakter kodları:
┌da ─c4 ┬c2 ┐bf
│b3 :3a │b3 │b3
├c3 ─c4 ┼c5 ┤b4
└c0 ─c4 ┴c1 ┘d9
Toplam: 12 farklı karakter.
javascript:$('pre').css('line-height','1em')