Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Крестики-нолики (http://www.flasher.ru/forum/showthread.php?t=38776)

Palag 23.10.2002 03:28

Крестики-нолики
 
Написал на пробу Крестики-нолики , по англицки ,вроде,
Five-In-Line зовется.
Играю их не очень-то. Не оцените ?

http://webcenter.ru/~palag/

Как играет ? Слишком слабло или приемлемо ? .Спасибо.

TTS 23.10.2002 08:26

Если и слабо, то не очень. Если, конечно, слабо. :rolleyes:

iNils 23.10.2002 11:43

На самом деле это наша игра скучна, если умеешь играть и делаешь первый ход то 100% выигрываешь, а вот их сложнее и интереснее.
А твой вариант посомтрел. Интересно, но алгоритм игры компа как видно слабоват, тк я выйграл с первой попытки и когда первый начинал и когда второй ходил. Не думаю что я такой монстр в игре, раньше мне сложно было выграть у компа.

Так что, у тебя есть еще над чем работать :))) Желаю удачи!

DeliMIter 23.10.2002 13:13

Для 5-в-ряд для второго ходящего есть беспроигрышный алгоритм защиты. Для 4-в-ряд для первого - выигрышная стратегия.

Palag 23.10.2002 16:04

Я ее чаще выигрываю, но если зазеваюсь - плохо дело.
Надо, конечно, попробывать усилить игру.

2 DeliMIter
Я их не знаю :( Не поделишся ? хоть в нескольких словах.

DeliMIter 23.10.2002 16:31

5-в-ряд, защита - односторонний ход конем (напр. из любой точки во все четыре направления, а потом ТОЛЬКО направо) покрывает бесконечное клетчатое поле таким образом, что любая прямая линия имеет всего 4 клетки в длину. Кроме того, на ее построение требуется всего 1/5 всех клеток, т.е. имеет место избыточность хода - которую можно использовать на латание дыр.

4-в-ряд решается простым brute-force перебором, это будет быстрее сделать самому, чем мне объяснять. Сводится к двум вариантам начала игры.

Palag 23.10.2002 20:47

2 DeliMIter

Спасибо, конечно, но твое объяснение как" односторонний ход конем ".
Понимаю, что потенциальная защитная стратегия должна как-то "закрыть ", т.е поставить крестик или нолик, во все возможные 5-ки на доске. Как это делать не очень мне понятно.
И кроме-того , поискал в сети и нашел пару обьемных трудов, где вроде доказывается, что начинающий при правильной игре всегда выигрывает, что согласуется с опытом Nilsa.

Кто прав ?

DeliMIter 24.10.2002 12:01

Я конечно :))))))

Palag 24.10.2002 16:14

Не убедил :(
Ты хоть лошадь эту опиши, если она есть.

DeliMIter 24.10.2002 16:57

Блин!!!

**x****x**
x****x****
***x****x*
*x****x***

Palag 24.10.2002 21:06

Я думал у тебя , что оригинальное.
Видишь в чем дело, если это и работало бы, то смысл такой:
делаешь "маску" вроде той , что ты изобразил и укладываешь ей всю доску, причем вся доска как-бы разбивается на квадраты 5х5 и в каждом эта "маска" - только и только эта "маска" !!! Если не удается сохранить "маску" , то все летит к чертям. Не позволить сохранить "маску" совсем просто.

Если сделать грамотную процедуру "латания дыр" , то это уже при любом ходе гарантирует пусть не сильную, но хотя бы слабую игру.

Palag 26.10.2002 19:54

2 DeliMIter

Возражений нет ?

DeliMIter 28.10.2002 12:58

Есть.

Palag 28.10.2002 13:29

Пкажи, если это не твоя великая тайна. :)

DeliMIter 28.10.2002 16:05

Если у тебя есть сервер, то я напишу крестики-нолики на двоих по сети и ты все увидишь сам ;)

Palag 28.10.2002 21:02

Сервера, к сожалению, нет.
Играю не сильно, а так ведь мастер мне докажет, что в шахматах выигрывают только черные.
Идею твою понимаю, но думаю, что есть контртактика.
Думаю, то что ты говоришь , наверное, сработает для начинающего, но не для второго.
Ты напиши лучше с игрой PC. Если есть конкретный алгоритм, то это вопрос 30 мин-1 часа, для тебя может еще меньше.
Ничего лишнего. А если его нет , то пора этот топик закрывать:)

Balaur 29.10.2002 03:37

Жука нашёл
 
она даёт победу на 6 в ряд. а можно только 5.

Palag 30.10.2002 19:49

2 Balaur

Здесь написано о современном состоянии Gomoku:

http://www.ics.uci.edu/~eppstein/cgt/gomoku.html

У меня Variation (1)

Amortizator 30.10.2002 23:58

Palag, ты мне в двух словах можеш объяснить как ты писал алгоритм "крестики нолики", всмысле на чем основавылся, неужели на условных операторах??? А то я пытался что то подобное сделать, но как то криво вышло.

Palag 31.10.2002 02:27

2 Amortizator

У меня тоже не особо прямо :(

Я делаю оценку каждого пустого поля , если оценка выше где-то , то туда и ставлю фишку. Для оценки нужна "оценочная функция". Чем лучше функция, тем лучше играет.

Maksoff 31.10.2002 17:30

Прикольно, получается что главное продумать алгоритм, по которому оценивается поле? А с первого взгляда там кажется строк тысяча скрипта (но это наверно только для меня :( )
Но всё таки, можешь объяснить как ты оцениваешь поле? ну хоть примерно? :rolleyes: Буду очень благодарен



P. S. тетрис по-английски Brick Game :)

Palag 02.11.2002 14:36

Куча способов есть, но ведь это Flash:) Слишком много счета подвесит player :(
Самое простое - посчитать сколько пар , троек, четверок рядом с пустой клеткой и пару оценить в 4, 3-ку - 8, 4-ку -16.
Надо пробовать и смотреть, что лучше.

Maksoff 02.11.2002 22:02

Спасибо за идею!
Как сказал vol:
А вообще - была бы идея, модернизаторы - приложатся! :D
Правда теперь зная алгоритм обыграть комп не составит особого труда... :D :D :D Но не это было моим замыслом...


Часовой пояс GMT +4, время: 16:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.