Je me suis jamais penché sur ces histoires de briques logiques mais de ce que j'en ai compris c'est une sorte de façon "graphique" de faire de la programmation, et y a des chances que ton "code" soit bien optimisable (et que tu pleures plus tard de t'être tapé tout ce boulot

), par exemple, toujours avec un lancer de 3 dés, pour tester les différentes combinaisons donnant un 421, plutôt que de tester :
si(
(x==1 et y==2 et z==4) ou
(x==1 et y==4 et z==2) ou
(x==2 et y==1 et z==4) ou
(x==2 et y==4 et z==1) ou
(x==4 et y==1 et z==2) ou
(x==4 et y==2 et z==1))
où x, y, z seraient les résultats des 3 dés, tu peux tester
Par ailleurs, en termes de probabilités, tes 56 combinaisons ne sont pas équiprobables : statistiquement, un tirage du type (1,2,3) apparaîtra 2 fois plus souvent qu'un tirage du type (1,1,2), qui lui-même apparaîtra 3 fois plus souvent qu'un tirage du type (1,1,1).
Ce n'est pas forcément gênant pour ce que tu cherches à faire, mais si ton mode de génération des lancers de dés simule un lancer réel, tu as en fait 6*6*6=216 possibilités (en distinguant les tirages (1,2,3) et (1,3,2) par exemple). Ou alors tu as trouvé un mode de génération qui choisit une des 56 combinaisons au hasard mais à ce moment-là tu ne simules pas un lancer réel de dés.