Ketika saya masih kecil, saya sering bermain game ini.
Aturan
Ada dua pemain (sebut saja mereka A dan B), dan masing-masing pemain menggunakan tangannya sebagai senjata. Ada tiga langkah yang mungkin:
Angkat tangan untuk memuat amunisi ke pistol Anda.
Setiap senjata mulai kosong. Memuat meningkatkan amunisi per satu.
Tangan menunjuk ke pemain lain untuk menembak.
Ini mengurangi amunisi satu per satu. Anda harus memiliki setidaknya satu unit amunisi untuk menembak.
Lengan menyilang untuk melindungi diri dari tembakan.
Kedua pemain bergerak secara bersamaan. Jika kedua pemain menembak pada saat yang sama, peluru saling mengenai, dan permainan berlanjut. Permainan berakhir ketika satu pemain menembak sementara yang lainnya memuat amunisi.
Menembak dan pistol kosong dianggap curang . Jika seorang pemain berselingkuh sementara yang lain melakukan tindakan hukum, penipu itu langsung kalah. Jika kedua pemain melakukan cheat secara bersamaan, game akan terus berlanjut.
Upaya curang tidak mengurangi amunisi, sehingga tidak akan pernah menjadi negatif.
Tantangan
Mengingat gerakan yang dilakukan oleh pemain A dan B, output yang pemain memenangkan permainan: 1
untuk pemain A, -1
untuk pemain B, dan 0
untuk hasil imbang. Anda dapat menggunakan tiga nilai pengembalian lainnya, tetapi Anda harus menyatakan jawaban yang mana yang Anda gunakan.
Gim ini dapat:
- berakhir tanpa harus memproses semua gerakan;
- tidak berakhir dengan gerakan yang diberikan, dan karenanya dianggap seri.
Input dapat diambil:
- sebagai string
- sebagai array / daftar bilangan bulat
- dengan cara lain yang tidak memproses input
Program atau fungsi penuh diizinkan. Karena ini adalah kode-golf , jawaban tersingkat dalam byte menang!
Uji kasus
A: "123331123"
B: "131122332"
-----^ Player B shoots player A and wins.
Output: -1
A: "111322213312"
B: "131332221133"
-------^ Player B cheats and loses.
Output: 1
A: "1333211232221"
B: "1213211322221"
----------^^ Both players cheat at the same time. The game continues.
Output: 0
A: "12333213112222212"
B: "13122213312232211"
| || ^---- Player A shoots player B and wins.
^-------^^------ Both players cheat at the same time. The game continues.
Output: 1