4-Man Standoff
Deskripsi
Entah bagaimana Anda menemukan diri Anda mengalami kebuntuan empat arah. Senjata yang dimuat terletak di tangan Anda, dan beberapa granat dikaitkan di sabuk Anda.
Tujuannya adalah untuk mendapatkan kesehatan terbanyak di akhir kebuntuan. Kebuntuan berakhir ketika paling banyak satu orang memiliki kesehatan yang positif.
Setiap pemain memiliki 5
kesehatan, dan mati ketika kesehatan mereka turun ke / di bawah 0
. Giliran pemain yang mati adalah giliran terakhir yang pemain dapat rusak.
Jika ada pemain langsung di akhir kebuntuan, pemain itu menang. Kalau tidak, pemain dengan kesehatan paling tidak negatif menang.
Tindakan
Tembak : Tembak seseorang.
2
kerusakan jika menembak musuh yang hidup0
kerusakan jika menembak musuh yang matihealth_at_start_of_turn+2
Kerusakan jika menembak diri sendiri. (Perhatikan bahwa ini akan membuat Anda dengan PALING-2
kesehatan.)- Jika satu musuh menembak Anda pada giliran yang sama Anda menembak diri sendiri, Anda akan mengakhiri kebuntuan dengan -4 kesehatan (Anda masih menerima kerusakan dari pemain lain saat Anda bunuh diri).
- Tindakan Anda, belokan berikut akan diabaikan (dan dianggap sebagai
Nothing
).
Dodge : Cobalah untuk menghindari tembakan satu lawan.
Siapkan : Lepaskan kait granat Anda dan bersiap untuk melemparkannya.
- Anda hanya memiliki tiga putaran untuk melemparnya, sebelum Anda meledak (
6
kerusakan pada diri sendiri,3
kerusakan untuk semua musuh hidup) - Mati dengan granat yang tidak dibuang sama dengan tidak melemparkan granat selama tiga putaran.
- Anda hanya memiliki tiga putaran untuk melemparnya, sebelum Anda meledak (
Lempar : Chuck granat ke arah seseorang dan berharap yang terbaik.
- Target menerima
8
kerusakan jika hidup - Semua orang (termasuk Anda sendiri) menerima
3
kerusakan jika hidup
- Target menerima
Tidak ada : Berdirilah diam-diam untuk belokan dan saksikan semua orang mati.
Memasukkan
Program Anda akan melewati informasi berikut:
- Kesehatan setiap pemain
Daftar tindakan yang dilakukan oleh pemain itu sejak awal kebuntuan Di bawah ini adalah format untuk informasi yang dilewati per pemain:
[Health],[Action 1],[Action 2],[Action 3],...
Tindakan akan diberikan dalam format yang ditentukan di bagian Output .
Anda akan menerima 4 string seperti itu, dipisahkan oleh spasi, dan diteruskan sebagai argumen tunggal. Urutan string ini adalah:
[Player Info] [Opponent 1 Info] [Opponent 2 Info] [Opponent 3 Info]
String diteruskan sebagai argumen kedua. Argumen pertama berisi bilangan bulat yang secara unik mengidentifikasi kebuntuan yang diberlakukan. Standoff antara set pemain yang sama dijamin tidak simultan. Namun, beberapa kebuntuan akan terjadi pada saat yang bersamaan.
Sebagai contoh:
$./Player.bash 5 "3,S2,N 5,P,N 3,S0,N -2,S3,N"
Saat ini, pemain dan lawan kedua memiliki 3 kesehatan, lawan pertama memiliki 5 kesehatan, dan lawan ketiga memiliki -2 kesehatan dan sudah mati.
Di belokan pertama:
- Musuh tembakan 1 pemain 2
- Musuh 1 menyiapkan granat
- Musuh 2 pemain tembakan
- Musuh 3 menembak dirinya sendiri
Di belokan kedua:
- Semua pemain tidak melakukan apa pun. (Pemain dan musuh 2 tidak dapat melakukan apa-apa karena mereka menembak pada giliran sebelumnya. Musuh 3 sudah mati: ia akan melakukannya
Nothing
selama sisa kebuntuan.)
Argumen kedua pada awal penyanderaan adalah: 5 5 5 5
.
Keluaran
Perintah harus ditampilkan dalam format di bawah ini. Output yang tidak valid ditafsirkan sebagai 'Tidak Ada'. Perintah yang membutuhkan target harus diikuti oleh integer ( 0-3
, dengan 0
mewakili pemain, dan 1-3
mewakili musuh 1-3).
S[target]
: Memotret [target].D[target]
: Mencoba menghindari [target].P
: Siapkan granat.T[target]
: Lempar granat di [target].N
: Tidak melakukan apapun.
Perintah yang membutuhkan target, tetapi diberi makan target tidak antara 0
dan 3
atau tidak diberi makan target sepenuhnya akan dianggap target 0
(pemain).
Mencetak gol
Di akhir setiap kebuntuan, pemain menerima skor yang dihitung dengan rumus berikut:
35 + health at end of standoff
Dalam hal seorang pemain mengakhiri kebuntuan dengan kesehatan negatif, mereka akan menerima skor di bawah 35 . Poin-poin berikut juga dihargai sebagai bonus:
- Sebagian besar kesehatan: +4 poin
- Kesehatan terbanyak kedua: +2 poin
- Kesehatan terbanyak ketiga: +1 poin.
Dalam kasus seri, bonus lebih rendah diberikan (jika dua orang mengikat dengan kesehatan terbanyak, keduanya diberikan +2; jika ada 3 orang dengan kesehatan terbanyak, +1, dan jika setiap orang berakhir sama, +0).
Skor akhir ditentukan dengan menghitung rata-rata semua skor individu.
Aturan / Detail
- Urutan peristiwa dalam satu belokan adalah sebagai berikut:
- Semua pemain melakukan aksi mereka.
- Pemain yang memiliki 0 atau kurang kesehatan mati.
- Granat yang tidak dilempar yang perlu meledak, akan meledak (pemain yang baru meninggal masih terluka, karena ini masih giliran mereka yang mati).
- Tidak ada kolaborasi antar entri.
- Tiga * kebuntuan akan terjadi antara setiap set dengan 4 pemain. (Urutan pemain dapat bervariasi dengan setiap kebuntuan).
- Entri yang mengonsumsi terlalu banyak ruang disk akan didiskualifikasi.
- Membaca dari atau memodifikasi file selain dari entri Anda akan mendiskualifikasi entri Anda.
- Sebuah truk, yang dikemudikan oleh seorang pemabuk, akan menabrak semua pemain yang hidup setelah
50th
belokan, jika kebuntuan belum berakhir pada akhir50th
belokan.- Truk ini memberikan 20 kerusakan pada semua pemain live.
- Kebuntuan terjadi dengan cepat. Program terputus setelah 1 detik.
- Program Anda akan dipanggil setiap belokan, bahkan setelah Anda mati.
- Anda dapat membaca atau menulis file hanya ke direktori Anda (jika entri Anda bernama JohnDoe, Anda dapat menyimpan file di direktori pemain / JohnDoe /); namun, ini TIDAK akan menjadi direktori saat ini saat skrip Anda sedang berjalan.
- Kebuntuan akan terjadi pada mesin yang menjalankan Arch Linux (Rilis 2014.08.01).
Pengontrol tersedia di GitHub .
Harap sertakan yang berikut ini di pos Anda:
- Nama untuk bot Anda
- Perintah shell untuk menjalankan bot (mis.
java Doe.java
) Input akan dilewatkan melalui baris perintah sebagai argumen tunggal (java Doe.java 5 "-2,S0 -2,S1 -2,S2 5,N"
) - Kode bot Anda
- Bagaimana bot harus dikompilasi (jika ada)
- Bahasa (dan versi jika berlaku, terutama untuk python)
* Kontroler terlalu lama untuk enam.
Papan angka
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
Log: di GitHub
sumber
Jawaban:
Pengamat
Orang ini menganalisis musuh-musuhnya. Tujuannya adalah untuk bertahan hidup sampai hanya satu lawan "agresif" yang tersisa, dan kemudian membunuh yang dalam kebuntuan epik.
Kompilasi:
javac Observer.java
Jalankan:java Observer arg0 arg1
sumber
!player.contains("S" + id)
apakah ini syarat yang diperlukan dalam fungsi "agresif"? Pemain yang ingin bunuh diri akan matiGrenadier
Senjata dibesar-besarkan. Sebuah benar kebuntuan Scotsman berjalan seperti ini:
Meskipun ini tampak sepele, itu mungkin bukan strategi yang mengerikan . Karena senjata dan granat keduanya memiliki siklus dua-turn, ini adalah jauh lebih efisien 1 cara untuk menangani kerusakan.
Tentu saja, jika ketiga lawan menembak saya di babak pertama itu tidak baik. Tapi tidak banyak lagi yang akan terjadi.
Kompilasi / jalankan dengan cara Java standar:
1 catatan kaki tidak berguna
sumber
Asimov's Rule Number 0 Bot - Python
Cukup lurus ke depan, dia akan menyerang pemain pertama yang dilihatnya memegang granat untuk melindungi mayoritas manusia. Jika tidak ada yang menjadi ancaman bagi sebagian besar manusia, dia tidak akan melakukan apa-apa.
Jalankan seperti:
sumber
Han Solo - Python
Han menembak lebih dulu. Dalam hal ini, dia akan menembak lebih dulu dengan memilih target terdekat hidup-hidup.
Jalankan seperti:
Catatan : Ini adalah hal pertama yang pernah saya tulis dalam Python, jadi jika Anda melihat praktik buruk khusus python, beri tahu saya.
sumber
is_alive
EmoCowboy
Kenapa menunggu sampai mati? Bunuh saja dirimu sekarang. Semoga orang-orang bodoh lainnya akan meledakkan satu sama lain hingga -2.
Skor normalnya adalah -2. Terkadang -4 jika orang memutuskan untuk menembak saya dari kelelawar. Jarang lebih dari itu, yang berarti ini harus mengalahkan beberapa kiriman saat ini.
Python
EDIT: Ini bukan lelucon, yang umumnya mengapa kiriman emo ini disukai. Ini adalah strategi yang sah. Hidup itu mematikan!
sumber
Pasif
Dia pria yang sangat besar, baru saja terjebak dengan kerumunan yang salah.
Jalankan sebagai
runghc pacifist.hs
, tetapi Anda mungkin ingin mengompilasinya dengan -O3 jika efisiensi merupakan masalah.sumber
-O3
membuat perbedaan besar.runghc
samping. Sebenarnya 10 kali lebih lambat di kotak Linux saya.Monkey - Python (Entri pertama!)
Monyet lihat, monyet lakukan. Akan mengulangi persis tindakan terakhir yang diambil oleh pemain acak.
Dapat dijalankan seperti ini: "python monkey.py args" Tidak diperlukan langkah ekstra.
sumber
-1
secara langsung.argv[2]
mendapatkan sejarah pemain.Simple Shooter - Perl (bug tetap)
Bot ini menembak lawan dengan paling sehat. Ini adalah strategi yang sangat sederhana, tetapi saya pikir ini memiliki peluang yang layak untuk berhasil.
Ini adalah cara menjalankannya menggunakan beberapa contoh input:
sumber
Spock, dengan Python 3.x
Kode ini lebih merupakan eksperimen meskipun (karena itu dinamai Spock karena ... dia seorang vulkanis, dan mereka cukup pandai dalam hal-hal semacam ini) tetapi tetap senang membangunnya. Alasan utama di balik semua kode ini adalah asumsi yang baik, logis, seperti Spock, akan lakukan, jika diberi aturan permainan:
Tujuan dari permainan ini adalah untuk memaksimalkan skor, yang akan dilakukan oleh semua orang yang hanya berdiri diam, yang tidak mungkin, karena truk.
Cara Spock bermain di sisa permainan dapat disimpulkan dengan kutipan terkenalnya: " Kebutuhan banyak orang lebih penting daripada kebutuhan beberapa orang ". Dengan kata lain, Spock harus memastikan bahwa paling sedikit kerusakan yang diderita, dengan membunuh mereka yang melakukannya. Bagaimana dia melakukannya:
Alasannya adalah bahwa, dengan menargetkan pemain terlemah, kami mengakhiri sumber kerusakan. Alasan di balik granat adalah bahwa mereka terlepas terlepas dan mereka melakukan lebih sedikit kerusakan jika mereka tidak dilempar.
Dan bot ini berfungsi. Saya belum menguji secara ekstensif untuk kegagalan input (jadi tolong ingatkan saya jika ada sesuatu yang salah) tapi saya yakin saya berhasil mengatasi sebagian besar kekusutan. Saya mendasarkan sebagian kecil kode dari bot HanSolo tetapi sebagian besar kode berantakan. Nikmati.
Jalankan seperti:
2014-08-12 - Perbaikan bug minor terkait deteksi granat
2014-08-14 - Perbaikan bug minor tentang endgame, terima kasih kepada isaacg untuk menunjukkannya sebelum
sumber
Traceback (most recent call last):
File "./players/Spock/Spock.py", line 87, in <module>: Endgame(current_turn)
File "./players/Spock/Spock.py", line 79, in Endgame: if IsTarget(player, target_health):
File "./players/Spock/Spock.py", line 4, in IsTarget: return int(player[1].split(",")[0]) < target_health
TypeError: unorderable types: int() < str()
player[1][1]
seharusnyaint(player[1][1])
.Penembak yang benar secara politis
Benar secara politis, karena tidak mendiskriminasi apa pun. Jadi itu tidak terlalu pintar.
Itu ... tidak terlalu penting argumen apa yang diteruskan padanya bagaimana.
python politicallycorrectgunman.py
sumber
random.choice(array)
?Penembak lurus
Dia adalah bagian terlatih dari kavaleri dan berbicara dalam banyak bahasa tetapi, karena berkedip, Straight Shooter hanya dapat melihat satu musuh di depannya. Menjadi kuda, dia tidak mengerti bahwa Anda harus menunggu di antara tembakan.
Perl, Python 2/3, Ruby: kuda ini benar-benar entri poligot.
Untuk jawaban yang memiliki sedikit pemikiran (dan beberapa paradigma fungsional) dimasukkan ke dalamnya, lihat Twenty-Fourth and Halfth Century .
sumber
Anti-granater
Granat itu buruk. Sangat buruk. Jadi, jika ada yang menyiapkan, yang terbaik adalah menembak mereka. Kalau tidak, kita akan jalan-jalan saja.
sumber
Ricochet - Perl
Strategi sederhana tampaknya dilakukan dengan baik dalam tantangan ini, jadi inilah yang lain. Ini menembak pemain hidup acak. Ini memiliki fitur tambahan bunuh diri pada akhirnya untuk menghindari truk.
Jalankan seperti itu:
sumber
Agresor
Menarik di babak pertama, melempar lawan kesehatan tertinggi di babak 2, menembak lawan kesehatan tertinggi setelahnya.
Jalankan ini seperti ./agg ID "5 5 5 5".
sumber
Ninja
Hanya menghindari secara acak mencoba menghindari tertabrak.
jalankan sebagai
Args tidak perlu, tetapi dapat ditambahkan tanpa masalah.
sumber
Nama : Target Prioritas
Perintah Shell : ruby PriorityTarget.rb 5 [game_state]
Bahasa : Ruby V2.1.2
Deskripsi : PriorityTarget mencoba menemukan gaya permainan umum. Ia kemudian memutuskan, berdasarkan pada gaya permainan itu, siapa yang ingin diserang dan senjata apa yang digunakan.
Catatan : Pengiriman Golf Kode Pertama! Jauh lebih besar daripada kiriman lainnya karena saya menjadi sedikit gila.
sumber
Pengecut - Perl
Bertindak sangat pengecut. Ketika dia merasa sehat, dia memilih musuh yang tidak merasakannya dan menembaknya. Poin bonus untuk musuh-musuh yang menembakkan belokan terakhir (karena mereka diketahui melakukan
Nothing
belokan ini dan karenanya sama sekali tidak berdaya). Ketika dia merasa tidak begitu baik, dia berlari mencari perlindungan untuk menyelamatkan kulitnya, kadang-kadang menembak seseorang.Kode Perl standar yang cantik; simpan di beberapa file lalu jalankan
perl file argument argument [...]
. Saya telah memeriksa sintaks dan tidak masalah, jadi saya harap tidak ada masalah dengan ini.E: menghilangkan potensi pembagian dengan kesalahan 0.
sumber
Pembom
Bot ditulis dalam R, baris perintah harus:
Rscript Bomberman.R arg0 arg1
Saya sadar setelah mulai menulis bot ini yang Geobits sudah membuat grenadier tapi saya pikir saya secara signifikan berbeda, dalam hal ini memeriksa kesehatan adalah di atas 3 sebelum menyiapkan granat, melemparkannya di penembak terakhir pertama, dan yang paling sehat kedua, dan jika kesehatannya di bawah 3 itu akan menghindari pemain berbahaya (tidak mati atau penembak di babak terakhir) atau menembak salah satu pemain yang tersisa.
Sunting
Tampaknya ada beberapa masalah komunikasi antara bot ini dan pengontrol Anda karena semua log yang saya lihat menunjukkan bahwa bot saya hanya menghasilkan
N
. Jadi, ini bot yang sama tetapi ditulis ulang dengan Python, dengan harapan bahwa jika bot ini juga memiliki masalah komunikasi, seseorang akan melihatnya.Untuk dipanggil dengan
python Bomberman.py arg0 arg1
.sumber
Neo
Dodge pemain hidup yang tidak menembak giliran terakhir. Jika semua orang menembakkan giliran terakhir, tembak pemain yang hidup secara acak. Bunuh diri saat melihat lampu depan.
Saya tidak berharap banyak dari orang ini terhadap granat-chuckers, tetapi melawan penembak itu mungkin bekerja dengan cukup baik. Kita lihat saja nanti.
sumber
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.charAt(String.java:658)
at Neo.main(Neo.java:17)
Abad Dua Puluh Empat dan Setengah
Entri Python ini menghindari dan menghindari sampai hanya pemain pasif atau satu pemain agresif tetap, kemudian mulai menembak. Ia berharap seorang warga Mars yang lewat merawat para granat dan pengemudi truk yang mabuk.
Kecuali saya telah melakukan sesuatu yang salah, ini adalah Python fungsional. Jelas tidak seperti jenis Python yang saya tulis sebelum Haskell dan teman-teman menemukan saya, dan saya tidak berpikir saya telah mengubah apa pun di tempatnya. Tetapi jika Anda lebih tahu, tolong beri tahu saya.
Jalankan sebagai:
sumber
Takut
Kiriman ini takut semua orang. Tapi ini terutama membuat takut sebagian orang. Jadi dia tahu siapa yang paling berbahaya, dan menembak mereka. Jika beberapa musuh terlihat paling berbahaya, ia menembak secara acak.
Ini adalah python (2 atau 3, hasil yang sama di kedua.) Simpan sebagai
scared.py
, jalankan denganpython3 scared.py
sumber
Bajingan Manipulatif - Python
Mempersiapkan dan melempar granat. Jika dia pikir tidak ada waktu atau ada terlalu sedikit musuh, dia menembak. Jika dia sendirian, dia mencoba mengakali pria lain.
sumber
Osama
Saya sudah mencoba ini selama satu hari atau lebih, sekarang saatnya untuk memposting dan melihat bagaimana yang lain telah berevolusi sementara itu.
Kompilasi dengan
ghc -O2 osama.hs
, lalu jalankan menggunakan./players/Osama/osama
.sumber
Sniper - Lua
Pada belokan pertama ia akan menembak orang secara acak, lalu akan menembak pemain mana pun yang dapat membunuh (2 atau 1 kesehatan). Jika tidak ada yang berhasil, ia akan mencoba menembak pemain yang menembaknya terakhir, jika tidak maka akan menembak pemain acak. Jalankan dengan
lua Sniper.lua
sumber
lua Sniper.lua 3 "5,S1 3,D3 5,N 5,P"
,. Anda mungkin perlu memeriksaarg
indeks Anda .lua: ./players/Sniper/Sniper.lua:38: attempt to compare nil with number
stack traceback:./players/Sniper/Sniper.lua:38: in main chunk
[C]: in ?
Darwin
Kelangsungan hidup yang terkuat berarti yang paling tidak sehat harus mati.
Alasan
Melihat kumpulan hasil dari Selasa (12), tampaknya ada tiga pengelompokan yang berbeda: selamat; bunuh diri yang efektif; dan lebih buruk dari tidak berguna. Para penyintas berbagi strategi sederhana berdasarkan penembakan. Sementara beberapa bot lainnya ( Spock , Coward ) akan menargetkan musuh yang paling tidak sehat, mereka juga mempersulit strategi mereka dengan tindakan lain. Yang ini tidak. Seperti Simple Shooter , ia memiliki definisi yang jelas tentang target dan tetap menggunakannya tanpa henti. Akan menarik untuk melihat di mana itu cocok dengan hasilnya.
Ini adalah versi stripped-down, sedikit dimodifikasi dari Twenty-Fourth and Halfth Century saya yang sebelumnya , dan membagikan doanya :
sumber
Zaenille - C
Prioritas:
Kompilasi dengan
gcc <filename.c>
.Jalankan dengan
./a.out <parameters>
.sumber
InputAnalyzer
Kunci permainan seperti ini adalah menganalisis bagaimana semua lawan Anda bermain untuk merespons sesuai. Bot saya akan melakukan hal itu dengan menggunakan algoritma yang rumit yang akan menghasilkan penggunaan lawan saya berubah menjadi keuntungan saya memberikan kemenangan yang menentukan!
Sunting: Saya sekarang
Kompilasi bot dengan perintah berikut (Perlu memiliki ghc)
Perintah Shell untuk dijalankan harus sebagai berikut
Catatan: Saya menguji pada windows jadi jika Anda memiliki masalah tentang compling / running silakan katakan demikian dalam komentar di dan saya akan melakukan yang terbaik untuk mengetahui perintah yang benar.
sumber
Anjing bernama Keberanian
Hal pertama - tembak orang jahat saat melihatnya. Kemudian menghindar secara acak sampai seseorang menyiapkan granat. Lalu ketika semua orang menembaknya, siapkan granat saya sendiri dan lemparkan ke siapa pun. Tapi pria pengalih perhatian.
Sunting: Sekarang diimplementasikan seperti yang saya pikir seharusnya. Sebelumnya, skornya adalah: 35,9
Dimutakhirkan: Terkadang menembak bukannya menghindar
couragethedog.py
Jalankan sebagai
sumber
MAD - Jawa
Bot MAD percaya pada kekuatan intimidasi melalui penghancuran yang saling meyakinkan . Setiap kali dia tidak memiliki granat siap, dia menyiapkan satu. Dia kemudian menghindari kemungkinan penembak sampai seseorang mencoba untuk memberikan kerusakan padanya atau granatnya akan meledak. Dari saat dia diserang, dia melemparkan granat ke siapa pun yang telah mencoba memberikan lebih banyak kerusakan padanya pertandingan ini sejauh ini. Jika granatnya akan meledak, dia mengebom pemain terkemuka. MAD tidak menentang menembaki seseorang ketika tidak ada yang bisa dihindari atau langsung melemparkan granat dan granatnya masih bagus untuk setidaknya satu putaran.
Bot ini kemungkinan akan berkinerja buruk, tetapi saya tetap menyukai gagasan itu. MAD mungkin akan melakukan yang lebih baik dalam bidang dengan bot yang lebih pintar yang mencatat perilaku bot lain dan dengan lebih banyak pertandingan yang berjalan antara 4 bot.
sumber
java MAD 43 "5 5 5 5"
tampaknya tidak menghasilkan apa-apa.Sadis
ular sanca
Prioritasnya adalah menyebabkan rasa sakit dan granat terluka. Dia menarik belokan pertama. Dia suka membunuh ketika kamu tidak bisa menyerang. Dia bermain-main dengan SSS (penembak tunggal sederhana) dengan menghindari dan menarik untuk memperpanjang dominasi. Dia bahkan memilih untuk menyerang orang-orang pertama yang tidak melakukan apa pun pada siapa pun.
Karena dia menggunakan granat, dia (dan orang lain) tidak akan selamat dari putaran kedua atau ketiga. Jika dia dipasangkan dengan granat lain, semua orang akan mati. Ini berarti saya tidak berharap untuk menang, tetapi saya menulis ini untuk belajar python (tidak pernah menggunakannya sebelumnya dan saya mencoba untuk mendapatkan pengantar ke sekelompok bahasa baru). Ada beberapa yang lain, "tarik dulu" jadi jika Anda merasa itu terlalu mirip, beri tahu saya. Yang lain tampaknya tidak mau menarik dan kemudian menghindar.
sumber
raw_input
akan berhasil.sys.argv[2]
tampaknya menjadi konsensus untuk entri Python. Anda mungkin juga menemukan gunanyapop
, yang akan memungkinkan Anda untuk mengembunthisisme=player[0];player.remove(player[0])
menjadi lebih sederhanathisisme=player.pop(0)
.raw_input
menarik dariSTDIN
, tetapi sejarah pemain diteruskan ke program Anda sebagai argumen baris perintah, itulah sebabnya Anda perlusys.argv
. Demi pengujian, Anda bisa mengaturnya secara manualsys.argv = ["sadist.py", "0", "5 5 5 5"]
. Maka Anda harus bisa meneleponplayer=sys.argv[2].split()
. Jika mengimporsys
benar-benar tidak mungkin, untuk pengujian Anda bahkan dapat menjatuhkan titik dan memanggil arraysysargv
. Selama semuanya berjalan dan Anda kembali kesys.argv
kiriman Anda, itu akan baik-baik saja.