Parce que c'est samedi (UTC) et j'ai faim, j'aimerais une tranche de pizza. Je vais vous donner une commande et je voudrais une bonne pizza chaude art ascii . À la hauteur du défi?
Le service au volant
Je passerai ma commande où que se trouve votre service au volant, que ce soit STDIN, un paramètre de fonction, un argument de ligne de commande, mais je ne vais pas le mettre dans une variable pour vous. (Les expressions de fonction JS doivent être affectées à une variable.)
L'ordre
Ma commande comprendra 2 parties. Le premier sera un entier positif non nul de 3à 6. C'est la taille de ma pizza. Par exemple, une 6pizza de taille sans garniture ressemblerait à:
/=====\
/ \
| |
| |
\ /
\=====/
Une taille 5:
/====\
/ \
| |
\ /
\====/
Une taille 4:
/===\
| |
| |
\===/
Une taille 3
/==\
| |
\==/
Les garnitures
Mes garnitures seront une chaîne de lettres MAJUSCULES. Voici les valeurs possibles:
P - Pepperoni S - Saucisse N - piNeapple J - Jalapenos B - Poivrons bananes C - baCon
Vous devez les placer quelque part sur la pizza. Si je commande une taille 4 et PSPCJ, alors ceci est une sortie valide:
/===\
|PSPCJ|
| |
\===/
Voici donc:
/===\
|P P J|
| S C |
\===/
Et ça:
/===\
| |
|PSPCJ|
\===/
Je ne suis pas vraiment pointilleux sur l'endroit où mes garnitures sont sur la pizza, tant qu'elles ne sont pas sur la croûte ou les unes sur les autres.
La fenêtre de ramassage
Je vais aller à beaucoup d'endroits pour récupérer ma pizza, y compris STDOUT, un fichier, la valeur de retour d'une fonction, mais pas une variable.
Des trucs supplémentaires
- Failles standard interdites
- Il s'agit du code-golf, donc la réponse la plus courte en octets l'emporte!
- Ne vous inquiétez pas des entrées invalides (garnitures> espace pizza, etc.)
- Voir ma réponse (JS ES6) ci-dessous pour un exemple (j'espère que vous pouvez faire mieux)
̶5̶,̶ ̶N̶N̶N̶̶ VALIDE est également ̶ INPut (Doit - on au ̶ ̶5̶,̶ ̶N̶̶ INSTEAD) ̶ ̶ En outre, où sont les champignons ..? :( EDIT: P