Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Крестики-Нолики (https://forum.antichat.xyz/showthread.php?t=57885)

Ky3bMu4 08.01.2008 22:17

Крестики-Нолики
 
Мой 2 нормальный релиз.
Вот, написал на С++. ++ потому что поигрался с исключениями. Мож кому пригодится.

slil.ru/25330625

ZaCo 09.01.2008 00:52

:))))
>>You turn. Enter poision data of you X[x,y]. x -
>>1,1
Цитата:

You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
You turn. Enter poision data of you X[x,y]. x - y - Invalid poision data!
вообще "релиза" в этом не вижу: задача крестиков ноликов на поле 3х3 более чем тривиальна и алгоритмически абсолютно не интересна, другое дело нормальная реализация игры в "точки" или "пять в ряд"..

GlOFF 09.01.2008 00:57

А я вот люблю в кресты с нулями...

Ky3bMu4 Если релиза калькулятора не было, то ждем...

Ni0x 09.01.2008 01:12

Ky3bMu4, я выиграл 3 раза и даже сделал из крестиков букву "O", но оутпост попрежнему работает. Я подозреваю, что это из-за того, что ты поигрался с исключениями(FALSE стало быть), но я не знаю что делать. Может быть нужно переустановить виндовс? Помогите, если кто знает.

ZaCo 09.01.2008 01:21

ой, я не думал, что все так плохо - дело в следующем: на 3х3 легко доказать (перебор+симметричные ситуации) что в такие крестики-нолики нельзя проиграть.. вот держи самая проста реализация как раз-таки моей лабораторной работы: http://zaco.info/shah.cpp

KEZ 09.01.2008 08:46

Я так подозреваю, в начальном варианте на поле были только "_", а потом стало уже X и O...

Ky3bMu4 09.01.2008 13:56

Цитата:

но оутпост попрежнему работает
Ni0x может хватит? Я с этим давно завязал.;)

Цитата:

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

Цитата:

только "_", а потом стало уже X и O...
KEZ, может тоже хватит? '_' я тоже уже завязал:).

ZaCo 10.01.2008 01:20

Ky3bMu4, может и тебе хватит? :(

>>В данном случае под релизом я понимал работающую программу

возможно тогда и int main(){}; работающая программа для игры в шахматы с базой эвристик? алгоритм, проигрывающий пользователю в игре крестики-нолики на поле 3х3 - НЕ работающая программа.

Delimiter 10.01.2008 01:27

Но в принцыпе ,чтото в этом есть............

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

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

ZaCo 10.01.2008 01:48

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

Delimiter 10.01.2008 01:55

Это точно ! НЕ НОВАЯ... и согласен со всем что ты сказал, я для примера назвал 100клеточные шашки....

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

думаю что мысль там где то есть.... главное что игрульку придумать
а придумать передачу данных игровому серверу неудобную для "шаловливых"
ручек и головы можно 8)))

ZaCo 10.01.2008 02:16

а зачем игровой сервер? турнир-то не вечный, более того, для удобства придется и апи предоставлять для общения с сервером, зачем разработчика заставлять думать о сокетах к примеру? ну я не про это, легче собрать все программы и наложить для каждой условие: если с stdin считываем '1', то она делает первый шаг, если '0', то она считывает новую позицию от противника делающего первый шаг с входного потока, и выводит ответ на stdout. проверяющая программа просто разбивает программы на пары и в каждом "турнире" заводит два дочерних процесса pr1, pr2 и пайпами просто переписывает вывод одной на вход другой.

Delimiter 10.01.2008 02:37

Ну видимо я уж совсем "губу раскатал" представил себе отражение игр в "реальном времени".... типа чтоб другим завидно было!

Разные языки программирования.... чем PHP то хуже ?

Главное чтоб стало традицией античата.... 8)) но это чисто мое мнение!

Ky3bMu4 14.01.2008 00:49

Хех...простой алго шашек(до первой дамки+не умеет есть назад+ai vs ai =)).

slil.ru/25353348

Не хотел новую тему делать.


Время: 16:55