Печеринка божевільна. Інший печерний чоловік тримався, але палка була для мене. Бій за печер !
Опис
Печеру потрібна гостра палиця, щоб зарізати іншого печерного людини. Інші печерні люди також намагаються колоти гострою палицею. Печер може заточувати палицю, ткнути палицею або блокувати покі палки.
Якщо печерний чоловік гострою палицею штовхає іншого печерного людини, інший печерний чоловік втікає, і я перемагаю. Але якщо інший печерний чоловік спритно блокує, коли мені сунуться, нічого не відбувається, крім моєї палиці стає тупою, і мені потрібно заточувати знову.
Печерна лінива. Також печерний німий. Caveman не знає, що робити, тому пещерному людині потрібна модна технічна комп'ютерна програма, щоб сказати печерному людині, що робити.
Вхідні дані
Вхід вашої програми буде історією подій, що сталися, де S
стоїть загострення (тобто печерик загострив свою палицю), P
стоїть на трюк і B
означає блокування. Вхід буде історією обох сторін (вас і опонента), тому ваші та опоненні ходи будуть розділені комою ( ,
).
Приклад введення:
SPB,SBB
Це означає, що гравець заточував свою палицю, потім тикав, потім блокував, а опонент загострював, потім блокував, потім знову блокував.
Ви не отримаєте жодного входу на черзі 1.
Вихідні дані
Вихід дуже схожий на вхід (тому що печерний чоловік не дуже розумний). Ваша програма повинна виводити S
на різкість, P
на трюк та 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).