Aturan dasar (berbeda dengan saya)
Cerita
Ini adalah tahun 4579, manusia sekarang memiliki 2 tangan dengan masing-masing 1001 jari. Sumpit telah menjadi dasar dari poin. Dan @Dennis memiliki lebih banyak rep daripada @Martin ... Lingkaran merah digambar tangan sekarang diturunkan ... Jon Skeet telah mencapai 2 triliun rep di setiap situs SE ... Ya menakutkan saya tahu
Sumpit adalah permainan tangan yang telah diselesaikan. Jadi untuk menyiasati ini saya telah membuatnya bermutasi. Saya meningkatkan jumlah jari.
Aturan mainnya
Cara ini dimainkan
Semua orang mulai dengan 2 tangan. Setiap tangan memiliki 1001 jari. Setiap tangan dimulai dengan 1 (satu) jari di atas masing-masing tangan. Selama giliran Anda, Anda dapat "memukul" tangan pemain lain. Untuk memukul Anda memilih 1 tangan Anda untuk memukul dan 1 tangan mereka untuk memukul. Tangan yang dipukul sekarang memiliki jumlah jari pada awalnya dan jumlah jari yang ada pada tangan yang Anda pukul.
EX
P1: 1,1
P2: 1,1
. P1[0]
hit P2[1]
. Sekarang jari P1:1,1
P2:1,2
. Sekarang P2[1]
hit p1[0]
. Jari-jarinya sekarang P1: 3,1
P2 1,2
.
Jika satu tangan sampai 1001 jari ke atas atau lebih maka tangan itu keluar. Kemudian pemain yang mendapat hand out (untuk giliran mereka) dapat "membagi". Membelah adalah ketika Anda mengambil tangan yang ada di dalam dan membagi dua jumlah jari (bulat) dan memberikan jari-jari ke tangan lain untuk mendapatkannya kembali.
EX
P1: 1000,2
P2 7,7
. P2[0]
hit P1[0]
. Skor adalah P1: 0,2
P2 1,1
. P1[1]
membagi untuk gilirannya dan skornya adalah P1: 1,1
dan P2 7,7
.
Permainan berakhir ketika satu pemain memiliki kedua tangan. Poin dicetak dengan jumlah jari yang dimiliki pemenang. Lebih banyak poin = lebih baik. Yang kalah tidak mendapatkan poin.
Ada aturan lain yang digunakan tetapi ini adalah yang digunakan di sini.
Semua orang memainkan semua orang (round robin)
Akhir permainan
Jumlahkan poin Anda dari setiap putaran yang Anda menangkan. Kemudian rata-rata semua orang menunjukkan poin. Bagilah total Anda dengan poin rata-rata dan dapatkan skor akhir Anda. Sebagian besar poin menang.
Aturan yang sebenarnya
Jangan tidak mencoba memecahkan permainan. Saya sebenarnya harus bisa menjalankannya: P
Pastikan bot bisa berlari cepat. Dengan panjang putaran menilai ini akan memakan waktu cukup lama
Semua perpustakaan yang dibutuhkan dalam program Anda harus berada di perpustakaan python default. Juga daftarkan yang Anda perlu impor. Impor hanya akan menjadi impor dasar (untuk matematika saya lakukan import math
:)
Jawaban harus bekerja dalam Python 3.x
Handler
Bot Anda akan menjadi file Python 3 sendiri dengan play
fungsi.
play
akan melewati dua daftar dari dua angka masing-masing. Angka ini menunjukkan berapa banyak jari di atas masing-masing tangan. Daftar pertama adalah tangan Anda sendiri.
Jika Anda memilih untuk memukul tangan pemain lain, maka kembalikan daftar dua bit. Bit pertama adalah indeks dari tangan yang Anda gunakan untuk memukul ( 0
untuk yang pertama, 1
untuk yang terakhir), dan bit kedua adalah indeks dari tangan yang Anda pukul lawan.
Jika Anda memilih untuk membagi, kembalikan nilai kebenaran lainnya.
Tada!
Kontroler dapat ditemukan di sini . Simpan setiap bot di file sendiri dan daftar setiap nama file bot (tanpa .py
) di botnames
.
Catatan akhir:
Anda dan bot lain akan bergiliran pergi terlebih dahulu. Jika permainan tidak berakhir dalam 100.000 (seratus ribu) putaran, permainan akan dihentikan dan bot tidak akan menang.
Kontroler tidak terlindung dari gerakan yang berlangsung selamanya, tetapi overhead yang tidak perlu akan sangat disukai.
My handler is very simple, your bot must do it's logic then adjust the the finger scores as needed, remember!
Apa, jadi kita yang melakukan perhitungan untuk KoTH?