Последняя таблица лидеров @ 2014-08-02 12:00
| Pos # | Author | Name | Language | Score | Win | Draw | Loss | Avg. Dec. Time |
+-------+----------------------+-------------------------+------------+-------+-------+-------+-------+----------------+
| 1st | Emil | Pony | Python2 | 064 | 064 | 000 | 005 | 0026.87 ms |
| 2nd | Roy van Rijn | Gazzr | Java | 062 | 062 | 001 | 006 | 0067.30 ms |
| 2nd | Emil | Dienstag | Python2 | 062 | 062 | 001 | 006 | 0022.19 ms |
| 4th | ovenror | TobiasFuenke | Python2 | 061 | 061 | 001 | 007 | 0026.89 ms |
| 5th | PhiNotPi | BayesianBot | Perl | 060 | 060 | 000 | 009 | 0009.27 ms |
| 6th | Claudiu | SuperMarkov | Python2 | 058 | 058 | 001 | 010 | 0026.77 ms |
| 7th | histocrat | Alternator | Ruby | 057 | 057 | 001 | 011 | 0038.53 ms |
| 8th | histocrat | LeonardShelby | Ruby | 053 | 053 | 000 | 016 | 0038.55 ms |
| 9th | Stretch Maniac | SmarterBot | Java | 051 | 051 | 002 | 016 | 0070.02 ms |
| 9th | Martin Büttner | Markov | Ruby | 051 | 051 | 003 | 015 | 0038.45 ms |
| 11th | histocrat | BartBot | Ruby | 049 | 049 | 001 | 019 | 0038.54 ms |
| 11th | kaine | ExcitingishBot | Java | 049 | 049 | 001 | 019 | 0065.87 ms |
| 13th | Thaylon | UniformBot | Ruby | 047 | 047 | 001 | 021 | 0038.61 ms |
| 14th | Carlos Martinez | EasyGame | Java | 046 | 046 | 002 | 021 | 0066.44 ms |
| 15th | Stretch Maniac | SmartBot | Java | 045 | 045 | 001 | 023 | 0068.65 ms |
| 16th | Docopoper | RoboticOboeBotOboeTuner | Python2 | 044 | 044 | 000 | 025 | 0156.55 ms |
| 17th | Qwix | Analyst | Java | 043 | 043 | 001 | 025 | 0069.06 ms |
| 18th | histocrat | Analogizer | Ruby | 042 | 042 | 000 | 027 | 0038.58 ms |
| 18th | Thaylon | Naan | Ruby | 042 | 042 | 004 | 023 | 0038.48 ms |
| 20th | Thaylon | NitPicker | Ruby | 041 | 041 | 000 | 028 | 0046.21 ms |
| 20th | bitpwner | AlgorithmBot | Python2 | 041 | 041 | 001 | 027 | 0025.34 ms |
| 22nd | histocrat | WereVulcan | Ruby | 040 | 040 | 003 | 026 | 0038.41 ms |
| 22nd | Ourous | QQ | Cobra | 040 | 040 | 003 | 026 | 0089.33 ms |
| 24th | Stranjyr | RelaxedBot | Python2 | 039 | 039 | 001 | 029 | 0025.40 ms |
| 25th | JoshDM | SelfLoathingBot | Java | 038 | 038 | 001 | 030 | 0068.75 ms |
| 25th | Ourous | Q | Cobra | 038 | 038 | 001 | 030 | 0094.04 ms |
| 25th | Ourous | DejaQ | Cobra | 038 | 038 | 001 | 030 | 0078.31 ms |
| 28th | Luis Mars | Botzinga | Java | 037 | 037 | 002 | 030 | 0066.36 ms |
| 29th | kaine | BoringBot | Java | 035 | 035 | 000 | 034 | 0066.16 ms |
| 29th | Docopoper | OboeBeater | Python2 | 035 | 035 | 002 | 032 | 0021.92 ms |
| 29th | Thaylon | NaanViolence | Ruby | 035 | 035 | 003 | 031 | 0038.46 ms |
| 32nd | Martin Büttner | SlowLizard | Ruby | 034 | 034 | 004 | 031 | 0038.32 ms |
| 33rd | Kyle Kanos | ViolentBot | Python3 | 033 | 033 | 001 | 035 | 0032.42 ms |
| 34th | HuddleWolf | HuddleWolfTheConqueror | .NET | 032 | 032 | 001 | 036 | 0029.86 ms |
| 34th | Milo | DogeBotv2 | Java | 032 | 032 | 000 | 037 | 0066.74 ms |
| 34th | Timmy | DynamicBot | Python3 | 032 | 032 | 001 | 036 | 0036.81 ms |
| 34th | mccannf | YAARBot | JS | 032 | 032 | 002 | 035 | 0100.12 ms |
| 38th | Stranjyr | ToddlerProof | Java | 031 | 031 | 010 | 028 | 0066.10 ms |
| 38th | NonFunctional User2..| IHaveNoIdeaWhatImDoing | Lisp | 031 | 031 | 002 | 036 | 0036.26 ms |
| 38th | john smith | RAMBOBot | PHP | 031 | 031 | 002 | 036 | 0014.53 ms |
| 41st | EoinC | SimpleRandomBot | .NET | 030 | 030 | 005 | 034 | 0015.68 ms |
| 41st | Martin Büttner | FairBot | Ruby | 030 | 030 | 006 | 033 | 0038.23 ms |
| 41st | Docopoper | OboeOboeBeater | Python2 | 030 | 030 | 006 | 033 | 0021.93 ms |
| 44th | undergroundmonorail | TheGamblersBrother | Python2 | 029 | 029 | 000 | 040 | 0025.55 ms |
| 45th | DrJPepper | MonadBot | Haskel | 028 | 028 | 002 | 039 | 0008.23 ms |
| 46th | Josef E. | OneBehind | Java | 027 | 027 | 007 | 035 | 0065.87 ms |
| 47th | Ourous | GitGudBot | Cobra | 025 | 025 | 001 | 043 | 0053.35 ms |
| 48th | ProgramFOX | Echo | .NET | 024 | 024 | 004 | 041 | 0014.81 ms |
| 48th | JoshDM | SelfHatingBot | Java | 024 | 024 | 005 | 040 | 0068.88 ms |
| 48th | Trimsty | Herpetologist | Python3 | 024 | 024 | 002 | 043 | 0036.93 ms |
| 51st | Milo | DogeBot | Java | 022 | 022 | 001 | 046 | 0067.86 ms |
| 51st | William Barbosa | StarWarsFan | Ruby | 022 | 022 | 002 | 045 | 0038.48 ms |
| 51st | Martin Büttner | ConservativeBot | Ruby | 022 | 022 | 001 | 046 | 0038.25 ms |
| 51st | killmous | MAWBRBot | Perl | 022 | 022 | 000 | 047 | 0016.30 ms |
| 55th | Mikey Mouse | LizardsRule | .NET | 020 | 020 | 007 | 042 | 0015.10 ms |
| 55th | ja72 | BlindForesight | .NET | 020 | 020 | 001 | 048 | 0024.05 ms |
| 57th | robotik | Evolver | Lua | 019 | 019 | 001 | 049 | 0008.19 ms |
| 58th | Kyle Kanos | LexicographicBot | Python3 | 018 | 018 | 003 | 048 | 0036.93 ms |
| 58th | William Barbosa | BarneyStinson | Lua | 018 | 018 | 005 | 046 | 0005.11 ms |
| 60th | Dr R Dizzle | BartSimpson | Ruby | 017 | 017 | 001 | 051 | 0038.22 ms |
| 60th | jmite | IocainePowder | Ruby | 017 | 017 | 003 | 049 | 0038.50 ms |
| 60th | ArcticanAudio | SpockOrRock | PHP | 017 | 017 | 001 | 051 | 0014.19 ms |
| 60th | Dr R Dizzle | BetterLisaSimpson | Ruby | 017 | 017 | 000 | 052 | 0038.23 ms |
| 64th | Dr R Dizzle | LisaSimpson | Ruby | 016 | 016 | 002 | 051 | 0038.29 ms |
| 65th | Martin Büttner | Vulcan | Ruby | 015 | 015 | 001 | 053 | 0038.26 ms |
| 65th | Dr R Dizzle | Khaleesi | Ruby | 015 | 015 | 005 | 049 | 0038.29 ms |
| 67th | Dr R Dizzle | EdwardScissorHands | Ruby | 014 | 014 | 002 | 053 | 0038.21 ms |
| 67th | undergroundmonorail | TheGambler | Python2 | 014 | 014 | 002 | 053 | 0025.47 ms |
| 69th | cipher | LemmingBot | Python2 | 011 | 011 | 002 | 056 | 0025.29 ms |
| 70th | Docopoper | ConcessionBot | Python2 | 007 | 007 | 000 | 062 | 0141.31 ms |
+-------+----------------------+-------------------------+------------+-------+-------+-------+-------+----------------+
Total Players: 70
Total Matches Completed: 2415
Total Tourney Time: 06:00:51.6877573
Турнирные заметки
- WOO HOO 70 БОТОВ
- Эмиль все еще с KOTH,
Pony
и его новый ботDienstag
занимает 3 место - Поздравляю Роя за то, что он прыгнул на 2-е место со своим
Gazzr
ботом - Уильям Барбоза получает награду Quick Draw за своего бота
BarneyStinson
И Slow Poke награда вручается Docopoper за его боты
R.O.B.O.T
иConcessionbot
которые оба были> 140мса в рукуДоступные журналы @ https://github.com/eoincampbell/big-bang-game/blob/master/tourneys/Tournament-2014-08-01-23-24-00.zip?raw=true
Исключенные боты
- BashRocksBot - до сих пор не радует .net за исключением сценариев Cygwin Bash
- CounterPreferenceBot - ожидание исправления ошибки
- RandomlyWeighted - ожидание исправления ошибки
- CasinoShakespeare - исключено, поскольку требуется активное подключение к Интернету
Оригинальный вопрос
Вы отправились в дом своих друзей на самую эпическую битву за всю историю Рок, Бумага, Ножницы, Ящерица, Спок. В истинном стиле BigBang, ни один из игроков не играет сам, но создал консольных ботов, чтобы играть от их имени. Вы достаете свой USB-ключ и передаете его Шелдору Завоевателю для включения в битву . Пенни падает в обморок. Или, возможно, Говард обморок. Мы не судим здесь, в квартире Леонарда.
правила
Применяются стандартные правила: камень, бумага, ножницы, ящерица, спок.
- Ножницы вырезанные из бумаги
- Бумажные обложки Rock
- Каменная крошка Ящерица
- Ящерица отравляет Спока
- Спок разбивает ножницы
- Ножницы обезглавливают Ящерицу
- Ящерица ест бумагу
- Бумага опровергает Спока
- Спок испаряет камень
- Камень давит Ножницы
Бот каждого игрока сыграет один матч против другого бота в турнире.
Каждый Матч будет состоять из 100 итераций игры RPSLV.
После каждого матча победителем становится игрок, выигравший наибольшее количество игр / раздач из 100.
Если вы выиграете матч, вам будет присвоено 1 очко в таблице лиги. В результате ничьей ни один из игроков не получит очко.
Требования к боту
Ваш бот должен быть запущен из командной строки.
* Шелдор * nix box умер, поэтому мы запускаем его с его игрового ноутбука Windows 8, поэтому убедитесь, что ваше решение может работать на Windows. Шелдор любезно предложил установить любые необходимые среды выполнения (в пределах разумного), чтобы иметь возможность запустить ваше решение. (.NET, Java, Php, Python, Ruby, Powershell ...)
входные
В первой игре каждого матча вашему боту не приводятся аргументы. В каждой последующей игре каждого матча: - Arg1 будет содержать историю ваших рук / решений ботов в этом матче. - Arg2 будет содержать историю рук / решений ваших оппонентов в этом матче.
История будет представлена последовательностью отдельных заглавных букв, обозначающих возможные руки, которые вы можете сыграть.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
Например
- Игра 1: MyBot.exe
- Игра 2: MyBot.exe SV
- Игра 3: MyBot.exe SS VL
- Игра 4: MyBot.exe SSR VLS
Выход
Ваш бот должен написать отдельный ответ персонажа, представляющий его «руку» для каждой игры. Результат должен быть записан в STDOUT, а затем бот должен выйти. Допустимые одиночные заглавные буквы ниже.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
В том случае, если ваш бот не возвращает действительную руку (т.е. 1 из 5 вышеуказанных заглавных букв), вы автоматически лишаетесь этой руки, и матч продолжается.
В случае, когда оба бота не возвращают действительную руку, игра считается ничьей, и матч продолжается.
Формат матча
Каждый представленный бот сыграет один матч против другого бота в турнире.
Каждый матч продлится ровно 100 игр.
Матчи будут разыгрываться анонимно, вы не будете иметь глубоких знаний о конкретном боте, с которым вы играете, однако вы можете использовать любую информацию, которую вы можете получить из его решений в течение истории текущего матча, чтобы изменить свою стратегию против вашего. противник. Вы также можете отслеживать историю ваших предыдущих игр для создания шаблонов / эвристики и т. Д. (См. Правила ниже)
В течение одной игры движок оркестровки будет запускать вашего бота, а ваши оппоненты - на расстоянии 100 миллисекунд, а затем сравнивать результаты, чтобы избежать любых столкновений PRNG на одном языке / времени выполнения. (это на самом деле случилось со мной во время тестирования).
Судья и ограничения
Доктор Шелдон Купер под видом Шелдора Завоевателя любезно предложил присмотреть за ходом турнира. Шелдор Завоеватель - честный и просто надзиратель (в основном). Все решения Шелдора являются окончательными.
Игры будут проводиться честно и правильно:
- Ваш скрипт / программа для бота будет храниться в движке оркестровки в подпапке
Players\[YourBotName]\
- Вы можете использовать подпапку
Players\[YourBotName]\data
для регистрации любых данных или истории игр текущего турнира по мере его продолжения. Каталоги данных будут очищаться в начале каждого турнира. - Вы не можете получить доступ к каталогу Игрока другого игрока в турнире.
- У вашего бота не может быть определенного кода, нацеленного на другое поведение конкретного бота
- Каждый игрок может отправить в игру более одного бота, если они не взаимодействуют и не помогают друг другу.
Изменить - Дополнительные ограничения
- Что касается штрафов, они не будут поддерживаться. Ваш бот должен сыграть одну из 5 действительных рук. Я протестирую каждого бота вне турнира с некоторыми случайными данными, чтобы убедиться, что они ведут себя. Любые боты, которые выбрасывают ошибки (т.е. теряют ошибки), будут исключены из турнира, пока они не исправят ошибку.
- Боты могут быть производными, если они кратко отличаются по своему поведению. Боты (в том числе на других языках), которые ведут себя точно так же, как и существующие боты, будут дисквалифицированы
- Уже есть спам-боты, поэтому, пожалуйста, не отправляйте повторно
- Рок - БартСимпсон
- Бумага - ЛизаСимпсон
- Scissor - EdwardScissorhands
- Спок - Вулкан
- Ящерица - Халиси
- Псевдослучайный - SimpleRandomBot & FairBot
- Psuedo Random RPS - ConservativeBot
- Psuedo Random LV - Барни Стинсон
- Боты не могут вызывать сторонние сервисы или веб-ресурсы (или что-либо еще, что значительно замедляет скорость / время принятия решений в матчах).
CasinoShakespeare
это единственное исключение, так как этот бот был представлен до добавления этого ограничения.
Шелдор будет обновлять этот вопрос так часто, как он может с результатами Турнира, так как будет представлено больше ботов.
Программа оркестровки / управления
Программа оркестровки вместе с исходным кодом для каждого бота доступна на github.
https://github.com/eoincampbell/big-bang-game
Детали представления
Ваша заявка должна включать
- Имя вашего бота
- Ваш код
- Команда для
- выполнить свой бот из оболочки, например
- ruby myBot.rb
- python3 myBot.py
- ИЛИ ЖЕ
- сначала скомпилируйте оба, а затем выполните. например
- csc.exe MyBot.cs
- MyBot.exe
Образец представления
BotName: SimpleRandomBot
Compile: "C:\Program Files (x86)\MSBuild\12.0\Bin\csc.exe" SimpleRandomBot.cs
Run: SimpleRandomBot [Arg1] [Arg2]
Код:
using System;
public class SimpleRandomBot
{
public static void Main(string[] args)
{
var s = new[] { "R", "P", "S", "L", "V" };
if (args.Length == 0)
{
Console.WriteLine("V"); //always start with spock
return;
}
char[] myPreviousPlays = args[0].ToCharArray();
char[] oppPreviousPlays = args[1].ToCharArray();
Random r = new Random();
int next = r.Next(0, 5);
Console.WriteLine(s[next]);
}
}
осветление
Любые вопросы задавайте в комментариях ниже.