package com.asmor.dnd4d6dlcalc;
public class dnd4d6dlcalc {
public static int getMod(int stat) {
return (stat/2)-5;
}
public static int getStat(int die1, int die2, int die3, int die4) {
int dice[]={0, 0, 0, 0, 0}, lowest, i, toReturn;
dice[1]=die1;
dice[2]=die2;
dice[3]=die3;
dice[4]=die4;
lowest=1;
for (i=1; i<5; i++) {
if (dice[i]<dice[lowest]) {
lowest=i;
}
}
toReturn=0;
for (i=1; i<5; i++) {
if (lowest!=i) {
toReturn+=dice[i];
}
}
return toReturn;
}
public static void main(String[] args) {
int r01=0, r02=0, r03=0, r04=0, r05=0, r06=0, r07=0,r08=0, r09=0, r10=0, r11=0, r12=0, r13=0, r14=0, r15=0, r16=0, r17=0, r18=0, r19=0, r20=0, r21=0, r22=0, r23=0, r24=0;
int scores[]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, stats[]={0, 0, 0, 0, 0, 0, 0}, mods[]={0, 0, 0, 0, 0, 0, 0}, toss, i, totalMod;
for (r01=1; r01<7; r01++) {
for (r02=1; r02<7; r02++) {
for (r03=1; r03<7; r03++) {
for (r04=1; r04<7; r04++) {
for (r05=1; r05<7; r05++) {
for (r06=1; r06<7; r06++) {
for (r07=1; r07<7; r07++) {
for (r08=1; r08<7; r08++) {
for (r09=1; r09<7; r09++) {
for (r10=1; r10<7; r10++) {
for (r11=1; r11<7; r11++) {
for (r12=1; r12<7; r12++) {
for (r13=1; r13<7; r13++) {
for (r14=1; r14<7; r14++) {
for (r15=1; r15<7; r15++) {
for (r16=1; r16<7; r16++) {
for (r17=1; r17<7; r17++) {
for (r18=1; r18<7; r18++) {
for (r19=1; r19<7; r19++) {
for (r20=1; r20<7; r20++) {
for (r21=1; r21<7; r21++) {
for (r22=1; r22<7; r22++) {
for (r23=1; r23<7; r23++) {
for (r24=1; r24<7; r24++) {
stats[0]=getStat(r01, r02, r03, r04);
mods[0]=getMod(stats[0]);
stats[1]=getStat(r05, r06, r07, r08);
mods[1]=getMod(stats[1]);
stats[2]=getStat(r09, r10, r11, r12);
mods[2]=getMod(stats[2]);
stats[3]=getStat(r13, r14, r15, r16);
mods[3]=getMod(stats[3]);
stats[4]=getStat(r17, r18, r19, r20);
mods[4]=getMod(stats[4]);
stats[5]=getStat(r21, r22, r23, r24);
mods[5]=getMod(stats[5]);
toss=1;
for (i=0; i<6; i++) {
if (stats[i]>13) {
toss=0;
}
}
totalMod=mods[0]+mods[1]+mods[2]+mods[3]+mods[4]+mods[5];
if (totalMod<=0) {
toss=1;
}
if (toss==0) {
for (i=0; i<6; i++) {
scores[stats[i]]++;
}
}
}}}}
}}}}
System.out.print(r01+" "+r02+" "+r03+" "+r04+" "+r05+" "+r06+" "+r07+" "+r08+" "+r09+" "+r10+" "+r11+" "+r12+" "+r13+" "+r14+" "+r15+" "+r16+" "+r17+" "+r18+" "+r19+" "+r20+" "+r21+" "+r22+" "+r23+" "+r24+"\n");
}}}}
}}}}
}}}}
}}}}
String outString="";
for (i=3; i<19; i++) {
outString+=i+": "+scores[i]+"\n";
}
System.out.print(outString);
}
}