Все собираюсь написать крестики-нолики (игрок vs pc) на PascalABC.NET, т.к. преподаватель задал (по желанию), но дело в том, что я ничего не знаю. С алгоритмами туго, Pascal основы знаю. Намечаются выходные, хотелось бы почитать литературу по алгоритмам, которые в какой-то степени помогут разобраться в этом. Читал о minimax в общих чертах на псевдоязыке, но так и не понял принцип.
Там все примитивно.
1. Строишь всевозможные варианты ходов, все комбинации (как тебе так и сопернику выгодные, то есть - все абсолютно).
2. Смотришь куда ведут ходы после хода соперника.
3. Выбираешь ту ветку которая выгодна тебе, а не ему.
Я позаимствовал из одной книги ИИ(но это будет псевдокод, поскольку книга на C++).
Чтобы сделать самый простейший ИИ, вот псевдокод:
Если компьютер делает ход который принесёт ему выигрыш, он его делает
Если следующий ход игрока принесёт ему выигрыш, лишить его этого кода(По правилам естественно)
Иначе занять приорететную клетку.Приоретные это - сначала в середине, потом по углам, и дальше оставшиеся.
Пишем все комбинации которые приносят победу, запускаем рандом, и всё