Пещерный человек сумасшедший. Другой пещерный человек взял палку, но палка была для меня. Пещерный Бой !
Описание
Пещерному человеку нужна острая палка, чтобы нанести удар другому пещерному человеку. Другие пещерные люди также пытаются нанести удар острой палкой. Пещерный человек может точить палку, тыкать палкой или блокировать палки.
Если пещерный человек ткнет другого пещерного человека острой палкой, другой пещерный человек убежит и я одержу победу. Но если другой пещерный человек ловко блокирует, когда я тыкаю, ничего не происходит, кроме моей палки, которая становится тупой, и мне нужно снова заострить.
Пещерный человек ленивый. Также пещерный человек тупой. Пещерный человек не знает, что делать, поэтому пещерному человеку нужна модная компьютерная программа техно, чтобы сказать пещерному человеку, что делать.
вход
Ввод вашей программы будет представлять собой историю событий, которые произошли, где S
обозначает повышение резкости (то есть пещерный человек оттачивал свою палку), P
обозначает удар, и B
обозначает блок. Входными данными будет история обеих сторон (вы и противник), поэтому ходы вашего и противника будут разделены запятой ( ,
).
Пример ввода:
SPB,SBB
Это означает, что игрок оттачивал свою палку, затем тыкал, затем блокировал, а противник оттачивал, затем блокировал, а затем снова блокировал.
Вы не получите никакой информации на первом ходу.
Выход
Вывод очень похож на ввод (потому что пещерный человек не очень умен). Ваша программа должна выводить S
резкость, P
для poke и B
для блока. Будет учитываться только первый символ вывода, а любой другой ввод будет рассматриваться как B
(блочная) команда.
S
: точитьПри обострении острота палки пещерного человека увеличивается на 1, и палка получает 1 дополнительный удар. Каждый удар уменьшает остроту палки на 1, а если резкость палки равна 0, слишком скучно для того, чтобы тыкать. Резкость начинается с 0. Если резкость достигает 5, палка - это меч! (Смотри ниже.)
Если противник тыкает, когда вы точите (и они имеют остроту> 0), противник побеждает!
P
: тыкатьКогда тыкаешь, резкость палки пещерного человека падает на 1, а ты тыкаешь своего противника! Если ваш противник обостряется, вы выигрываете! Если противник тыкает, ваша палка ударяет по палке противника, и они оба становятся более тусклыми (на 1 «единицу резкости»). Если противник блокирует, ничего не происходит, кроме того, что ваша палка становится более тупой.
Если тыкаешь, когда острота твоей палки 5 или больше, твоя палка становится мечом, и ты всегда выигрываешь! (Если только у вашего противника нет меча и он тоже выбрал
P
; в этом случае они оба становятся тупее и могут вернуться к палкам, если их острота упадет ниже 5.)Вы не можете тыкать с точностью до 0. Если вы делаете, ничего не произойдет.
B
: блокКогда вы блокируете, ничего не происходит, когда ваш противник пикает. Если ваш противник не тыкает, блок ничего не делает.
Блокировка не защищает от меча, даже если он у вас есть!
Правила и ограничения
Дополнительные правила:
- Ваша программа может читать и записывать файлы в своей собственной папке (без кражи!), Если вы хотите сохранить данные, но вы не можете получить доступ к чему-либо за ее пределами (а пещерные люди не имеют подключения к Интернету в пустыне).
- Важное примечание к файлам : если вы сохраняете файлы, не забудьте сохранить их в каталоге
players/YourBotsName/somefile.foo
! Текущий рабочий каталог для вашей программы не будет вашей программой!
- Важное примечание к файлам : если вы сохраняете файлы, не забудьте сохранить их в каталоге
- Пещерные люди справедливы: одна программа не может иметь код, специфичный для другой программы, и программы не могут помочь друг другу. (У вас может быть несколько программ, но они никак не могут взаимодействовать друг с другом.)
- Судья пещерного человека не терпелив. Если пещерный человек делает более 100 ходов каждый, чтобы определить победителя, судье становится скучно, и оба пещерных человека проигрывают.
Если ваша программа нарушает правило или не соответствует спецификации, программа дисквалифицируется, удаляется playerlist.txt
и все дуэли возобновляются с самого начала. Если ваша программа будет дисквалифицирована, лидер пещерного человека (я!) Прокомментирует пост вашей программы и объяснит почему. Если вы не нарушаете никаких правил, ваша программа будет добавлена в список лидеров. (Если вашей программы нет в списке лидеров, в вашем посте нет пояснительного комментария, и вы опубликовали свою программу раньше, чем «Последнее обновление», указанное ниже, сообщите об этом руководителю пещерного человека! Возможно, он забыл об этом.)
В ваш пост, пожалуйста, включите:
- Имя.
- Командная оболочка для запуска программы (напр.
java MyBot.java
,ruby MyBot.rb
,python3 MyBot.py
И т.д.).- Примечание: вход будет добавлен в качестве аргумента командной строки.
- Пещерные люди используют Ubuntu 14.04, поэтому убедитесь, что ваш код работает (свободно) на нем.
- Номер версии, если ваш код работает по-разному на разных версиях выбранного вами языка.
- Ваш код (очевидно).
- Как скомпилировать код, если это необходимо.
Контроллер кода / тестирование, пример бота
Лидер пещерного человека написал контрольный код на C ++ и разместил его в репозитории Github . Вы можете запустить и протестировать свою программу там.
Очень, очень простая программа (1 строка!) Также размещена в ответах ниже .
Скоринг и таблица лидеров
Забить легко. Какой бы пещерный человек ни победил, он получает очко. Пещерный человек с наибольшим количеством очков после 3 поединков против каждого другого пещерного человека становится новым лидером пещерного человека!
150 Watson
147 SpeculativeSylwester
146 Gruntt
141 BashMagnon
126 ChargerMan
125 PrisonRules
124 ViceLeader
122 MultiMarkov
122 CaveDoctor
120 RegExMan
120 Hodor
117 FancyTechnoAlgorithm
116 Semipatient
113 Watcher
108 BobCaves
105 MinimaxMan
104 Oracle
102 MaybeMarkov
97 Nash
95 Sicillian
95 Feint
95 Basilisk
94 SharpMan
93 Darwin
91 Nigel
91 JavaMan
88 Entertainer
88 CarefulBot
85 CaveMonkey
84 SSBBP
82 SirPokealot
79 MasterPoker
77 Unpredictable
76 IllogicalCaveman
75 SharpenBlockPoke
75 HuddleWolfWithStick
72 WoodenShield
68 PokeBackBot
68 PatientBlacksmith
66 PatientWolf
58 MonteCarloMan
58 BlindFury
56 BinaryCaveman
55 PokeBot
55 CavekidBlocks
53 Swordmaster
53 Blocker
52 NakedEarlyNerd
52 ModestCaveman
50 LatePokeBot
40 Trickster
39 SwordLover
38 ForeignCaveman
36 Swordsmith *
28 Touche
27 WantASword
27 FoolMeOnce
24 PeriodicalCavemanCicada
11 Aichmophobic
(этот список лидеров был сгенерирован автоматически)
Игроки, помеченные *
какой-то ошибкой или исключением, в какой-то момент; эти игроки также имеют комментарии к своим сообщениям.
Игроки , которые не могли быть включены в тесты по какой - либо причине (эти игроки будут иметь комментарий на своих постах , объясняющих проблему): Monkey
, Elephant
, FacileFibonacci
, StudiousSylwester
.
Последнее обновление: 3 августа, 00:15 (UTC).