|
|
@ -412,4 +412,263 @@ void fillAlmostFull(char field[3][3], bool* pt) { |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (field[0][0] == 'O') { |
|
|
|
if (field[0][1] == 'O') { |
|
|
|
field[0][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][2] == 'O') { |
|
|
|
field[0][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][0] == 'O') { |
|
|
|
field[2][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][0] == 'O') { |
|
|
|
field[1][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][1] == 'O') { |
|
|
|
field[2][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][2] == 'O') { |
|
|
|
field[1][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (field[0][1] == 'O') { |
|
|
|
if (field[0][0] == 'O') { |
|
|
|
field[0][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][2] == 'O') { |
|
|
|
field[0][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][1] == 'O') { |
|
|
|
field[2][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][1] == 'O') { |
|
|
|
field[1][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (field[0][2] == 'O') { |
|
|
|
if (field[0][0] == 'O') { |
|
|
|
field[0][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][1] == 'O') { |
|
|
|
field[0][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][1] == 'O') { |
|
|
|
field[2][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][0] == 'O') { |
|
|
|
field[1][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][2] == 'O') { |
|
|
|
field[2][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][2] == 'O') { |
|
|
|
field[1][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (field[1][0] == 'O') { |
|
|
|
if (field[1][1] == 'O') { |
|
|
|
field[1][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][2] == 'O') { |
|
|
|
field[1][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][0] == 'O') { |
|
|
|
field[2][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][0] == 'O') { |
|
|
|
field[0][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (field[1][1] == 'O') { |
|
|
|
if (field[1][0] == 'O') { |
|
|
|
field[1][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][2] == 'O') { |
|
|
|
field[1][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][1] == 'O') { |
|
|
|
field[2][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][1] == 'O') { |
|
|
|
field[0][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][0] == 'O') { |
|
|
|
field[2][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][2] == 'O') { |
|
|
|
field[0][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][2] == 'O') { |
|
|
|
field[2][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][0] == 'O') { |
|
|
|
field[0][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (field[1][2] == 'O') { |
|
|
|
if (field[1][0] == 'O') { |
|
|
|
field[1][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][1] == 'O') { |
|
|
|
field[1][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][2] == 'O') { |
|
|
|
field[2][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][2] == 'O') { |
|
|
|
field[0][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (field[2][0] == 'O') { |
|
|
|
if (field[2][1] == 'O') { |
|
|
|
field[2][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][2] == 'O') { |
|
|
|
field[2][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][0] == 'O') { |
|
|
|
field[1][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][0] == 'O') { |
|
|
|
field[0][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][1] == 'O') { |
|
|
|
field[0][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][2] == 'O') { |
|
|
|
field[1][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (field[2][1] == 'O') { |
|
|
|
if (field[2][0] == 'O') { |
|
|
|
field[2][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][2] == 'O') { |
|
|
|
field[2][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][1] == 'O') { |
|
|
|
field[0][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][1] == 'O') { |
|
|
|
field[1][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (field[2][2] == 'O') { |
|
|
|
if (field[2][0] == 'O') { |
|
|
|
field[2][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[2][1] == 'O') { |
|
|
|
field[2][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][2] == 'O') { |
|
|
|
field[1][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][2] == 'O') { |
|
|
|
field[0][2] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[1][1] == 'O') { |
|
|
|
field[0][0] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
else if (field[0][0] == 'O') { |
|
|
|
field[1][1] = 'X'; |
|
|
|
*pt = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
} |