Le problème existe toujours avec roll par contre, du coup la solution est simple, il suffit d’écrire un fichier du résultat de roll et aller chercher les caractères dont on a besoin (en l’occurrence le dernier “mot” de la première ligne qui est le résultat total numérique -j’ai utilisé sed-)
Et puis au passage j’en ai profité pour nettoyer le premier script bien dégueu .
Et puis pour utiliser roll non pas comme un lanceur de dés mais comme une probabilité échec/réussite de “n” évènements j’en ai fait un jeu de roulette russe avec choix du nombre de balles à mettre dans le barillet.
#!/bin/bash
#test avec rolldice
var1=$(rolldice "1d6")
var2=$(rolldice "1d6")
echo -e "Test avec rolldice \nTu fais $var1 \nil fait $var2" #C'est plus propre comme ça quand même
test "$var1" -gt "$var2" && echo -e "succès\n" || echo -e "perdu\n"
#test avec roll
roll '1d6' > tempVar1.txt && roll '1d6' > tempVar2.txt #Création des fichiers
var3=$(sed -n 1p tempVar1.txt | sed 's/.* //') #Création des variables en ne récuppérant uniquement les caractères voulus
var4=$(sed -n 1p tempVar2.txt | sed 's/.* //')
echo -e "Test avec roll \nTu fais $var3 \nIl fait $var4"
test "$var3" -gt "$var4" && echo -e "succès\n" || echo -e "perdu\n"
rm tempVar1.txt tempVar2.txt #Suppression des fichiers
#test avec roll 4d264
roll '4d264' > tempVar1.txt && roll '4d264' > tempVar2.txt
var3=$(sed -n 1p tempVar1.txt | sed 's/.* //')
var4=$(sed -n 1p tempVar2.txt | sed 's/.* //')
echo -e "Test avec roll 4d264 \nTu fais $var3 \nIl fait $var4"
test "$var3" -gt "$var4" && echo -e "succès\n" || echo -e "perdu\n"
rm tempVar1.txt tempVar2.txt
#roulette russe
echo -e "ROULETTE RUSSE\nPour utiliser la probabilité échec/réussite d'un évennement\n"
read -p "dans un barillet à 6 balles tu veux en mettre combien? : " var1
sleep 1
var2="1d$((6 / $var1))"
var3=$(rolldice "$var2")
test "$var3" -eq 1 && echo -e "T'es mort\n" || echo -e "T'es encore vivant\n"
exit
Donne:
chaos@fleaux:~/Documents/scripts$ ./test-rolldice.sh
Test avec rolldice
Tu fais 5
il fait 4
succès
Test avec roll
Tu fais 5
Il fait 3
succès
Test avec roll 4d264
Tu fais 617
Il fait 636
perdu
ROULETTE RUSSE
Pour utiliser la probabilité échec/réussite d'un évennement
dans un barillet à 6 balles tu veux en mettre combien? : 2
T'es mort
)