Le site Format d'exportation d'AnyDice est assez facile à analyser : il s'agit simplement de CSV texte. En fait, vous pourriez l'importer directement dans un tableur, mais il vous faudrait alors réorganiser les données dans une grille.
Pour éviter cette corvée, j'ai écrit un rapide script Python pour lire les données exportées à partir de votre code AnyDice (plus précisément, la première section de la section Exportation du résumé d'AnyDice d'après le "mean"
y "output",#
jusqu'à la ligne blanche suivante), extraire les numéros de ligne et de colonne du nom de sortie avec une regexp et imprimer le résultat sous forme de grille :
import csv, sys, re
csvreader = csv.reader(sys.stdin)
table = {}
columns = []
for name, value in csvreader:
row, col = re.findall(r'-?\d+', name)
if row not in table: table[row] = {}
if col not in columns: columns.append(col)
table[row][col] = value
csvwriter = csv.writer(sys.stdout)
csvwriter.writerow([''] + columns)
for row in table:
csvwriter.writerow([row] + [table[row][col] for col in columns])
(Le regexp -?\d+
correspond à un ou plusieurs chiffres précédés d'un signe moins facultatif c'est-à-dire un nombre entier. S'il n'y a pas exactement deux nombres de ce type dans le nom de chaque sortie AnyDice, le script se plantera avec un message d'erreur ValueError
. Tout autre élément dans le nom de la sortie est ignoré, ainsi le nom "0 foo 2"
est aussi bon que "Spell Level 0, proficiency bonus 2"
dans la mesure où le script est concerné).
L'exécution du script sur vos données ( essayez-le en ligne ! ), il imprime la grille suivante, également au format CSV :
,2,3,4,5,6
0,0.6,0.65,0.7,0.75,0.8
1,0.55,0.6,0.65,0.7,0.75
2,0.5,0.55,0.6,0.65,0.7
3,0.45,0.5,0.55,0.6,0.65
4,0.4,0.45,0.5,0.55,0.6
5,0.35,0.4,0.45,0.5,0.55
6,0.3,0.35,0.4,0.45,0.5
7,0.25,0.3,0.35,0.4,0.45
8,0.2,0.25,0.3,0.35,0.4
9,0.15,0.2,0.25,0.3,0.35
Nous pouvons ensuite l'importer dans n'importe quel logiciel de feuille de calcul, comme Microsoft Excel ou Open/LibreOffice Calc. Pour faire tout ça en ligne, j'ai décidé d'utiliser Google Sheets .
Après avoir importé le fichier CSV, j'ai sélectionné la zone de données (à l'exclusion de la ligne et de la colonne d'en-tête), puis sélectionné Format → Formatage conditionnel... dans le menu, et choisissez l'onglet "Échelle de couleurs" dans la barre latérale qui s'ouvre. L'échelle de couleurs par défaut ("vert vers blanc") me semblait un peu moche et peu contrastée, alors je l'ai changée en "rouge vers blanc vers vert", et j'ai obtenu ceci :
Pas mal pour un premier essai, à mon avis. Voici la feuille de calcul actuelle si vous voulez le voir "en direct". Bien sûr, il y a beaucoup de choses que nous pourrions faire pour améliorer le formatage, comme ajuster la largeur des colonnes et l'alignement horizontal des chiffres et ajouter des étiquettes pour les en-têtes, mais cela devrait au moins démontrer le flux de travail de base.