Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 05.12.2006, 20:13   [включить плавающее окно]   #1
-NXT-
Мужской Начинающий
Автор темы
 
Регистрация: 05.07.2006
[All]Кто может сделать программу крестики нолики?

Всем привет. В общем так. Скоро сессия, экзамен по информатике. Для получения Автомата нужно сделать прогу крестики нолики с полем 100х100(нужен сам алгоритм). Нужно чтобы прога сама делала шаги и выиграла хотя бы 1 раз из 3х, ничья тоже сойдет. Кто может такую сделать(или может кто такую уже стелал)?

В долгу не останусь.

ася 304875664
мыло Niksonnnn@yandex.ru
tel 8 9265021586
__________________
icq 405157710
-NXT- вне форума  
Ответить с цитированием
Непрочитано 06.12.2006, 12:07   [включить плавающее окно]   #2
Barloggg
Мужской Продвинутый
 
Аватар для Barloggg
 
Регистрация: 11.03.2003
Адрес: Тьмутаракань2, лен. обл
без мозгов - хоть кто.

с мозгами. О! а такая и нужна. хмм...

ну алгоритм прост. поиск критического количества стоящих в ряд крестиков врага и их закрытие.
Если нужно собрать 5 в ряд, то критическое число - 3.

если первое условие не выполняется, то ищем такое же число своих крестиков чтобы нарастить линию и возможно выиграть

если и второе условие не выполняется то просто ставим свой крестик рядом со своим же крестиком.

Это был самый простой алгоритм.
его можно улучшить добавив элемент анализа хотя бы своих действий например не пытаться наращивать линию своих крестиков если гарантированно облом.

помню на моем первом компе крестики нолики была просто обалденных размеров с кассеты грузилась очень долго. гораздо больше аркадок. может там какие-то хитрые комбинации были в памяти?
Barloggg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 06.12.2006, 17:33   [включить плавающее окно]   #3
-NXT-
Мужской Начинающий
Автор темы
 
Регистрация: 05.07.2006
Спасибо
__________________
icq 405157710
-NXT- вне форума  
Ответить с цитированием
Непрочитано 06.12.2006, 17:45   [включить плавающее окно]   #4
Vanya
Мужской Недосягаемый
 
Аватар для Vanya
 
Регистрация: 24.11.2003
Адрес: Наукоград Пущино
-NXT-
более развернуто, что ли
Как бы я сделал

основная проверка (поиск своей и чужой победы)
1. сначала для чужих (поочередно для каждого значка чужих)

1.1. проверить вертикаль (у+1 y-1) если все три одинаковые, провить y+2 и y-2
Если обе не заняты, занять одну своим значком.
Если одна занята своим , другая чужим, занять следующую (+3 или -3) своей
Если одна занята своим , другая свободна - идти дальше
Так-же
1.2. горизонталь (x+1, x-1)
так-же 1.3. и 1-4.две диагонали.
2. То-же для своих
Искать три своих и пытаться сделать из них четыре

по хорошему, стоит добавить вес хода, например если закрывая три мы себе делаем три, считаем, что это лучше, чем просто закрываем три...

естественно надо добавлять проверки на переполнение (выход за пределы), вернее переполнения считать как закрытые комбинации
__________________
Признайся себе, что тебе в этот момент меньше всего хочется делать
и сделай это.
Vanya вне форума  
Ответить с цитированием
Непрочитано 13.12.2006, 01:34   [включить плавающее окно]   #5
Andr
Мужской Интересующийся
 
Регистрация: 04.09.2006
я писал прогу на паскале для поля 20*20 в общем больше для нормальной игры и не надо, она оценивает позицию по кличеству линий, например 2 вряд одна оценка, 3 вряд другая, потом всё это суммируется, причём если прога видит очевидный ход то она не перебирает все варианты, а практически мгновенно его делает. глубина оценки несколько ходов.нужно поставить 5 в ряд.

Последний раз редактировалось Andr; 13.12.2006 в 19:08.
Andr вне форума  
Ответить с цитированием
Непрочитано 16.12.2006, 16:55   [включить плавающее окно]   #6
-NXT-
Мужской Начинающий
Автор темы
 
Регистрация: 05.07.2006
Andr
А можешь мне текст проги кинуть, если не сложно, просто очень надо.
__________________
icq 405157710
-NXT- вне форума  
Ответить с цитированием
Непрочитано 17.12.2006, 02:30   [включить плавающее окно]   #7
Andr
Мужской Интересующийся
 
Регистрация: 04.09.2006
щас пришлю, там в этой проге чёрт ногу сломит, комментов не попросят?
Andr вне форума  
Ответить с цитированием
Непрочитано 17.12.2006, 12:32   [включить плавающее окно]   #8
-NXT-
Мужской Начинающий
Автор темы
 
Регистрация: 05.07.2006
ну может попросят, напиши если не сложно. Заранее огромное спасибо!
__________________
icq 405157710
-NXT- вне форума  
Ответить с цитированием
Непрочитано 28.12.2006, 16:59   [включить плавающее окно]   #9
-NXT-
Мужской Начинающий
Автор темы
 
Регистрация: 05.07.2006
Поднимаю тему опять. Кто может сделать прогу или скинуть исходник в Паскале(или Делфи, но лучше все таки в паскале). Поле обязательно 100х100. Можно без интерфейса(даже лучше наверное)
Нужен именно текст проги(желательно с небольшими объяснениями).

контакты в начале темы.
В долгу не останусь(с меня пиво, деньги или еще что, только в пределах разумного, я же все таки студент 1-го курса)
__________________
icq 405157710
-NXT- вне форума  
Ответить с цитированием
Непрочитано 12.01.2007, 19:27   [включить плавающее окно]   #10
Malik
Мужской Интересующийся
 
Аватар для Malik
 
Регистрация: 11.01.2007
Вопрос тебе этф прога еще нужна?
Malik вне форума  
Ответить с цитированием
Непрочитано 15.01.2007, 21:25   [включить плавающее окно]   #11
-NXT-
Мужской Начинающий
Автор темы
 
Регистрация: 05.07.2006
уже нет. всем спасибо, но если кому не лень скинуть - скиньте плиз
__________________
icq 405157710
-NXT- вне форума  
Ответить с цитированием
Непрочитано 15.01.2007, 22:10   [включить плавающее окно]   #12
Malik
Мужской Интересующийся
 
Аватар для Malik
 
Регистрация: 11.01.2007
Зачем скидывать? Программа простейшая — в этой игре выигрывает тот, кто ходит первым (если конечно он не на все сто дурак). Поэтому я удивлен, что данную тяжёло сделать.
С уважением самаучка
Malik вне форума  
Ответить с цитированием
Непрочитано 16.01.2007, 03:35   [включить плавающее окно]   #13
Andr
Мужской Интересующийся
 
Регистрация: 04.09.2006
а как дела с моей прогой? не подошла?
вообще мою можно преобразовать для игры на 100, единственное что бы не перебирала все варианты, надо что бы ход выбирался из например 10 наиболее лучших и то вокруг полей последних двух ходов (соперника и своего), что бы дерево перебора было не очень большим.
Andr вне форума  
Ответить с цитированием
Непрочитано 16.01.2007, 15:00   [включить плавающее окно]   #14
-NXT-
Мужской Начинающий
Автор темы
 
Регистрация: 05.07.2006
Andr твоя не подошла, ему нажл юыло 100х100, но я передалывать не умею, я просто зачет сдал и все, прога уже не нужна.
__________________
icq 405157710
-NXT- вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:34. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey