| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > экспертная система |
| Автор: romeobugulma 25.10.2007, 14:07 |
| Помогите пожалуйста. Нужно реализовать игру крестики-нолики. Имеется некоторая ситуация на доске 3 на 3. Расположены маркеры свои и чужие(x, 0). Программа анализирует: если есть решение ходит, если нет - то на угад. |
| Автор: Maksym 25.10.2007, 14:33 |
| romeobugulma Что конкретно не получается? |
| Автор: nornad 25.10.2007, 20:50 |
| Есть такой термин "магический квадрат". Суть его в том, что в квадрате 3х3 записаны цифры от 1 до 9 так, что их сумма по любой вертикали, горизонтали и диагонали (включая и диагонали, учитывающие "шарообразность" квадрата) была одной и той же (если я правильно помню, то это 15). Так вот, магический квадрат используется для игры в крестики-нолики. Смысл в том, что программа должна из имеющихся у неё цифр (те, что она отметила крестиком и те, что пока ещё свободны; если это первый ход в игре - программа занимает центр; если к сумме ведут несколько равноценных путей - выбирает любой). В принципе, вот и всё решение. Магический квадрат в сети найти труда не составит. Добавлено через 54 секунды Кстати, вроде бы с Java 5+ идёт пример как раз крестиков-ноликов. |
| Автор: Zamuta 26.10.2007, 06:03 |
| Для поля 3 на 3 существует только один квадрат 2 9 4 7 5 3 6 1 8 Для поля 4 на 4 более одного, например: 1 8 15 10 12 13 6 3 14 11 4 5 7 2 9 16 |
| Автор: _Michael 26.10.2007, 15:56 |
| nornad, а для реверси например? там какой принцып? как программу научить "думать"? |
| Автор: nornad 26.10.2007, 17:14 |
| _Michael, хз, если честно. Не интересовался никогда. Крестики-нолики - классика жанра. Реверси сложнее, но тоже поддаётся математическому описанию, так что нужно "всего лишь" взять и описать. Тут же речь шла об обычных "Tic-Tac-Toe" на поле 3х3. Решение детское. Если слышал, конечно. |
| Автор: romeobugulma 8.11.2007, 14:47 |
| |
| Автор: nornad 8.11.2007, 15:59 |
| Ну уж нет. Такой простой код я рисовать не стану. Сдаётся мне, что ты просто не хочешь немножко подумать и взяться за клавиатуру. Логика "AI" уже расписана. Кроме того, с JDK идёт демо-аплет крестиков-ноликов, про который тебе уже тоже говорили. Если у тебя нет желания что-либо делать самому, то у меня нет желания помогать. Для начала реши для себя, что тебе это надо. |