Poker Dice adalah permainan dadu yang mirip dengan Yazzi, bermain dengan lima dadu 6-sided dengan wajah “9”, “10”, “J”, “Q”, “K” dan “A”. Klik di sini untuk versi online yang dapat dimainkan untuk mempelajari game: komputer dadu poker.
Setiap pihak memiliki angka yang relevan:
permukaan | nilai |
---|---|
‘9’ | 9 |
’10’ | 10 |
‘J’ | 10 |
‘Q’ | 10 |
‘K’ | 10 |
‘A’ | 11 |
Tabel berikut merangkum aturan penilaian dadu poker:
jenis | Kategori | penjelasan | skor |
---|---|---|---|
1 | Sat u-Pair | Sepasang aspek yang cocok: 9, 9, 10, j, k | Total nilai pertandingan |
2 | 2 pasang | Sepasang dua aspek yang cocok: 9, 9, 10, 10, k | Total kedua nilai pasangan |
3 | Tiga jenis | Setidaknya tiga aspek sama | Jumlah dari tiga nilai yang cocok +10 |
4 | Empat jenis | Setidaknya empat aspek sama | 4 Jumlah 4 Nilai +20 |
5 | Lima jenis | Kelima aspeknya sama | 100 poin |
6 | Rumah penuh | Tiga kartu dan satu pasangan (bagian depan dan belakang jelas) 9, 9, 9, a, a | 50 poin + total dadu |
7 | Lurus kecil | Wajah lebih dari 4 atau lebih: 9, 10, j, q 10, j, q, k j, q, k, a | 70 poin |
8 | Lurus besar | Semua 5 psiko semua dalam urutan 9, 10, j, q, k, 10, j, q, k, a | 95 poin |
9 | peluang | Tamasya apapun | Total mata dadu |
Kolom terakhir dari tabel menunjukkan skor ketika pemain memilih jenis skor yang sesuai. Misalnya, jika pemain memilih sat u-Pair dan [‘9’, ‘9’, ‘j’, ‘a’, ‘q’], skornya dua kali nilai pasangan. Catatan: Skor pasangan menghitung pasangan tertinggi. Bahkan jika mata dadu adalah [‘9’, ‘9’, ‘q’, ‘a’, ‘9’], skornya akan 18. Pertandingan yang gagal kembali 0.
Tujuan dari masalah ini adalah untuk membuat modul dadu, mengembangkan dan menguji fungsi yang menentukan skor dadu poker.
Mulailah dengan file sumber berikut:
Modul Dice menangani daftar dadu yang diekspresikan dalam string. Modul ini harus menangani tidak hanya jumlah dadu poker (5), tetapi juga sejumlah dadu dari 1 hingga 10. Modul ini berisi daftar yang ditentukan global, kamus yang ditentukan global, dan empat fungsi.
& gt; & gt;
& gt; & gt;
Jika daftar dadu tidak valid (lihat Are_valid), return-1.
Jangan gunakan . count (). Untuk menjalankan fungsi ini, Anda harus menulis untuk loop. Tanda tangan tidak mengizinkan penggunaan metode daftar. count ().
Modul ini berisi game dadu poker berbasis terminal sederhana. Setelah skor_dice. py selesai, Anda dapat mencoba kode menggunakan driver ini.
Driver ini memanggil modul dice. py dan menggunakan fungsi roll_dice untuk mengembalikan dadu. Mungkin tidak berguna untuk menguji solusi Anda secara sistematis. Mekanisme utama untuk menguji kode Anda dalam proyek ini adalah test_score_dice. py yang dijelaskan di bawah ini.
Tugas utama dari tugas ini adalah mengimplementasikan fungsi SCORE_DICE. CALCULATE_SCORE sesuai dengan dokumentasi. Untuk mendapatkan semua unit, fungsi Anda yang sudah selesai harus memenuhi persyaratan berikut:
Anda harus menulis tes unit skor_dice. py. Anda harus menulis beberapa tes kecil yang menangani kasus yang berbeda, daripada menulis fungsi test_score_dice yang sangat panjang. File yang disediakan berisi dua fungsi tes.
Perhatikan bahwa nam a-nama fungsi ini mewakili situasi pengujian. Misalnya, test_calculate_score_one_pair_no_match:
File tes dan score_dice. py harus didokumentasikan dengan benar. Biasanya, dokumen fungsi pengujian tidak diperlukan.
Kategori yang akan diuji adalah sebagai berikut (ini adalah templat file test_score_dice. py):
1) Lakukan kuis siap (10 poin) di kanvas.
Sebelum batas waktu Bagian A, baca dokumen ini dengan cermat dan lihat kode starter di atas. Jika Anda memahami dengan jelas bahwa tugas ini diharapkan, jawab kuis persiapan kanvas (10 poin). Penilaian tes kecil ini dilakukan oleh semua atau tidak ada, dan jika Anda melakukan kesalahan, Anda akan mendapatkan 0 poin.
Jika Anda tidak lulus kuis persiapan, Anda tidak akan dapat memperoleh unit unit A dan bagian B.
2) Lengkapi file dice. py (20 poin) dan kirimkan ke gradescope pada batas waktu setiap bagian.
Pengajuan Kode Bagian A dibatasi hingga 10.
Unggah score_dice. py dan test_score_dice. py ke gradescope. Jangan sertakan poker_dice. py dalam file yang dikirimkan.
Pastikan untuk menyelesaikan langka h-langkah berikut sebelum mengunggah pengiriman ke Gradescope:
Kirim hingga 10 kali ke Bagian B ke Gradescope.
Jika Anda menerima dukungan dari siswa lain, sumber informasi online, alat yang kompatibel AI, atau sumber informasi lainnya mengenai masalah ini, jelaskan secara singkat isinya.
Tugas ini dibuat oleh Alvin Chao. Bagian dari dadu poker yang disebutkan di atas dipinjam dari halaman poker dadu wikipedia. Artikel Wikipedia dan halaman penugasan ini dilisensikan di bawah Creative Commons Display-Inheritance License 3. 0.