Inspiré par cette question un peu plus tôt dans la journée , j'aimerais voir comment différents langages de programmation peuvent transformer un pavé numérique en probabilités. Généralement, les jeux basés sur des tuiles vous permettront d'utiliser un pavé numérique pour vous déplacer dans n'importe quelle direction en fonction de l'emplacement actuel de votre personnage. Lorsque Math.random() * 8je crée une IA pour ces jeux, ce n'est pas suffisant, j'ai donc dû faire preuve d'un peu de créativité pour donner au mouvement un aspect et une sensation quelque peu naturels.
Un pavé numérique est défini comme tel:
7 | 8 | 9
- - - - -
4 | x | 6
- - - - -
1 | 2 | 3
Veuillez noter que 5 est un nombre invalide, car vous ne pouvez pas passer à vous-même.
Tous les exemples utiliseront ces probabilités: [50, 40, 30, 20, 10]
Si je voulais générer des probabilités 8, cela ressemblerait à ceci:
40 | 50 | 40
-- | -- | --
30 | xx | 30
-- | -- | --
20 | 10 | 20
La sortie serait [20, 10, 20, 30, 30, 40, 50, 40](avec 5 omis) ou [20, 10, 20, 30, null, 30, 40, 50, 40](avec 5 présents)
Si je voulais les générer 1, ça ressemblerait à ça:
30 | 20 | 10
-- | -- | --
40 | xx | 20
-- | -- | --
50 | 40 | 30
La sortie serait [50, 40, 30, 40, 20, 30, 20, 10](avec 5 omis) ou [50, 40, 30, 40, null, 20, 30, 20, 10](avec 5 présents)
Vous pouvez écrire un programme complet qui prend l'entrée de n'importe quelle manière habituelle (ligne de commande, stdin) et imprime la sortie, ou vous pouvez écrire une fonction avec un argument numérique, qui imprime ou renvoie la sortie. Votre programme ou fonction doit accepter un numéro - la position à générer autour. Vous devez utiliser ces probabilités: [50, 40, 30, 20, 10](elles n'ont pas besoin d'être codées en dur).
Le code le plus court en octets gagne. Les failles standard ne sont pas autorisées. Les réponses publiées dans le fil lié ne sont pas autorisées. Les espaces de fin ou de début sont autorisés. Vous pouvez considérer la position 4comme absente ou vide, selon vos préférences. Je ne suis pas trop pointilleux sur le format de sortie - imprimez-le sous forme de chaînes séparées par des virgules ou sous forme de tableau.
(Ceci est ma première question, allez-y doucement avec moi!)