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é.
Réponses:
Fusain , 81 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Prend la première entrée comme
1
ou2
pour les simples ou les doubles, la deuxième entrée comme celle deABCD
la question. Explication:Faites une boucle sur les largeurs pertinentes et les hauteurs de la
D
cour et dessinez les rectangles.Dessinez le filet et appliquez une symétrie de rotation pour ajouter la
A
cour.Ajoutez le
F
à laD
cour.Ajoutez les
T
s aux endroits appropriés duA
tribunal.Réfléchissez la sortie au besoin pour servir à partir du bon terrain.
la source
Python 2 ,
285284 octetsEssayez-le en ligne!
Prend l'entrée comme
0/1
(ouFalse/True
) pour le type de jeu (Double/Single
),et
0-3
pour servir le bloc (0,1,2,3
=C,D,A,B
)la source
JavaScript (ES7),
216 ... 205 201199 octets(block)(double)
Essayez-le en ligne!
Version formatée
Comment?
p = X * Y * b < 0
q = Y > 0 ^ b & 1
x * 24 % 35 > 2
Essayez-le en ligne!
~16 >> Y % 62 % 6 & 2
Essayez-le en ligne!
|
-
+
ouT
(d ? Y : X - 87) > 169
(d ? X - 87 : Y) % 169
T
la source
[-999,999]
pour les quatre entrées distinctes, alors vous pourriez peut-être l'utiliser à votre avantage pour jouer au golf sur certains octets. Cela signifierait recommencer en partie, ce qui ne vaut peut-être pas la peine. Malheureusement, je ne peux pas vous donner de conseils de golf pour vous aider à moins de 200 octets; Je ne peux que vous souhaiter bonne chance dans vos tentatives. ; pGelée ,
10899 octetsEssayez-le en ligne!
Je suis sûr que cela peut être mieux joué au golf.
Lien dyadique avec l'argument gauche 0 ou 1 pour les simples / doubles et l'argument droit 0,1,2,3 pour différents quadrants de service. Renvoie une liste de chaînes
Merci à @KevinCruijssen d'avoir enregistré un octet!
la source
“|-+TO= ”“F”
, ne peut-on pas“F”
jouer à un autre type de chaîne pour des personnages uniques? Dans 05AB1E par exemple, il existe des commandes internes pour les chaînes de taille 1 ('
), 2 („
) ou 3 (…
), ce qui pourrait donc être le cas'F
. Je ne sais pas si Jelly a quelque chose de similaire, ou si vous avez une autre raison pour cela“|-+TO= ”“F”
?”
pourrait être utilisé pour un seul caractère littéral - oups! Merci d'avoir enregistré un octet.