#include #include #include "oware.h" void printboard(int thisside[], int otherside[]) { printf(" "); for (int i=houses-1; i>=0; i--) printf("%3d",otherside[i]); printf("\n%3d%*c%3d\n ",otherside[houses],houses*3-2,' ',thisside[houses]); for (int i=0; i=houses) { /* fprintf(stderr,"move %d out of range\n",move);*/ return 0; } seeds=thisside[move]; thisside[move]=0; if (seeds==0) { /* fprintf(stderr,"no seeds at %d\n",move);*/ return 0; } sow=move+1; while (seeds>0) { /* sow in your own houses */ for (; seeds>0 && sow0 && sow=0 && (otherside[sow]==2 || otherside[sow]==3); sow--) { thisside[houses]+=otherside[sow]; otherside[sow]=0; } /* grand slam rule: legal but no capture results */ if (empty(otherside)) { thisside[houses]=tshbackup; for (int i=0; i