Le défi
Écrivez un programme ou une fonction qui imprime des étoiles! Le programme recevra deux paramètres par entrée standard: la taille de l'étoile et le nombre de points de l'étoile. Une étoile peut avoir n'importe quelle taille entre 0 et 10 et avoir 3, 4 ou 5 points. Les paramètres d'entrée sont séparés par une virgule, par exemple: 5,3
signifie une étoile de taille 5 avec 3 points. Les étoiles sont composées d'astérisques*
Considérez que le programme ne recevra que des entrées valides.
Les impressions doivent être correctement espacées afin que nous puissions voir de jolies étoiles dans la sortie!
Explications des paramètres
Points
Est le nombre d'armes comptées à partir de l'astérisque central.
3 points étoiles :
*
*
*
* *
* *
Ils sont composés d'un bras vertical et de deux bras diagonaux. La séparation entre les bras diagonaux est2*size-1
4 points étoiles
* *
* *
*
* *
* *
Ils ont la forme d'un X et sont composés de deux lignes diagonales. La séparation entre les lignes est2*(size-1)+1
5 points étoiles
*
*
* * * * *
* *
* *
Ils sont composés d'une ligne verticale et d'une ligne horizontale. Chaque astérisque sur la ligne horizontale est séparé par un espace. Ils ont aussi deux lignes diagonales, avec une séparation entre eux de2*(size-2)+1
Taille
La taille est le nombre d'astérisques dont chaque bras de l'étoile compte à partir de l'astérisque central (inclus).
Les étoiles de taille 1 sont composées d'un seul astérisque
*
Exemples de taille 2 étoiles
3 points
*
*
* *
4 points étoiles
* *
*
* *
5 points étoiles
*
* * *
* *
Vous avez des exemples de la taille 3 étoiles dans l'explication du paramètre Points.
Critères gagnants
Le code le plus court gagne. Le code doit être vérifié avec les paramètres d'entrée suivants:3,2
3,3
4,2
4,3
5,2
5,3
Prime
-25% de caractères comptent pour créer une taille 6 pointée avec les critères expliqués précédemment (6 bras et la taille est le nombre d'astérisques à compter de l'astérisque central). Il peut s'agir de n'importe quelle forme souhaitée tout en respectant les spécifications. Un exemple d'une étoile de taille 6 avec une taille 3:
*
*
* * * * *
* * *
* * *
Les étoiles à 6 points doivent être vérifiées avec les entrées suivantes 6,2
6,3
.
Réponses:
Mathematica
80 7667 caractèresCertains se demandent si c'est de l'art ASCII, mais je n'ai pas pu résister.
Utilisation (en définissant la taille de police à 24 pour que les étoiles paraissent grandes.)
Sortie pour les cas suivants:
{{3, 2}, {3, 3}, {4, 2}, {4, 3},
{5, 2}, {5, 3}, {6, 2}, {6, 3},
{7, 4}, {8, 3}, {9, 2}, {12, 4}}
Comment ça fonctionne
(a) La première étoile est à l'origine d'un espace de coordonnées. Affichons-le.
(b) Ensuite, nous afficherons un point à {1,0}.
(c) Puis 5 points à la fois. Nous avons appliqué une fonction pure sur chaque paire de coordonnées qui la suit.
(d) Utiliser Cos et Sin pour déterminer les coordonnées
(e) Les coordonnées fonctionnent uniquement sur le cercle unitaire; 6 est le nombre de faisceaux lumineux.
(f) Tracer des rayons de 0 à 4 unités.
la source
Rubis, ASCII,
193score 142 (189 caractères - 25% de bonus)Testez-le en ligne
Je pense qu'il se qualifie pour le bonus étoile à 6 rayons.
la source
Mathematica ,
6564Mon point de vue sur la méthode de David:
Utilisation:
Des erreurs sont produites en raison de l'utilisation de
=
plutôt que:=
, et ce n'est pas la bonne façon de faire une définition, mais cela fonctionne ici.Si l'on était autorisé à utiliser des points au lieu d'astérisques, cela pourrait être écrit (52 caractères):
la source
la source