Je déteste le ballonnement de code!
J'ai donc décidé de remplacer mon système Windows 7 par une version golfée. Cependant, je sais que ce n'est pas facile, alors construisons d'abord un prototype. Il prendra une liste de fenêtres de l'utilisateur et les montrera en utilisant un affichage pseudo-graphique sur la sortie standard.
Par exemple: entrée utilisateur:
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
Le Code Golf® Window Manager ™ produit:
┌──────────────┐
│ :::::::: ┌─────┴┐┴┐
│ :::::::: │: ┌────┴┐
│ :::::::: └─┤: ┌───┴┐
│ :::::::::: └─┤ :::: ├┐
│ :::::::::::: └─┬──┘├┐
│ ::::::::::::::: ├─┬─┘│
│ ::::::::::::::: │ └──┘
│ ::::::::::::::: │
│ ::::::::::::::: │
└──────────────┼────┐
│ :::: │
│ :::: │
┌────┤ :::: │
│ :::: │ :::: │
└────┴────┘
Contribution:
- Extrait d'une entrée standard (ou, si votre système n'en a pas
stdin, de toute méthode pouvant fournir plusieurs lignes d'entrée) - Chaque ligne contient 4 chiffres, délimités par des virgules - coordonnées d'une fenêtre
- Deux premiers chiffres: coin supérieur gauche; deux derniers chiffres: coin inférieur droit
- En utilisant la
x,ynotation
Production:
- Écrivez-le sur la sortie standard (ou, si votre système n'en a pas
stdout, tout ce qui affiche du texte à espacement fixe) - Utiliser des caractères de dessin de boîte unique de la page de codes 437 pour dessiner les limites des fenêtres
- Les fenêtres spécifiées plus tard en entrée masquent celles spécifiées plus tôt
- Remplissez les fenêtres avec le caractère deux-points:
: - Les espaces de début et de fin sont OK, tant qu'ils ne cassent pas l'alignement des fenêtres
Remarques:
- Résolution maximale que je souhaite prendre en charge: 76 (horizontal) par 57 (vertical)
- Pas besoin de supporter une mauvaise entrée
- Nombre maximum de fenêtres: 255 (si vous avez besoin d'une limite)
- Mon
cmdshell Windows 7 affiche la page de codes 437 caractères par défaut; si quelqu'un a un moyen de le faire sur linux (en utilisantxtermou autre), veuillez le décrire ici
Pour référence, les codes de caractères sont:
┌da ─c4 ┬c2 ┐bf
│b3 :3a │b3 │b3
├c3 ─c4 ┼c5 ┤b4
└c0 ─c4 ┴c1 ┘d9
Total: 12 personnages différents.
javascript:$('pre').css('line-height','1em')