D1
while (mm->D0 == mm->D1) /* no doubles */
writec(mm->D1 + '0');
if (mm->D0 > mm->D1) {
writec(mm->D1 + '0');
writec(mm->D1 + '0');
if ((!swapped) && mm->D0 != mm->D1)
fprintf(trace, "\nRoll: %d %d%s\n", D0, D1, race ? " (race)" : "");
m = (mm->D0 == mm->D1 ? 4 : 2);
mm->g[i] = bar + cturn * mm->D1;
mm->g[i] = mm->p[i] + cturn * mm->D1;
#define mswap(m) {(m)->D0 ^= (m)->D1; (m)->D1 ^= (m)->D0; (m)->D0 ^= (m)->D1; (m)->d0 = 1-(m)->d0;}
mm->D1 = 0;
if (i || mm->D0 == mm->D1) {
if (n == max ? mm->D1 < n : mm->D1 != n)
if (n == max ? mm->D0 < n && mm->D1 < n : mm->D0 != n && mm->D1 != n)
writec(mm->D1 + '0');
mm->D1 = c - '0';
mm->D1 = rnum(6) + 1;
mm->D1 = test[i].new2;
mm->D1 = test[i].roll2;