Поздравляю с созданием своего ИИ. На этом уроке мы узнаем, как можно проверить его работу. А на следующем уроке нужно будет создать свою версию программы и отправить её на участие в конкурсе.
Комментарии:
Полезные конечно знания, но для новичков сложно, боюсь ты еще больше их запутал и испугал.
Более простой путь такой: 1. в настройках проекта, вкладка построение, меняем путь для вывода, указывая директорию где лежит FiaRArena\Players\ теперь наша dll будет создавать там.
2. в настройках проекта, вкладка отладка, указываем внешнее приложение использующее нашу dll - FiaRArena.exe и рабочий каталог для FiaRArena - см. 1й скриншот.
3. все теперь можно ставить брекпоинты в нашем коде и просматривать переменные. При запуске нашего проекта в режиме debug будет запускаться FiaRArena в которой мы выбираем игроков (один из них наш) и делаем ходы, дебажим код. см. 2й скриншот.
Теперь замечания к самой FiaRArena 1. Песочница это хорошо при финальном тестировании, но для отладки, мог бы дать версию в которой хотя бы создания файлов для логов не вызывает исключения. Пришлось использовать Debug.WriteLine и копировать из окна отладки.
2. Нельзя играть против игрока, т.е. выбрать нашу dll, а ход противника делать мышкой. Это было бы очень удобно. Пришлось писать отдельного бота, который будет ходить в нужные мне столбцы просто для отладки основного алгоритма.
3. Совет, когда используете несколько своих ботов для сравнения. Меняйте не только имя проекта и сборки, но и пространство имен (тоже в свойствах проекта), иначе арена может не понять.
1, 2 - Для этого есть этот урок - можно вместо второго игрока запрашивать ввод с консоли. Советы хороши, но, как говорится... да много как говорится, поговорок подходящих много. Первый блин - комом. Одна голова хорошо, а две - лучше. Ложка хороша к обеду. И т.д. 3 - Здесь - да и с этим ничего не поделать. То что сложно - да, поэтому особо не углублялся, лишь старался показать минимальный код, который позволит протестировать свою dll. Комментарий дельный и полезный. Спасибо!
Сделать игрока с функцией: public int GetMove(...) => int.Parse(Console.ReadLine()); и можно тогда делать ходы ручным вводом, возможно действительно стоило об этом упомянуть в видео.