# 条件分岐のコード
```c=
int checkviewRow(int i, int j, int num)
{
int row1left;
int row2left;
int row3left;
int row4left;
int row1right;
int row2right;
int row3right;
int row4right;
if (j = 1)
{
if (row1left == 4 && row1right == 1)
return (checkA41(i, j, num));
if (row1left == 3 && row1right == 2)
return (checkA32(i, j, num));
if (row1left == 3 && row1right == 1)
return (checkA31(i, j, num));
if (row1left == 2 && row1right == 3)
return (checkA23(i, j, num));
if (row1left == 2 && row1right == 2)
return (checkA22(i, j, num));
if (row1left == 2 && row1right == 1)
return (checkA21(i, j, num));
if (row1left == 1 && row1right == 4)
return (checkA14(i, j, num));
if (row1left == 1 && row1right == 3)
return (checkA13(i, j, num));
if (row1left == 1 && row1right == 2)
return (checkA12(i, j, num));
}
if (j = 2)
{
if (row2left == 4 && row2right == 1)
return (checkA41(i, j, num));
if (row2left == 3 && row2right == 2)
return (checkA32(i, j, num));
if (row2left == 3 && row2right == 1)
return (checkA31(i, j, num));
if (row2left == 2 && row2right == 3)
return (checkA23(i, j, num));
if (row2left == 2 && row2right == 2)
return (checkA22(i, j, num));
if (row2left == 2 && row2right == 1)
return (checkA21(i, j, num));
if (row2left == 1 && row2right == 4)
return (checkA14(i, j, num));
if (row2left == 1 && row2right == 3)
return (checkA13(i, j, num));
if (row2left == 1 && row2right == 2)
return (checkA12(i, j, num));
}
if (j = 3)
{
if (row3left == 4 && row3right == 1)
return (checkA41(i, j, num));
if (row3left == 3 && row3right == 2)
return (checkA32(i, j, num));
if (row3left == 3 && row3right == 1)
return (checkA31(i, j, num));
if (row3left == 2 && row3right == 3)
return (checkA23(i, j, num));
if (row3left == 2 && row3right == 2)
return (checkA22(i, j, num));
if (row3left == 2 && row3right == 1)
return (checkA21(i, j, num));
if (row3left == 1 && row3right == 4)
return (checkA14(i, j, num));
if (row3left == 1 && row3right == 3)
return (checkA13(i, j, num));
if (row3left == 1 && row3right == 2)
return (checkA12(i, j, num));
}
if (j = 4)
{
if (row4left == 4 && row4right == 1)
return (checkA41(i, j, num));
if (row4left == 3 && row4right == 2)
retrun (checkA32(i, j, num));
if (row4left == 3 && row4right == 1)
return (checkA31(i, j, num));
if (row4left == 2 && row4right == 3)
return (checkA23(i, j, num));
if (row4left == 2 && row4right == 2)
return (checkA22(i, j, num));
if (row4left == 2 && row4right == 1)
return (checkA21(i, j, num));
if (row4left == 1 && row4right == 4)
return (checkA14(i, j, num));
if (row4left == 1 && row4right == 3)
return (checkA13(i, j, num));
if (row4left == 1 && row4right == 2)
return (checkA12(i, j, num));
}
}
int checkviewCol(int i, int j, int num)
{
int col1up;
int col2up;
int col3up;
int col4up;
int col1down;
int col2down;
int col3down;
int col4down;
if (i = 1)
{
if (col1up == 4 && col1down == 1)
return (checkA41(i, j, num));
if (col1up == 3 && col1down == 2)
return (checkA32(i, j, num));
if (col1up == 3 && col1down == 1)
return (checkA31(i, j, num));
if (col1up == 2 && col1down == 3)
return (checkA23(i, j, num));
if (col1up == 2 && col1down == 2)
return (checkA22(i, j, num));
if (col1up == 2 && col1down == 1)
return (checkA21(i, j, num));
if (col1up == 1 && col1down == 4)
return (checkA14(i, j, num));
if (col1up == 1 && col1down == 3)
return (checkA13(i, j, num));
if (col1up == 1 && col1down == 2)
return (checkA12(i, j, num));
}
if (i = 2)
{
if (col2up == 4 && col2down == 1)
return (checkA41(i, j, num));
if (col2up == 3 && col2down == 2)
return (checkA32(i, j, num));
if (col2up == 3 && col2down == 1)
return (checkA31(i, j, num));
if (col2up == 2 && col2down == 3)
return (checkA23(i, j, num));
if (col2up == 2 && col2down == 2)
return (checkA22(i, j, num));
if (col2up == 2 && col2down == 1)
return (checkA21(i, j, num));
if (col2up == 1 && col2down == 4)
return (checkA14(i, j, num));
if (col2up == 1 && col2down == 3)
return (checkA13(i, j, num));
if (col2up == 1 && col2down == 2)
return (checkA12(i, j, num));
}
if (i = 3)
{
if (col3up == 4 && col3down == 1)
return (checkA41(i, j, num));
if (col3up == 3 && col3down == 2)
return (checkA32(i, j, num));
if (col3up == 3 && col3down == 1)
return (checkA31(i, j, num));
if (col3up == 2 && col3down == 3)
return (checkA23(i, j, num));
if (col3up == 2 && col3down == 2)
return (checkA22(i, j, num));
if (col3up == 2 && col3down == 1)
return (checkA21(i, j, num));
if (col3up == 1 && col3down == 4)
return (checkA14(i, j, num));
if (col3up == 1 && col3down == 3)
return (checkA13(i, j, num));
if (col3up == 1 && col3down == 2)
return (checkA12(i, j, num));
}
if (i = 4)
{
if (col4up == 4 && col4down == 1)
return (checkA41(i, j, num));
if (col4up == 3 && col4down == 2)
retrun (checkA32(i, j, num));
if (col4up == 3 && col4down == 1)
return (checkA31(i, j, num));
if (col4up == 2 && col4down == 3)
return (checkA23(i, j, num));
if (col4up == 2 && col4down == 2)
return (checkA22(i, j, num));
if (col4up == 2 && col4down == 1)
return (checkA21(i, j, num));
if (col4up == 1 && col4down == 4)
return (checkA14(i, j, num));
if (col4up == 1 && col4down == 3)
return (checkA13(i, j, num));
if (col4up == 1 && col4down == 2)
return (checkA12(i, j, num));
}
}
int checkA14(int i, int j, int num); //左が1、右が4のパターン||上が1、下が4のパターン
{
if (j == 1 && num != 1) //左が1、右が4のパターン
return (0);
return (1);
if (j == 2 && num != 2)
return (0);
return (1);
if (j == 3 && num != 3)
return (0);
return (1);
if (j == 4 && num != 4)
return (0);
if (i == 1 && num != 4) //上が1、下が4のパターン
return (0);
if (i == 2 && num != 3)
return (0);
if (i == 3 && num != 2)
return (0);
if (i == 4 && num != 1)
return (0);
return (1);
}
int checkA41(int i, int j, int num); //左が4、右が1のパターン||上が4、下が1のパターン
{
if (j == 1 && num != 4)//左が4、右が1のパターン
return (0);
return (1);
if (j == 2 && num != 3)
return (0);
return (1);
if (j == 3 && num != 2)
return (0);
return (1);
if (j == 4 && num != 1)
return (0);
if (i == 1 && num != 1) //上が4、下が1のパターン
return (0);
if (i == 2 && num != 2)
return (0);
if (i == 3 && num != 3)
return (0);
if (i == 4 && num != 4)
return (0);
return (1);
}
int checkA12(int i, int j, int num); //左が1、右が2のパターン||上が1、下が2のパターン
{
if (j == 1 && num != 4)//左が1、右が2のパターン
return (0);
return (1);
if (j == 4 && num != 3)
return (0);
if (i == 1 && num != 4)//上が1、下が2のパターン
return (0);
return (1);
if (i == 4 && num != 3)
return (0);
return (1);
}
int chekA21(int i, int j, int num); //左が2、右が1のパターン||上が2、下が1のパターン
{
if (j == 1 && num != 3)//左が2、右が1のパターン
return (0);
if (j == 4 && num != 4)
return (0);
if (i == 1 && num != 3) //上が2、下が1のパターン
return (0);
return (1);
if (i == 4 && num != 4)
return (0);
return (1);
}
int chekA13(int i, int j, int num); //左が1、右が3のパターン||上が1、下が3のパターン
{
if (j == 1 && num != 4)//左が1、右が3のパターン
return (0);
if (i == 1 && num != 4)//上が1、下が3のパターン
return (0);
return (1);
}
int chekA31(int i, int j, int num); //左が3、右が1のパターン||上が3、下が1のパターン
{
if (j == 4 && num != 4)//左が3、右が1のパターン
return (0);
if (i == 4 && num != 4)//上が3、下が1のパターン
return (0);
return (1);
}
int checkA23(int i, int j, int num); //左が2、右が3のパターン||上が3、下が1のパターン
{
if (j == 2 && num != 4)//上が2、下が3のパターン
return (0);
if (i == 2 && num != 4)//左が2、右が3のパターン
return (0);
return (1);
}
int checkA23(int i, int j, int num); //左が3、右が2のパターン||上が3、下が2のパターン
{
if (j == 3 && num != 4)//左が3、右が2のパターン
return (0);
if (i == 3 && num != 4)//上が3、下が2のパターン
return (0);
return (1);
}
```