NOTE: THE FOLLOWING IS REALLY AMATEURISH AND REALLY SHOULDN'T BE USED, BUT IT DOES ENSURE CORRECT STATES
void graphState(State a)
{
char PegA[3];
char PegB[3];
char PegC[3];
//PegA
if(a.d1==1 && a.d2==1 && a.d3==1)
{
PegA[0]=1;
PegA[1]=2;
PegA[2]=3;
}
if(a.d1==1 && a.d2!=1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=1;
PegA[2]=3;
}
if(a.d1==1 && a.d2==1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=1;
PegA[2]=2;
}
if(a.d1==1 && a.d2!=1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=1;
}
if(a.d1!=1 && a.d2==1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=2;
PegA[2]=3;
}
if(a.d1!=1 && a.d2!=1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=3;
}
if(a.d1!=1 && a.d2==1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=2;
}
//PegB
if(a.d1==2 && a.d2==2 && a.d3==2)
{
PegB[0]=1;
PegB[1]=2;
PegB[2]=3;
}
if(a.d1==2 && a.d2!=2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=1;
PegB[2]=3;
}
if(a.d1==2 && a.d2==2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=1;
PegB[2]=2;
}
if(a.d1==2 && a.d2!=2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=1;
}
if(a.d1!=2 && a.d2==2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=2;
PegB[2]=3;
}
if(a.d1!=2 && a.d2!=2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=3;
}
if(a.d1!=2 && a.d2==2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=2;
}
//PegC
if(a.d1==3 && a.d2==3 && a.d3==3)
{
PegC[0]=1;
PegC[1]=2;
PegC[2]=3;
}
if(a.d1==3 && a.d2!=3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=1;
PegC[2]=3;
}
if(a.d1==3 && a.d2==3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=1;
PegC[2]=2;
}
if(a.d1==3 && a.d2!=3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=1;
}
if(a.d1!=3 && a.d2==3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=2;
PegC[2]=3;
}
if(a.d1!=3 && a.d2!=3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=3;
}
if(a.d1!=3 && a.d2==3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=2;
}
printf("\n\nGraph-\n\n");
printf(" %d\t %d\t %d\n",PegA[0],PegB[0],PegC[0]);
printf(" %d\t %d\t %d\n",PegA[1],PegB[1],PegC[1]);
printf(" %d\t %d\t %d\n",PegA[2],PegB[2],PegC[2]);
printf("___\t___\t___\n");
printf(" A \t B \t C \n\n");
}
void graphState(State a)
{
char PegA[3];
char PegB[3];
char PegC[3];
//PegA
if(a.d1==1 && a.d2==1 && a.d3==1)
{
PegA[0]=1;
PegA[1]=2;
PegA[2]=3;
}
if(a.d1==1 && a.d2!=1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=1;
PegA[2]=3;
}
if(a.d1==1 && a.d2==1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=1;
PegA[2]=2;
}
if(a.d1==1 && a.d2!=1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=1;
}
if(a.d1!=1 && a.d2==1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=2;
PegA[2]=3;
}
if(a.d1!=1 && a.d2!=1 && a.d3==1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=3;
}
if(a.d1!=1 && a.d2==1 && a.d3!=1)
{
PegA[0]=0;
PegA[1]=0;
PegA[2]=2;
}
//PegB
if(a.d1==2 && a.d2==2 && a.d3==2)
{
PegB[0]=1;
PegB[1]=2;
PegB[2]=3;
}
if(a.d1==2 && a.d2!=2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=1;
PegB[2]=3;
}
if(a.d1==2 && a.d2==2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=1;
PegB[2]=2;
}
if(a.d1==2 && a.d2!=2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=1;
}
if(a.d1!=2 && a.d2==2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=2;
PegB[2]=3;
}
if(a.d1!=2 && a.d2!=2 && a.d3==2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=3;
}
if(a.d1!=2 && a.d2==2 && a.d3!=2)
{
PegB[0]=0;
PegB[1]=0;
PegB[2]=2;
}
//PegC
if(a.d1==3 && a.d2==3 && a.d3==3)
{
PegC[0]=1;
PegC[1]=2;
PegC[2]=3;
}
if(a.d1==3 && a.d2!=3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=1;
PegC[2]=3;
}
if(a.d1==3 && a.d2==3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=1;
PegC[2]=2;
}
if(a.d1==3 && a.d2!=3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=1;
}
if(a.d1!=3 && a.d2==3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=2;
PegC[2]=3;
}
if(a.d1!=3 && a.d2!=3 && a.d3==3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=3;
}
if(a.d1!=3 && a.d2==3 && a.d3!=3)
{
PegC[0]=0;
PegC[1]=0;
PegC[2]=2;
}
printf("\n\nGraph-\n\n");
printf(" %d\t %d\t %d\n",PegA[0],PegB[0],PegC[0]);
printf(" %d\t %d\t %d\n",PegA[1],PegB[1],PegC[1]);
printf(" %d\t %d\t %d\n",PegA[2],PegB[2],PegC[2]);
printf("___\t___\t___\n");
printf(" A \t B \t C \n\n");
}