Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Игра 3 в ряд

Страниц (10): В начало « ... 2 3 4 5 6 [7] 8 9 10 »
 

61. Kibor - 30 Сентября, 2018 - 01:28:12 - перейти к сообщению
Надо немного доработать perebor
так как там не меняют фишки по периметру
то есть такие как
mas_pole[0][2] на mas_pole[0][3] и тд
62. Zireael - 30 Сентября, 2018 - 04:57:05 - перейти к сообщению
 Цитата:
Тоже самое в 1.5 раза быстрее

Исправил небольшой баг. Строку temp не очистил при сборке в строку массива по вертикали.
function proverka (Отобразить)

 Цитата:
function perebor(int X, int Y, int #kx1, int #ky1, int #kx2, int #ky2)//Перебирает все возможные комбинации меняя соседнте фишки

Нет смысла проверять x+1, т. к. на следующей итерации x-1 сделает этот же ход. Тоже самое с Y.
function perebor (Отобразить)
63. Zireael - 30 Сентября, 2018 - 16:02:58 - перейти к сообщению
 Цитата:
Надо немного доработать perebor

Слегка доработал. Ищет ходы в том числе и по периметру. Работает раз в 5 быстрее.
Сохранить в файл, например: Лучший_ход.txt (Отобразить)

Пример использования (Отобразить)

Содержимое файла для теста (Отобразить)
64. Kibor - 01 Октября, 2018 - 04:30:26 - перейти к сообщению
 Zireael пишет:
Слегка доработал. Ищет ходы в том числе и по периметру. Работает раз в 5 быстрее.

Ну в этом случае можно уже не цифрами фишки называть, а буквами, если там поиск строк, а не математические сложения.
И сразу string массив использовать. И не использовать format
65. konctantin777 - 01 Октября, 2018 - 06:51:00 - перейти к сообщению
Такими темпами Вы сделаете, что будет лучше противника ИИ играть Голливудская улыбка
66. Kibor - 01 Октября, 2018 - 12:06:16 - перейти к сообщению
Еще для универсальности надо настройку предусмотреть для универсальной фишки.
67. Kibor - 13 Октября, 2018 - 02:41:23 - перейти к сообщению
После обновления стало без проблемным распознать это поле.

68. Zireael - 13 Октября, 2018 - 11:03:57 - перейти к сообщению
Только там черепа бывают двух видов.
https://ibb.co/iqpZip
Желтый и череп с рогами считаются одним объектом.
69. konctantin777 - 20 Октября, 2018 - 01:03:13 - перейти к сообщению
 Zireael пишет:
 Цитата:
Надо немного доработать perebor

Слегка доработал. Ищет ходы в том числе и по периметру. Работает раз в 5 быстрее.


Почему- то бот просто выключается через несколько часов... Просто сам закрывается. Предыдущие версии "перебора" долго не гонял, но с глобальной переменной может работать сутками...
70. Zireael - 20 Октября, 2018 - 21:06:29 - перейти к сообщению
https://drive.google.com/open?id...3QCVG_D-4bXkIQ3N
В архиве доработанный скрипт и видео как он работает.
В настройках игры поставить скорость анимации 4x и отключить подсказку ходов.

Поиск хода занимает в среднем от 50 до 500 мсек. Время зависит от количества возможных ходов и процессора.
Добавлена стоимость фишек. Может быть как положительной, так и отрицательной (если какие-то фишки нежелательно убирать с поля).
Теперь учитывается как переместятся фишки после хода (функция offset). Стоимость рассчитывается с учётом какие ещё ряды будут собраны после хода.
Например, есть ход чтобы собрать 3 в ряд, после которого будет собран ряд из 4 или 5 фишек, это будет учтено, т. к. при этом будет дополнительный ход.
Добавлен приоритет для ходов (переменная priority):
0 - приоритет 5 в ряд, если нет такого хода, будет сделан ход максимальный по стоимости.
1 - приоритет 5 или 4 в ряд, если нет таких ходов, будет сделан ход максимальный по стоимости.
2 - приоритет максимальная стоимость хода.
3 - если нет ходов 4 или 5, то приоритет 3 в ряд, которые находятся в самом низу поля.

Powered by ExBB FM 1.0 Final