Mağara adamı deli. Diğer mağara adamı sopa alır ama sopa benim içindi. Mağara adamı savaşı !
Açıklama
Mağara adamı, diğer mağara adamı bıçaklamak için keskin bir çubuğa ihtiyaç duyar. Diğer mağara adamı da keskin bir sopa ile bıçaklamaya çalışmaktadır. Mağara adamı, sopayı keskinleştirebilir, sopayla dürtebilir veya kurnaz çubukları engelleyebilir.
Mağara adamı başka bir mağara adamı keskin bir sopa ile dürttü, diğer mağara adamı kaçtı ve bana zafer kazandı. Ama diğer mağara adamı dürttüğümde akıllıca engellerse, çubuğum körelir ve bir kez daha keskinleşmem dışında hiçbir şey olmaz.
Mağara adamı tembel. Ayrıca, mağara adamı aptal. Mağara adamı ne yapacağını bilmiyor, bu yüzden mağara adamı ne yapacaklarını anlatmak için ... ... fantezi tekno bilgisayar programına ihtiyaç duyuyorlar.
Giriş
Programınızın girdisi, S
keskinleşmenin (örneğin mağara adamı sopasını keskinleştirdi), P
dürtmenin ve B
blokun durduğu anlamına gelen olayların geçmişi olacak . Giriş, her iki tarafın da tarihi olacaktır (siz ve rakip), bu nedenle siz ve rakip hareketleri bir virgül ( ,
) ile ayrılacaktır .
Örnek giriş:
SPB,SBB
Bu, oyuncunun sopasını keskinleştirdiği, daha sonra dürttüğü, daha sonra bloke ettiği ve rakibinin keskinleştiği, daha sonra bloke ettiği ve tekrar bloke ettiği anlamına gelir.
1. turda hiçbir giriş almayacaksınız.
Çıktı
Çıktı, girişe çok benzer (çünkü mağara adamı çok akıllı değildir). Programınız S
keskinleştirme, P
dürtme ve B
bloklama için çıktı vermelidir . Çıktının yalnızca ilk karakteri dikkate alınacak ve diğer girdiler B
(blok) komutu olarak değerlendirilecektir.
S
: keskinleştirmekKeskinleştirme sırasında mağara adamı çubuğunun keskinliği 1 artar ve çubuk 1 ekstra dürtme alır. Her bir kurcalama çubuğun keskinliğini 1 oranında azaltır ve eğer çubuğun keskinliği 0 ise, oynaması çok sıkıcıdır. Netlik 0'dan başlar. Netlik 5'e çıkarsa, çubuk bir kılıçtır! (Aşağıya bakınız.)
Eğer keskinleştikçe rakip dürterse (ve> 0 keskinliği varsa), rakip kazanır!
P
: dürtmeAlay ederken mağara adamı çubuğunun keskinliği 1 kat azalır ve rakibinizi dürtürsünüz! Rakibiniz keskinleşiyorsa, kazandınız! Eğer rakip atarsa, sopanız rakibin sopasına vurur ve her ikisi de sıkıcı olur (1 "keskinlik birimi" ile). Rakip engelliyorsa, çubuğunuzun sıkıcı olması dışında hiçbir şey olmuyor.
Çubuğunuzun keskinliği 5 veya daha fazla olduğunda dürterseniz, çubuğunuz bir kılıç olur ve her zaman kazanırsınız! (Rakibiniz aynı zamanda bir kılıcı olmadığı ve seçtiği sürece
P
; bu durumda, ikisi de sıkıcı hale gelir ve keskinlikleri 5'in altına düşerse sopalara geri dönebilir.)0 netliği ile dürtemezsiniz. Yaparsanız, hiçbir şey olmaz.
B
: blokEngellediğin zaman, rakibini dürttüğünde hiçbir şey olmuyor. Rakibiniz dürtme yapmıyorsa blok hiçbir şey yapmaz.
Engellemek, bir tane bile olsa kılıçtan korunmaz!
Kurallar ve kısıtlamalar
Ek kurallar:
- Verilerinizi kaydetmek istiyorsanız, programınız dosyaları kendi klasöründe okuyabilir ve yazabilir (çalmak yok!), Ancak bunun dışında hiçbir şeye erişemezsiniz (ve mağarada vahşi doğada internet bağlantısı yoktur).
- Dosyalar hakkında önemli not : Dosyaları kaydederseniz, dizine kaydetmeyi unutmayın
players/YourBotsName/somefile.foo
! Programınız için geçerli çalışma dizini programınızın olmayacak!
- Dosyalar hakkında önemli not : Dosyaları kaydederseniz, dizine kaydetmeyi unutmayın
- Mağaracılar adil: Bir programın başka bir program için belirli bir kodu olamaz ve programlar birbirine yardım edemez. (Birden fazla programınız olabilir, ancak birbirleriyle hiçbir şekilde etkileşime giremezler.)
- Mağara adamı yargıcı sabırlı değil. Eğer mağara bir galibiyete karar vermek için her biri 100'den fazla tur alırsa, hakem sıkılır ve her iki mağara kaybeder.
Programınız bir kuralı ihlal ederse veya şartnameye uymuyorsa, program diskalifiye edilir, kaldırılır playerlist.txt
ve tüm düellolar baştan başlar. Eğer programınız diskalifiye edilirse mağara adamı lideri (ben!) Programınızın yazısına yorum yapacak ve nedenini açıklayacaktır. Herhangi bir kuralı ihlal etmiyorsanız, programınız büyük tabloya eklenecektir. (Programınız lider panosunda değilse, yayınınız hakkında açıklayıcı bir yorum yoktur ve programınızı aşağıdaki "Son güncelleme" saatinden önce yayınladınız, mağara adamı liderine bildirin! Belki de unuttu.)
Gönderinize lütfen ekleyin:
- Bir isim.
- Bir kabuk komutu programı çalıştırmak için (örn.
java MyBot.java
,ruby MyBot.rb
,python3 MyBot.py
, Vb.)- Not: girdiler buna komut satırı argümanı olarak eklenecektir.
- Mağara adamı Ubuntu 14.04 kullanıyor, bu nedenle kodunuzun üzerinde serbestçe çalıştığından emin olun.
- Kodunuz seçtiğiniz dilin farklı sürümlerinde farklı şekilde çalışıyorsa, bir sürüm numarası.
- Kodunuz (açıkçası).
- Gerekirse, kod nasıl derlenir?
Denetleyici kodu / testi, örnek bot
Mağara adamı lideri kontrol kodunu C ++ 'da yazdı ve Github deposuna gönderdi . Orada programınızı çalıştırabilir ve test edebilirsiniz.
Aşağıdaki cevaplarda çok, çok basit bir program (1 satır!) Da yayınlanmıştır .
Puanlama ve afiş
Puanlama kolaydır. Hangi mağara adamı kazanırsa kazanır. Her mağara adamı karşı 3 düellodan sonra en çok puan alan mağara adamı yeni mağara adamı lideri olur!
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
(bu afiş otomatik olarak oluşturuldu)
Bir işaret ile işaretlenmiş oyuncular bir *
noktada bir çeşit hata veya istisna attı; Bu oyuncuların ayrıca yayınları hakkında bir yorumu var.
Herhangi bir nedenle testlerde dahil edilemedi oyuncular (bu oyuncuların problemi açıklayan yayınlarına bir yorum olacaktır): Monkey
, Elephant
, FacileFibonacci
, StudiousSylwester
.
Son güncelleme: Ağustos 3 00:15 (UTC).