Обновление
Добавлено меню с 4-мя пунктами
Пустой ход был -3 очка, вернул -1, чтобы пододвигать было не критично.
При совпадении линии выделяются рамкой, чтобы видно было где произошли бонусные изменения и сколько их было.
Экспериментирую с пунктом "Подсказка". Частично получилось, находит Г-образные фигуры. Алгоритм не сложный при совпадении 2-х цветов найти шар слева, справа и впереди (x-1, x+1, y+1), а также сзади, всё тоже самое при y-3, y-4. Проблема у стенок, там массив может получить несуществующий индекс -1 и 8, можно сделать условия проверяющий, а можно увеличить массив, как бы окружить доску ещё виртуальными шариками, цвет которых не совпадает с цветами шаров на доске. Ну и желание использовать одну и туже функцию завело меня в тупик, ведь я сначала проверяю по вертикали, потом по горизонтали, просто хотел поменять индексы arr(x,y) на arr(y,x), но не прокатило, ох и намучился я с этим ради компактного кода. Пока не сделал, вроде работает, но иной раз в упор что-то не видит, надо ревизию кода делать. А вообще бывает подсказку нажимаешь и раз 15 находит, выделяет их, при клике рамки пропадают. Уже есть намётки почему ошибки, но возможно надо подумать, переделать код, заменить индексы i, j на x,y, иначе это сильно запутывает в голове все прокручивать, индексы массива 0-7 тоже запутывает, надо 1-8 как на доске.