Bu tepenin kralı mücadelesi, Weakest Link . Şovu bilmeyenler için, bu zorluğun hamlesi oy verdiğiniz kişiyle ilgilidir :
- Diğer oyuncular sizden daha zekiyse, potu alma şansınız o kadar azdır.
- Diğer oyuncular sizden daha aptalsa, elde edeceğiniz daha az pot vardır.
Her turun başında Pot $ 0 ile başlar. 9 oyunculu bir grup oluşturulur ve her oyuncuya 1 ile 9 arasında benzersiz bir Akıllılık verilir .
Her bir Pot += Smartness
turun başında, her oyuncu için hala bir raundda. Ardından oyuncular çıkarmak istedikleri oyuncuya oy verir. En çok oy alan oyuncu kaldırılır. Beraberlik durumunda daha akıllı oyuncu tutulur.
Turda yalnızca 2 oyuncu kaldığında, zeki bir savaşla karşı karşıya kalırlar. Oyuncunun kazanma şansı Smartness/(Smartness+OpponentSmartness)
. Kazanan oyuncu daha sonra tüm potu alır.
Oyunun sonunda en fazla para alan oyuncu kazanır.
Giriş çıkış
Her turda, mevcut rakiplerin listesini alacaksın. Player sınıfındaki işlevler aracılığıyla akıllılığınıza ve tüm oyuncuların tüm oy verme geçmişine erişebileceksiniz.
Çıktı olarak, oy vermek istediğiniz oynatıcıyı temsil eden (akıllılıklarını temsil eden) tek bir tamsayı döndürmeniz gerekir. Kendiniz için oylama edilir izin (ancak önerilmez).
9 turda tüm oyuncular en az 1000 10000 tur oynayana kadar ve tüm oyuncular aynı sayıda turda oynayana kadar tekrar eder.
Kumandayı burada bulabilirsiniz: https://github.com/nathanmerrill/WeakestLink
Bir oyuncu oluşturmak için, Player sınıfını genişletmeniz ve oynatıcınızı PlayerFactory sınıfına eklemeniz gerekir. Sınıfınız aşağıdaki kurallara uymalıdır:
Başka bir oyuncuyla iletişim kurmak veya parazit (aynı tipteki diğer oyuncuları da dahil olmak üzere) kesinlikle yasaktır.
Yansıma ve statik değişkenlere (sabitler hariç) izin verilmez.
Eğer rastgelelik kullanmak istiyorsanız
getRandom()
, Player sınıfında bir fonksiyon sağladım. Kullan, simülasyonlar deterministik olabilir.
Player sınıfında verilere kolay erişim için birçok işlev sundum. Onları çevrimiçi olarak Github'da bulabilirsiniz . Oyuncunuz her yeni raundda bir kez hazırlanır. "Aptal / intihar" oyuncularına izin verilir (ancak aynı stratejiye sahip oyuncular değil).
Skorlar
377195 WeakestLink.Players.PrudentSniper
362413 WeakestLink.Players.Sniper
353082 WeakestLink.Players.VengefulSniper
347574 WeakestLink.Players.AntiExtremist
298006 WeakestLink.Players.BobPlayer
273867 WeakestLink.Players.MedianPlayer
247881 WeakestLink.Players.TheCult
240425 WeakestLink.Players.Leech
235480 WeakestLink.Players.SniperAide
223128 WeakestLink.Players.Guard
220760 WeakestLink.Players.Anarchist
216839 WeakestLink.Players.RevengePlayer
215099 WeakestLink.Players.IndependentVoter
213883 WeakestLink.Players.SniperKiller
210653 WeakestLink.Players.MaxPlayer
210262 WeakestLink.Players.Bandwagon
209956 WeakestLink.Players.MeanPlayer
208799 WeakestLink.Players.Coward
207686 WeakestLink.Players.Spy
204335 WeakestLink.Players.Hero
203957 WeakestLink.Players.MiddleMan
198535 WeakestLink.Players.MinPlayer
197589 WeakestLink.Players.FixatedPlayer
197478 WeakestLink.Players.HighOrLowNotSelf
181484 WeakestLink.Players.RandomPlayer
165160 WeakestLink.Players.BridgeBurner
src\WeakestLink
kullandığım javac Game\*.java Players\*.java Main.java
derlemek ve java -cp .. WeakestLink.Main
çalıştırmak için.