ฉันเกลียดรหัสขยายตัว!
ดังนั้นฉันจึงตัดสินใจแทนที่ระบบ Windows 7 ของฉันเป็นเวอร์ชั่น golfed อย่างไรก็ตามฉันรู้ว่ามันไม่ง่ายดังนั้นเรามาสร้างต้นแบบก่อน จะใช้รายการหน้าต่างจากผู้ใช้และแสดงโดยใช้จอแสดงผลแบบกราฟิกเทียมบนเอาต์พุตมาตรฐาน
ตัวอย่างเช่น: อินพุตของผู้ใช้:
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 ™:
┌──────────────┐ │ :::::::: ┌─────┴┐ ││ ::::::::: ┌────┴┐ │ :::::::: └─┤: ┌───┴┐ │ :::::::::: └─┤ :::: ├┐ │ :::::::::::: └─┬──┘├┐ │ :::::::::::::: ├─┬─┘│ │ :::::::::::::: │ ││ :::::::::::::: ││ :::::::::::::: └──────────────┼────┐ ││ :::: ││ :::: ┌────┤ :::: │ ││ :::: :::: │ └────┴────┘
การป้อนข้อมูล:
- นำมาจากอินพุตมาตรฐาน (หรือหากระบบของคุณไม่มี
stdin
วิธีใด ๆ ที่สามารถให้อินพุตหลายบรรทัด) - แต่ละบรรทัดมี 4 หมายเลขคั่นด้วยเครื่องหมายจุลภาค - พิกัดของหน้าต่าง
- ตัวเลขสองตัวแรก: มุมบนซ้าย; ตัวเลขสองตัวสุดท้าย: มุมล่างขวา
- ใช้
x,y
สัญลักษณ์
เอาท์พุท:
- เขียนลงในเอาต์พุตมาตรฐาน (หรือหากระบบของคุณไม่มี
stdout
สิ่งใดที่แสดงข้อความที่มีช่องว่าง) - ใช้อักขระการวาดภาพกล่องเดียวจากรหัสหน้า 437สำหรับขอบเขตการวาดหน้าต่าง
- Windows ถูกระบุในภายหลังในอินพุตไม่ชัดเจนที่ระบุไว้ก่อนหน้า
- เติมหน้าต่างด้วยอักขระโคลอน:
:
- ช่องว่างนำหน้าและต่อท้ายนั้นใช้ได้ตราบใดที่ไม่แบ่งแนวหน้าต่าง
หมายเหตุ:
- ความละเอียดสูงสุดที่ฉันต้องการรองรับ: 76 (แนวนอน) โดย 57 (แนวตั้ง)
- ไม่จำเป็นต้องรองรับอินพุตที่ไม่ดี
- จำนวนหน้าต่างสูงสุด: 255 (ถ้าคุณต้องการขีด จำกัด )
- My Windows 7
cmd
shell แสดง codepage 437 ตัวอักษรโดยค่าเริ่มต้น หากใครมีวิธีที่จะทำเช่นนั้นบน linux (ใช้xterm
หรืออะไรก็ตาม) โปรดอธิบายที่นี่
สำหรับการอ้างอิงรหัสตัวอักษรคือ:
┌da ─c4 ┬c2 ┐bf
│b3 :3a │b3 │b3
├c3 ─c4 ┼c5 ┤b4
└c0 ─c4 ┴c1 ┘d9
ทั้งหมด: 12 ตัวอักษรที่แตกต่างกัน
javascript:$('pre').css('line-height','1em')