4-Man Standoff
Açıklama
Her nasılsa kendini dört yönlü bir zıtlıkta buldun. Dolu bir silah senin ellerinde duruyor ve bazı el bombaları kemerine bağlı.
Amaç, bir soğukluğun sonunda en fazla sağlığa sahip olmaktır. En fazla bir kişinin sağlık durumu pozitif olduğunda, uzaklaşma sona erer.
Her oyuncunun 5
sağlığı vardır ve sağlıkları altına düştüğünde ölür 0
. Bir oyuncunun öldüğü sıra, oyuncunun hasar alabileceği son sıradır.
Bir soğukluğun sonunda canlı bir oyuncu varsa, o oyuncu kazanır. Aksi takdirde, sağlığı en düşük negatif olan oyuncu kazanır.
Eylemler
Vur : Birine ateş edin.
2
canlı bir düşman vurulduğunda hasar0
Ölü bir düşman vurduğunda hasarhealth_at_start_of_turn+2
Kendini çekiyorsan zarar. (Bunun sizi en iyi-2
sağlıkta bırakacağını unutmayın .)- Eğer bir düşman size aynı vuruşta vurursa, kendinizi vurursanız, soğukluğu -4 sağlık ile sonlandırırsınız (kendinizi öldürdüğünüzde diğer oyunculara zarar verirsiniz).
- Eyleminiz, aşağıdaki dönüş göz ardı edilecektir (ve olduğu varsayılmaktadır
Nothing
).
Dodge : atlatmak için tek rakibin şut deneyin.
Hazırlanın : El bombanızı çıkarın ve atmaya hazırlanın.
- Havaya uçmadan önce atmak için sadece üç sıranız var (
6
kendinize3
hasar, tüm canlı düşmanlara hasar) - Açılmamış bir el bombası ile ölmek, el bombasını üç tur atmamaya eşdeğerdir.
- Havaya uçmadan önce atmak için sadece üç sıranız var (
Atmak : Birine doğru el bombası Chuck ve en iyisini umuyoruz.
- Hedef
8
hayatta kalırsa hasar alır 3
Hayatta kalan herkes (kendin dahil) zarar alır
- Hedef
Hiçbir şey : Bir dönüş için boş durun ve herkesin ölümünü izleyin.
Giriş
Programınız aşağıdaki bilgilerden geçirilecektir:
- Her oyuncunun sağlığı
Bu oyuncu tarafından soğukluğun başlamasından bu yana yapılan işlemlerin bir listesi Aşağıda, oyuncu başına geçen bilgilerin formatı verilmiştir:
[Health],[Action 1],[Action 2],[Action 3],...
Eylemler Çıktı bölümünde belirtilen formatta verilecektir .
Bu gibi 4 dizgiyi bir boşlukla ayıracak ve tek bir argüman olarak geçireceksiniz. Bu dizgelerin sırası:
[Player Info] [Opponent 1 Info] [Opponent 2 Info] [Opponent 3 Info]
Dizeler ikinci argüman olarak iletilir. İlk argüman, çıkarılmakta olan soğukluğu benzersiz bir şekilde tanımlayan bir tam sayı içerir. Aynı oyuncu grubu arasındaki zıtlığın eşzamanlı olmaması garanti edilir. Bununla birlikte, aynı anda birden fazla zıtlaşma meydana gelecektir .
Örneğin:
$./Player.bash 5 "3,S2,N 5,P,N 3,S0,N -2,S3,N"
Şu anda, oyuncu ve ikinci rakip 3 sağlık, ilk rakip 5 sağlık ve üçüncü rakip -2 sağlık ve öldü.
İlk sırada:
- Oyuncu 1 düşman 2 vurdu
- Düşman 1 bir el bombası hazırladı
- Düşman 2 atış oyuncusu
- Düşman 3 kendini vurdu
İkinci sırada:
- Tüm oyuncular hiçbir şey yapmadı. (Oyuncu ve düşman 2, önceki turnuvada vurdukları için hiçbir şey yapamaz. Düşman 3 öldü:
Nothing
geri kalan kısmı için yapacak .)
Bir soğukluk başında ikinci argümanı: 5 5 5 5
.
Çıktı
Bir komut aşağıda listelenen biçimde verilmelidir. Geçersiz bir çıktı 'Hiçbir şey' olarak yorumlanır. Bir hedef gerektiren bir komut (bir tamsayı ile takip edilmelidir 0-3
ile 0
oyuncu temsil ve 1-3
düşman 1-3 temsil eder).
S[target]
: [Hedef] vuruyor.D[target]
: [Hedef] atlatmaya çalışır.P
: Bir el bombası hazırlayın.T[target]
: El bombasını [hedefe] at.N
: Hiçbir şey yapma.
Bir hedefe ihtiyaç duyan, ancak bir hedef arasında olmayan 0
ve 3
tamamen beslenmeyen bir hedefe beslenen bir komut, tamamen hedef 0
(oyuncu) olarak kabul edilir .
puanlama
Her bölümün sonunda, oyuncular aşağıdaki formüle göre hesaplanan bir puan alırlar:
35 + health at end of standoff
Bir oyuncu negatif sağlığı ile yaşanan soğukluğa biter durumda, olacak bir skor almak 35 altında . Aşağıdaki noktalar da bonus olarak ödüllendirilir:
- En sağlık: +4 puan
- İkinci sağlık: +2 puan
- Üçüncü sağlık: +1 puan.
Beraberlik durumunda, alt bonus verilir (eğer en fazla sağlığa sahip iki kişiyle bağlanırsa, her ikisine de +2 verilir; en fazla sağlığı olan 3 kişi varsa, +1 ve herkes eşit şekilde biterse, +0).
Nihai puan, tüm bireysel puanların ortalaması hesaplanarak belirlenir.
Kurallar / Detaylar
- Bir dönüş içindeki olayların sırası aşağıdaki gibidir:
- Tüm oyuncular kendi eylemlerini yapar.
- 0 veya daha az sağlığı olan oyuncular ölür.
- Patlaması gereken kardeşi el bombaları patlayacak (yeni ölen oyuncular hâlâ incindi, çünkü bu hala öldükleri sıra).
- Girişler arasında işbirliği yok.
- Her 4 oyuncu grubu arasında üç * zıtlaşma olacaktır. (Oyuncuların sıralaması her soğukluk ile değişebilir).
- Aşırı miktarda bellek alanı kullanan girdiler diskalifiye edilir.
- Girişiniz dışındaki dosyalardan okumak veya bunları değiştirmek girişinizi diskalifiye edecektir.
- Bir sarhoş tarafından sürülen bir kamyonet, maç
50th
sonunda henüz sona ermediyse, tüm oyuncuların üzerinden geçecek50th
.- Bu kamyon , tüm canlı oyunculara 20 hasar verir.
- Standoff'lar çabuk oluyor. Programlar 1 saniye sonra kesilir.
- Programınız, öldükten sonra bile, her fırsatta çağrılacak.
- Dosyaları yalnızca dizine okuyabilir veya yazabilirsiniz (girişiniz JohnDoe olarak adlandırılmışsa, dosyaları player / JohnDoe / dizinine kaydedebilirsiniz); Ancak, bu komut dosyası çalışırken bu geçerli dizin olmayacak.
- Zayıflıklar, Arch Linux çalıştıran bir makinede gerçekleşecek (Sürüm 2014.08.01).
Kontrolör GitHub'da mevcuttur .
Lütfen yazınıza aşağıdakileri ekleyin:
- Botunuz için bir isim
- Botu çalıştırmak için bir kabuk komutu (örn.
java Doe.java
) Giriş, komut satırından tek bir argüman olarak geçirilir (java Doe.java 5 "-2,S0 -2,S1 -2,S2 5,N"
). - Botunuzun kodu
- Botun nasıl derlenmesi gerektiği (eğer varsa)
- Dil (ve eğer varsa, özellikle python için)
* Kontrolör altı için çok uzun sürüyor.
sayı tahtası
Observer 43.280570409982
MuhammadAli 43.134861217214
Osama 43.031983702572
LateBoomer 42.560275019099
SimpleShooter 42.412885154062
LessSimpleShooter 42.3772
Neo 42.3738
Scared 42.3678
Richochet 42.3263
Equivocator 42.2833
TwentyFourthsAndAHalfCentury 42.2640
Darwin 42.1584
HanSolo 42.1025
Coward 42.0458
ManipulativeBastard 41.8948
Sadist 41.7232
Aggressor 41.7058
CourageTheDog 41.5629
Grenadier 40.9889
Bomberman 40.8840
Spock 40.8713
Sniper 40.6346
DONTNUKEMEBRO 39.8151
PriorityTargets 39.6126
Hippolyta 39.2480
EmoCowboy 39.2069
Zaenille 39.1971
AntiGrenadier 39.1919
PoliticallyCorrectGunman 39.1689
InputAnalyzer 39.1517
Rule0Bot 39.1000
BiasedOne 39.0664
Pacifist 39.0481
StraightShooter 39.0292
Ninja 38.7801
MAD 38.2543
Monkey 37.7089
Label1Goto1 36.2131
Generated: 2014/08/22 03:56:13.470264860 UTC
Günlükleri: GitHub'da