Это старая бородатая задача, которую можно решить перебором на глубину 3..5 для одной стороны, т.е. ходы противника не учитываются. Но если отойти
от примитивизма, до задача становится интересной, потому как одна сторона должна играть в полную силу а ходы другой учитываться, но не во всех лучаях. Шашки
ставятся в углы, и целью является занять угол противника. Шашки могут
ходить на одно поля или прыгать через шашки, свои и противника. Оценкой может служить просто индекс 0..63 массива для верхних (черных) и
инвертированный индекс 63-n для белых. Целевые поля получают премию,
свои поля - небольшой штраф, чтобы программа их быстрее оставляла. Центр
может получить небольшую премию. Перед каждым ходом можно инициализировать генератор случайных чисел системным временем и давать
для каждой клетки небольшой случайный бонус.
srand(time(0));
score[j] = random()%2 - 1; // -1..1
0, 0, 0, 4, 5, 6, 7, 8,
1, 1, 1,12,13,14,15,16,
2, 2, 2,20,21,22,23,24,
25,26,27,30,31,30,31,32,
33,34,3