Créez des dés à jouer virtuels

Aujourd’hui, il est plus facile d’avoir un laptop sous la main plutôt que des dés à jouer. C’est pour cette raison que nous allons écrire un script qui nous permet de créer virtuellement autant de dés que l’on veut (vous pouvez lancer par exemple 1 milliard de millards de dés, soit un 1 et 18 zéros derrière, donc 1018 dés, ça passe. Faudra juste patienter le temps du calcul). Le programme étant conçu pour traiter chaque dé indépendamment, ça permet d’en lancer une quantité énorme, même sans avoir une machine très puissante. Seul le temps de traitement variera en fonction des performances de votre ordi.

Commençons par demander à l’utilisateur combien de dés il veut, en vérifiant bien qu’il ne tape rien d’autre que des chiffres à l’aide de la boucle until. Ensuite, nous mettons le résultat dans la variable $nbDices :

Screenshot from 2016-01-31 17-22-19

Maintenant nous créons 3 variables :

  • $lancer qui nous servira à compter le nombre de fois où des les ont été lancés
  • $totalCumul qui additionera les totaux des lancers, du premier jusqu’au dernier
  • $again qui permettra à l’utilisateur de sortir du programme en tapant la lettre « Q » (comme Quit). Nous la créons vide

Screenshot from 2016-01-31 17-49-06

Nous créons une nouvelle boucle until qui continuera jusqu’à ce que la variable $again, dont nous venons de parler, soit égale à « q » ou « Q ». Après, on vide la console et on initialise une variable $total qui récupèrera le total du lancer en cours et qui se rénitialisera à zéro à chaque lancer :

Screenshot from 2016-01-31 17-30-35

Dans cette boucle until nous créons une boucle for qui s’exécutera à chaque tour autant de fois qu’il y a de dés. Si l’utilisateur a choisi 3 dés au lancement du script, la boucle for se lancera 3 fois par lancer.

À l’intérieur de cette boucle for, la variable $dice récupère un nombre aléatoire entre 1 et 6 (Un random sur un modulo de 6 + 1). On attribue un numéro à chaque dé, numéro qui correspond simplement à la valeur de $i, qui indique le nombre de tour de la boucle for (tour 1 = dé 1, tour 2 = dé 2, tour 3 = dé 3) et la valeur aléatoire qui vient d’être choisie.

Nous enregistrons le total du lancer en cours dans $total et les totaux cumulés depuis le début dans $totalCumul :

Screenshot from 2016-01-31 17-51-03

Maintenant que nous sommes sorti de la boucle for, nous pouvons terminer la boucle until. On incrémente la variable $lancer qu’on avait initialisé à 0 et on écrit dans la console le total du lancer en cours, à combien de lancers on en est actuellement, le nombre total de points cumulés depuis le début et on propose de sortir du programme en appuyant sur « Q ». On lit la réponse avant de refaire un lancer ou quitter le script :

Screenshot from 2016-01-31 17-55-59

Le résultat final de votre script devrait ressembler à ça :

Screenshot from 2016-01-31 18-56-03

Cliquez ici pour télécharger le script.

Vous voilà maintenant prêt pour jouer à Sloubi avec Perceval 🙂

Screenshot from 2016-01-31 19-26-58 (perceval)

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *