Di sebuah pesta, saya diperkenalkan dengan game LCR. Sekarang ini bukan permainan yang hebat karena tidak ada keterampilan tetapi hanya kesempatan acak. Tapi itu membuat saya berpikir, saya bisa kode ini, dan saya membuat program cepat di R untuk model permainan.
Aturan permainan dimodifikasi dari Wikipedia agar sesuai dengan cara kami bermain:
Setiap pemain menerima setidaknya 3 chip. Para pemain secara bergiliran memutar tiga dadu enam sisi, yang masing-masing ditandai dengan "L", "C", "R" di satu sisi, dan satu titik di ketiga sisi yang tersisa. Untuk setiap "L" atau "R" yang dilemparkan, pemain harus mengoper masing-masing satu chip ke pemain ke kiri atau kanan. A "C" menunjukkan sebuah chip ke tengah (pot). Titik tidak memiliki efek.
Jika seorang pemain memiliki kurang dari tiga chip yang tersisa, mereka masih dalam permainan tetapi jumlah chip mereka adalah jumlah dadu yang mereka roll pada giliran mereka, daripada menggulirkan ketiga. Ketika seorang pemain memiliki nol chip, mereka memberikan dadu pada giliran mereka, tetapi dapat menerima chip dari orang lain dan mengambil giliran berikutnya sesuai. Pemenangnya adalah pemain terakhir yang menempatkan chip ke tengah.
Kontes: tulis sebuah program dalam bahasa pilihan Anda yang mengambil input untuk jumlah pemain dan jumlah chip awal dan mensimulasikan permainan LCR, menunjukkan keadaan permainan setelah setiap pemain bergulir.
Sebagai contoh, sebuah game mungkin menjadi output sebagai:
[[[3,3,3,3],0],[[1,4,3,4],0],[[1,4,3,4],0],[[1,4,1,4],2],[[1,4,1,2],4],
[[0,4,1,3],4],[[0,3,2,3],4],[[0,3,0,3],6],[[0,3,1,1],7],[[0,3,1,1],7],
[[2,0,1,1],8],[[2,0,0,1],9],[[2,0,0,0],10],[[0,1,0,0],11],
[[1,0,0,0],11],[[1,0,0,0],11],[[1,0,0,0],11],[[0,0,0,0],12]]
ht: Jonathan Allan
Outputnya tidak harus terlihat persis seperti ini, tetapi harus mudah untuk membedakan roll dadu, berapa banyak chip yang dimiliki masing-masing pemain, dan berapa banyak chip yang dimiliki center untuk setiap belokan.
Ini kode golf sehingga kode terpendek menang.
[[[3,3,3,3],0],[[1,4,3,4],0],[[1,4,3,4],0],[[1,4,1,4],2],[[1,4,1,2],4],[[0,4,1,3],4],[[0,3,2,3],4],[[0,3,0,3],6],[[0,3,1,1],7],[[0,3,1,1],7],[[2,0,1,1],8],[[2,0,0,1],9],[[2,0,0,0],10],[[0,1,0,0],11],[[1,0,0,0],11],[[1,0,0,0],11],[[1,0,0,0],11],[[0,0,0,0],12]]
- apakah itu masalahnya?