![]() |
Модераторы: Snowy, Poseidon |
![]() ![]() ![]() |
|
cLifman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.11.2005 Репутация: нет Всего: нет |
Есть тема написать сетевые крестики-нолики. Не обычные 3х3, а на произвольном (задаваемом) поле.
|
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 3 Всего: 78 |
еси без ИИ, я могу) на JS + HttpRequest
|
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 1 Всего: 133 |
В этой теме это как бы оффтоп
![]() Как ты представляешь игру против компа без ИИ? Ну можно конечно с помощью random, но это не выход ![]() -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Fighter |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
||||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 1 Всего: 133 |
Не, четвертый уровень пока еще подтормаживает, особенно при нестандартных ходах. Но и третий выиграть не так и легко ![]() Сессия скоро. Сдам, сделаю подсчет лучшего хода в параллельных потоках. Можно будет еще больше вариантов обрабатывать за секунду... Предлагайте еще идеи по доработке или новым фитчам. Вот мой план по доработке: План совершенствования программы "Точки" Что сделать
Тут много технической информации, но, думаю, раз большинство тут программисты, то меня поймут. В общем много смогу реализовать сам, нужно только время. А вот с некоторым нужно помощь. В часности нужно перевести интерфейс на английский и подумать над созданием сервака для сетевой игры. Но это пока не горит. Это сообщение отредактировал(а) Poseidon - 18.1.2006, 01:44 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Fighter |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 810 Регистрация: 5.1.2005 Репутация: нет Всего: 2 |
Я думаю что тут нет необходимости в отрисовке своего состояния на HDC (ты конечно можешь это добавить, но как опцию). Я думаю, что ответственным в данном случае за отображение на HDC конекретного приложения является конкретный программист. А вдруг он захочет сделать точки в 3D (мало ли что). Так что если ты будешь добавлять процедуру отрисовки на HDC, делай её виртуальной, чтобы кому-надо могли бы её переопределить. А основной упор - это да, логика, ИИ, и мой вопрос - это как определить что точка закрыта или сколько точек закрыто и т.д. |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 1 Всего: 133 |
Пусть делает, я же не запрещаю.
![]()
![]() -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
В данной версии одержать победу можно совершено без напряга, например по следующему алгоритму: Программа всегда старается поставить точку ближе к внешнему краю. По-етому можно воспользоваться етой слабостью. Т.е. "состовляете" прямоугольник не допуская ходов по диагонали отступив немного (например 2 клетки) от края. Компьютер в ответ будет пытаться "обвести" ваш прямоугольник своим, но так как ваш прямоугольник меньшего периметра он замкнётся на нескоолько ходов раньше и у Вас будет время прегородить путь компьютера. В принципе победа Вам обеспечена - как только компьютер поставит точку внутри Вашего прямоугольника, так сразу контур прямоугольника замкнётся. Но ето будет победа 1:0. Чтоб выйграть с более внушительным результатом, начинайте делить свой прямоугольник на клетки (пополам,потом опять пополам и т.д) Как только у компьютера не будет хода на зоне вне вашего прямоугольника, он начнет ставить точки внутри "подготовленных" Вами клеток. Имено для того чтоб у Вас было время разбить прямоугольник на клетки, я и предложил отступать две клетки, а не одну. После некоторой тренировки (нможно конечно просто посчитать) легко определить нужный отступ. Так что у игры ИИ нужно дорабатывать иначе игра просто лишена смысла... |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 1 Всего: 133 |
Вы сами-то пробовали? Версия 0.40 пытается обвести ваш прымоугольник изнутри. Т.е. ставит точку ближе к центру, а не краю. Это сообщение отредактировал(а) Poseidon - 27.4.2006, 23:50 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
Для убедительности моих слов привожу скриншот игры.Победа (счет 80:0 в пользу игрока) основана на алгоритме описанном выше. ![]() Начал игру с точки в верхнем левом углу (2,2)
На рисунке явно видно обратное ![]() Добавлено @ 14:17 Ето не единственная слабость етой программы. Легко окружить точки если окружать не сплошной линией, а с разрывами. Также программа не всегда коректно определяет конец игры, т.е ходов больше нет, а мессагебокса об окончании нет. Такая ситуация возникает если последний ход компа попадает в зону окруженную точками игроками. Тогда зона очерчивается, (до етого возможные ходы, становятся естественно недоступными) но сообшения о окончании игры нет. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
Испробовал другой алгоритм (змейкой). Результат (поле 20х20) 149:0 в пользу игрока. При етом максимально возможный (но недостижимый) результат 200:0
![]() Так что с ИИ надо что-то делать.... Это сообщение отредактировал(а) mes - 30.4.2006, 01:13 |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 1 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
acc15 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
как бы вы не мучались, а бот он и в африке бот... лучше сделать норм. сетевую игру
|
|||
|
||||
vms |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 23.5.2006 Репутация: нет Всего: нет |
Не хочу огорчать, но ИИ боле менее нормальный в природе пока что отсутствует. Обсуждения на подобные темы ведутся и на сайтах, посвященных игре Го (если кто не знает, очень похожа на "точки", уж тем более с точки зрения создания ИИ). Не смотря на мощную поддержку (спонсоры, премиальный фонд программистам, большое количество участников со всего мира) программу с ИИ (играющем на уровне хоть чуть выше среднего) пока что не удалось создать.
Что касается той программы с ИИ, представленной здесь, то она проигрывает в хлам (тестировал на поле 9х9, максимальный уровень сложности). Лучше пока что направить силы на улучшение условий для игры по сети... На сайте любителей точек (www.pointsxt.ru) уже создана неплохая версия для игры по сети... может объединить усилия и сделать еще более лучший продукт? С уважением, Владимир. P.S.: если интересно, то могу дать ссылки и на сервера по Го P.P.S.: с удовольствием сыграю с кем-нибудь по инету в "точки" Это сообщение отредактировал(а) vms - 23.5.2006, 13:46 |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 1 Всего: 133 |
![]() -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Совместные проекты/поиск партнёров" | |
|
Внимание: Этот раздел только для проектов в которых Вы будете выступать в качестве исполнителя! Темы и сообщения, не удовлетворяющие данным правилам, будут удаляться на основании пункта 3 Правил форума!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, Poseidon |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Совместные проекты/поиск партнёров | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |