{ pos[$2] = $5 } END{ for(i=0;i<27;i++){ n2 = int(i/9) n1 = int( (i%9)/3 ) n0 = int( (i%9)%3 ) sum = n2+n1+n0+3 c[sum]++ print n2+1, n1+1, n0+1, "=", sum } print "roll result : amount of times /27" for(sum in c){ print sum,":",c[sum] } for(turn=1;turn<=2;turn++){ print "starting with",pos[turn] for(i=3;i<=9;i++){ p=pos[turn]; sc=0 print "incrementing",i for(j=1;j<=15;j++){ p = 1 + (p-1+i)%10 sc+=p printf "%d ", p if(sc>=21) break } printf ": %d in %d",sc, j print "" } print "----" } expn = 6 maxwonturns=0 for(i=0;i<7^expn;i++){ r = i for(e=0;e=0;e--){ n[e] += 3 printf "%d ",n[e] } print "" p1 = pos[1]; p2 = pos[2] s1 = 0; s2 = 0; nu = 0; swon = 0 for(j=expn-1;j>=0;j--){ p1 = 1 + (p1-1+n[j])%10 s1 += p1 p2 = 1 + (p2-1+n[j])%10 s2 += p2 nu += c[ n[j] ] print p1,s1, p2,s2 if(s1>=21){ print "p1 won", s1, nu, expn-j won[1]++; wonu[1] += nu swon = 1 break } if(s2>=21){ print "p2 won", s2, nu, expn-j wonu[2] += nu won[2]++ swon = 1 break } } if(!swon){ print "no one won" break } else{ if(maxwonturns