Introduction:
J'ai vu qu'il n'y avait qu'un seul autre défi lié au badminton en ce moment . Depuis que je joue au badminton moi-même (depuis 13 ans maintenant), je me suis dit que j'ajouterais des défis liés au badminton. Voici le deuxième (le premier peut être trouvé ici ):
Défi:
Certaines règles sur le badminton servent:
- Un service sera toujours effectué en diagonale sur le filet.
- Vous devez toujours servir après la ligne parallèle et la plus proche du filet.
- La zone dans laquelle vous êtes autorisé à servir diffère selon qu'il s'agit d'un simple (1 vs 1) ou d'un double / mix (2 vs 2).
- Pour les célibataires (1 contre 1), la zone bleue dans l'image ci-dessous est l'endroit où vous êtes autorisé à servir. Il s'agit donc de la partie arrière, mais des parties latérales exclues.
- Pour les doubles / mix (2 vs 2), la zone verte dans l'image ci-dessous est l'endroit où vous êtes autorisé à serveur. Cela exclut donc la partie arrière, mais inclut les parties latérales.
- Vous ne pouvez pas rester sur les lignes lorsque vous servez. Mais la navette sera toujours à l'intérieur si elle atterrit en haut d'une ligne.
Voici l'aménagement d'un terrain de badminton:
Règles du défi:
Contribution:
Vous recevrez deux entrées:
- Quelque chose pour indiquer si nous jouons un simple ou double / mix (c'est-à-dire un booléen)
- Quelque chose pour indiquer à partir de quel bloc vous servez (c'est
[1,2,3,4]
-à- dire ou['A','B','C','D']
tel qu'utilisé dans l'image ci-dessus).
Production:
Seules les lignes pertinentes pour le service actuel (y compris le net), y compris un F
pour indiquer d'où vous servez et plusieurs T
pour indiquer où vous allez potentiellement servir.
Bien qu'en réalité, vous êtes autorisé à servir de et vers n'importe où dans les zones désignées, nous supposons qu'une personne qui servira se tiendra toujours dans le coin de la zone de service se ferme au milieu du filet, où vous placerez le F
. Et ils serviront à l'un des quatre coins de la zone où ils doivent servir, c'est là que vous placerez le T
s.
En tant qu'art ASCII, l'ensemble du terrain de badminton serait le suivant (les chiffres sont ajoutés pour que vous n'ayez pas à les compter vous-même):
2 15 15 2
+--+---------------+---------------+--+
| | | | | 1
+--+---------------+---------------+--+
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | 9
| | | | |
| | | | |
| | | | |
| | | | |
+--+---------------+---------------+--+
| | | | | 2
| | | | |
O=====================================O 37 times '='
| | | | |
| | | | | 2
+--+---------------+---------------+--+
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | 9
| | | | |
| | | | |
| | | | |
| | | | |
+--+---------------+---------------+--+
| | | | | 1
+--+---------------+---------------+--+
Exemples:
Voici deux exemples pour sortir uniquement les parties pertinentes du service:
Entrée: bloc simple et de service A
Sortie:
T---------------T
| |
+---------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
T---------------T
| |
| |
O=====================================O
| |
| |
+---------------+
| F|
| |
| |
| |
| |
| |
| |
| |
| |
+---------------+
| |
+---------------+
Comme vous pouvez le voir, le F
est ajouté dans le coin du bloc, mais T
remplace le +
dans la sortie ASCI-art.
Entrée: bloc double et de service C
Sortie:
+--+---------------+
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | F|
+--+---------------+
| | |
| | |
O=====================================O
| | |
| | |
T---------------+--T
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
T---------------+--T
Règles du défi:
- Les sauts de ligne de début et de fin sont facultatifs (y compris les deux lignes vides de début et de fin lorsque l'entrée est unique). Les espaces de fin sont également facultatifs. Les espaces de tête sont cependant obligatoires.
- Quatre entrées distinctes raisonnables pour indiquer à partir de quel bloc nous servons sont autorisées (pour les entiers, restez dans la plage [-999,999]); ainsi que deux entrées distinctes raisonnables pour indiquer s'il s'agit d'un simple ou double / mixage (veuillez noter cette lacune interdite pertinente , cependant). Veuillez indiquer les E / S que vous avez utilisées dans votre réponse!
- Vous êtes autorisé à utiliser des minuscules
f
ett
(ou des majuscules) au lieu deF
etT
. - Vous êtes autorisé à renvoyer une liste de lignes ou une matrice de caractères au lieu de renvoyer ou d'imprimer une seule chaîne de sortie.
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues non-golfeur de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse avec des règles d'E / S par défaut , vous êtes donc autorisé à utiliser STDIN / STDOUT, des fonctions / méthodes avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code (par exemple TIO ).
- De plus, l'ajout d'une explication à votre réponse est fortement recommandé.