Крестики-нолики на VB.net

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Andrew_T
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.01.2010 (Пн) 16:04

Крестики-нолики на VB.net

Сообщение Andrew_T » 24.01.2010 (Вс) 16:21

Люди помогите написать игру "крестики-нолики", а именно реализовать самое сложное (на мой взгляд) ответный ход компьютера, то есть как зделать так так чтобы компьютер ставил крестик или нолик не куда попало а в определённое место (то есть действовал обдуманно примерно как человек). Пробовал зделать так чтоб первый ход когда не особо важно куда ходить был случайным с помощю генератора и второй когда есть несколько вариантов тоже выбирался случайно, но как реализовать последующие ходы там туева хучя :lol: вариантов если с помощью оператора if все прверять то это полный пиз.... Вобщем вопрос в том: есть ли более простой алгоритм ?

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Крестики-нолики на VB.net

Сообщение FireFenix » 24.01.2010 (Вс) 17:10

Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Крестики-нолики на VB.net

Сообщение Debugger » 24.01.2010 (Вс) 20:54

Если простые крестики-нолики (поле 3 на 3), то всё элементарно, If'ом решается просто (хотя и муторно).
Если поле большое, и надо поставить 5 значков в ряд/по диагонали, то придётся помучаться. Я распределил приоритеты ИИ таким образом:
Сделать ход, чтобы
1. Поставить 5 значков в ряд (выиграть)
2. "Заблокировать" 4 значка противника
3. Поставить 4й значок в ряд так, чтобы они с двух сторон были незакрытыми.
4. Помешать сопернику сделать это
5. Поставить 2 значка в ряд
6. Рандомный ход
Вот и всё. Обрати внимание, что иногда один ход может удовлетворять нескольким пунктам.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Крестики-нолики на VB.net

Сообщение Viper » 24.01.2010 (Вс) 22:24

Интересно, причем здесь VB.NET? Алгоритму то не все ли равно на каком языке реализовыватся?
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 28

    TopList