Tôi ghét sự phình to mã!
Vì vậy, tôi đã quyết định thay thế hệ thống Windows 7 của mình bằng một phiên bản golf. Tuy nhiên, tôi biết rằng nó không dễ dàng, vì vậy trước tiên hãy xây dựng một nguyên mẫu. Nó sẽ lấy một danh sách các cửa sổ từ người dùng và hiển thị chúng bằng màn hình giả đồ họa trên đầu ra tiêu chuẩn.
Ví dụ: đầu vào của người dùng:
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
Đầu ra Code Golf® Window Manager ™:
─────────────── │ :::::::: ─────┴┐ ::::::::: ────┴┐ :::::::: ─┤: ┌───┴┐ │ :::::::::: ─┤ :::: │ :::::::::::: └─┬──┘├┐ │ :::::::::::::: ├─┬─┘│ │ :::::::::::::: │ └──┘ │ :::::::::::::: │ │ :::::::::::::: │ ──────────────┼────┐ │ :::: │ :::: ┌────┤ :::: │ :::: │ :::: └────┴────┘
Đầu vào:
- Lấy từ đầu vào tiêu chuẩn (hoặc, nếu hệ thống của bạn không có
stdin
, bất kỳ phương pháp nào có thể cung cấp một số dòng đầu vào) - Mỗi dòng chứa 4 số, được phân cách bằng dấu phẩy - tọa độ của một cửa sổ
- Hai số đầu tiên: góc trên bên trái; hai số cuối: góc dưới bên phải
- Sử dụng
x,y
ký hiệu
Đầu ra:
- Viết nó vào đầu ra tiêu chuẩn (hoặc, nếu hệ thống của bạn không có
stdout
, bất cứ thứ gì hiển thị văn bản đơn cách) - Sử dụng các ký tự vẽ hộp đơn từ Mã trang 437 để vẽ ranh giới cửa sổ
- Windows được chỉ định sau trong đầu vào che khuất những cái được chỉ định trước đó
- Điền vào các cửa sổ với ký tự dấu hai chấm:
:
- Không gian hàng đầu và dấu vết đều ổn, miễn là chúng không phá vỡ sự liên kết của các cửa sổ
Ghi chú:
- Độ phân giải tối đa tôi muốn hỗ trợ: 76 (ngang) bằng 57 (dọc)
- Không cần hỗ trợ đầu vào xấu
- Số lượng cửa sổ tối đa: 255 (nếu bạn cần giới hạn)
- Trình
cmd
bao Windows 7 của tôi hiển thị codepage 437 ký tự theo mặc định; Nếu bất cứ ai có cách để làm điều đó trên linux (sử dụngxterm
hoặc bất cứ điều gì), vui lòng mô tả nó ở đây
Để tham khảo, mã ký tự là:
┌da ─c4 ┬c2 ┐bf
│b3 :3a │b3 │b3
├c3 ─c4 ┼c5 ┤b4
└c0 ─c4 ┴c1 ┘d9
Tổng cộng: 12 nhân vật khác nhau.
javascript:$('pre').css('line-height','1em')