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

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

Retimiled 06.02.2010 02:38

Итак Google контест.... соревнование программ
 
Тут .... пишут те кто заинтересовался.... обсуждаем правила ...

ИТАК САБДЖ! (Спасибо Chtulchu за сцылку)
Google contest (соревнования)

Игра ТРОН на полях разного типа
http://csclub.uwaterloo.ca/contest/vis.png

типы полей но на финальном конкурсе поля могут быть "разными"

Код:

15 15
###############
#1            #
#            #
#            #
#            #
#            #
#            #
#            #
#            #
#            #
#            #
#            #
#            #
#            2#
###############

Код:

50 50
##################################################
#1                                              #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                                #
#                                              2#
##################################################

Код:

15 15
###############
#            #
#          1 #
#            #
#  ###########
#  #         
#  #         
#  #         
#  #         
#  #         
#  ###########
#            #
#          2 #
#            #
###############

Код:

15 15
###############
#1            #
# #          #
#  #        #
#    #      #
#            #
#      #      #
#            #
#      #      #
#            #
#      #    #
#        #  #
#          # #
#            2#
###############

Код:

15 15
###############
#            #
# # # # # # # #
#  2          #
# # # # # # # #
#            #
# # # # # # # #
#            #
# # # # # # # #
#            #
# # # # # # # #
#          1  #
# # # # # # # #
#            #
###############

Код:

15 15
###############
#    2        #
# ##### ##### #
# #        # #
# #        # #
# #        # #
# #        # #
#            #
# #        # #
# #        # #
# #        # #
# #        # #
# ##### ##### #
#        1    #
###############

Код:

15 15
###############
#      #      #
#      #      #
#  1          #
#      #      #
#      #      #
#      #      #
### ####### ###
#      #      #
#      #      #
#      #      #
#          2  #
#      #      #
#      #      #
###############

как все поняли решетки это НЕПРЕОДОЛИМЫЕ ПРЕПЯТСТВИЯ , след оставляемый вами так же становится НЕПРЕОДОЛИМЫМ ПРЕПЯТСТВИЕМ!

разбавим .... канадцев русскими украинскими и белорусскими флагами? :D

Retimiled 06.02.2010 03:07

ОГРАНИЧЕНИЯ И МИНИ ПРАВИЛА!

Ограничение по времени 1 секунда на ход!

Предупреждения о всех типах попыток несанкционированного доступа, бан!

Предупреждения о многочисленных аккаунтах, бан!

__________________________________________________ __________

Ну вроде все .... ушел в размышления!

lukmus 06.02.2010 05:45

объясните кто-нить по русски что делать надо?

Ra$cal 06.02.2010 07:08

не контекст, а контест.

0ldbi4 06.02.2010 09:45

Сайт грузит со скоростью пол кб в секунду(( вобщем я не дождался игры

Retimiled 06.02.2010 12:41

Так .... обьяснения....
Данные игры носят название компьютерных боев, проводятся как соревнование программ между собой!
От участников требуется написать программу, в данном случае для пошаговой игры,
где программы совершают ходы по очереди!

Правила игры трон .... смотрите сами, игра известная
... ползите как можно дольше наезжать на стены и на оставленный след НЕЛЬЗЯ (проигрыш моментальный)
__________________________________________
Поддерживаемые языки программирования:
Java
C++
C#
Python
Ruby
Haskell
Perl
__________________________________________

Каждый грузит starter_package для своего языка
где уже написаны шаблоны для основных функций
придумывет алгоритм и изменяет функцию ХОДА.....

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

Retimiled 06.02.2010 12:44

по поводу высказываний типа Ra$cal (исправил имеено для вашего смысла хотя высказывался со своим ) :D .... эта тема наверно не для Вас, Вас беспокоит ЧТОТО другое!


Так для людей которые впервые будут писать подобные программы сразу сообщу что в "теории игр" существуют теоретические выкладки по поводу пошаговых игр:

Итак "МИНИМАКСНАЯ МОДЕЛЬ":

Если ваша программа совершает просчет в глубь то на самом нижнем глубоком уровне выполняется
ОЦЕНОЧНАЯ ФУНКЦИЯ ..... которая в зависимости от того чей ход принимает минимальное(например худшее для нас , если это ход противника) или максимальное если ход наш!

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

Если оценочная функция имеет числовое значение то до верху вытаскиваются оценка ходов для верхнего уровня!
... на основании которой и делается ход! :cool:

Retimiled 06.02.2010 13:30

Метод заполнения поля: (относится к простейшим алгоритмам но в некоторых случаях является оптимальным)

Является продолжением метода "Поиск наикратчайшего пути в лабиринте"

Поле поочередно заполняется нумераторами (числами увеличивающими счетчик на 1) от текущего местоположения , по сути показывает за сколько ходов достигается та или иная клетка в лабиринте! Противник нумерует отрицательными числами , вы нумеруете положительными. Если вы достигаете клетку раньше противника то клетка "ПОД ВАШИМ ВЛИЯНИЕМ" .... Глобальная стратегия держать как можно больше клеток под своим влиянием.... с лучшим максимальным числом нумератора!

данный метод может являться так же и ОЦЕНОЧНОЙ ФУНКЦИЕЙ , если будет достаточно хорошо оптимизирован!

Retimiled 06.02.2010 14:48

Первый старт: (на примере С++)
Скачиваю свой паккадж
разархивирую на С:
в итоге имею папку C:\cpp.....
Хочу посмотреть как это хоть работает....
запускаю cmd
ввожу в комманд
cd c:\cpp

java -jar engine/Tron.jar maps/u.txt "java -jar example_bots/Chaser.jar" "java -jar example_bots/RunAway.jar"

два тестовых бота типа играют! :D

Так ну это не интересно..... создаем своего игрока
создаем проект в него добавляем MyTronBot.cc, Map.h, и Map.cc.... и канпелируем!

...после канпеляции ложим MyBOT.exe в c:\cpp
и можем пробовать!

Зайти в cmd
cd c:\cpp
и дать комманду :
java -jar engine/Tron.jar maps/empty-room.txt "MyBOT.exe" "java -jar example_bots/RandomBot.jar"

cделал 2 своих бота
java -jar engine/Tron.jar maps/empty-room.txt "MyBOT.exe" "MyBOT2.exe"

... вау опять работает :D

P.S.
По поводу результата НИЧЬЯ
Поскольку у второго игрока никакого преимущества нет..... то после того как первый ударился ,осуществляется проверка на ход второго игрока, если он так же ударяется то засчитывается НИЧЬЯ!

Есть правда интересная ВЕСЧ
если столкновение голова в голову то всегда ничья!
реализовывать столкновение по алгоритму гораздо проще .... и боюсь найдутся те кто будет делать ничью даже с глубоко думающими программами! :cool:

Retimiled 06.02.2010 15:09

Стартовые пакаджи для разных языков:

Java :

C++

C#

Python

Ruby

Haskell

Perl


Время: 13:25