Saya suka tantangan permainan kartu jadi saya membuat yang ini untuk permainan kartu Italia Scopa. Keluarga saya telah memainkan game ini sejak dahulu kala. Ini memiliki sistem penilaian yang sangat menarik yang seharusnya menyenangkan untuk bermain golf. Saya akan memposting jawaban dalam R untuk memulai yang menyenangkan, bahwa saya yakin orang akan meningkat
Tantangannya: mencari tahu jumlah poin yang dicetak dalam putaran Scopa, mengingat kartu yang ditangkap pemain selama putaran sebagai input.
Ada 40 kartu di dek Scopa. Jika Anda menggunakan dek internasional Anda menghapus 8s, 9s, dan 10s, meninggalkan A, 2,3,4,5,6,7, Q, J, K di masing-masing suit. 1 Ada dua pemain atau kemitraan, dan setelah setiap putaran, semua kartu akhirnya ditangkap oleh satu atau dua pemain lainnya. Skor dihitung sebagai berikut (informasi lebih lanjut di sini ):
- Pemain dengan skor kartu terbanyak 1 poin.
- Pemain dengan berlian paling banyak (atau koin jika menggunakan dek Italia) mencetak 1 poin.
- Pemain dengan 7 berlian (atau koin), yang dikenal sebagai sette bello atau tujuh cantik, skor 1 poin.
- Pemain dengan skor primiera tertinggi 1 poin. Skor primiera pemain adalah jumlah dari skor kartu bernilai tertinggi yang ditangkap oleh pemain dalam setiap suit (lihat tabel di bawah). Jika Anda tidak memiliki setidaknya satu kartu di setiap suit, Anda kehilangan secara default bahkan jika skor Anda akan melebihi skor lawan Anda. Dalam kasus yang sangat jarang terjadi bahwa tidak ada pemain yang memiliki setidaknya satu kartu di setiap suit, pemain dengan primiera yang lebih tinggi akan mencetak poin. 2
Tabel skor primiera
| Rank | Value |
| ----- | ----- |
| 7 | 21 |
| 6 | 18 |
| A | 16 |
| 5 | 15 |
| 4 | 14 |
| 3 | 13 |
| 2 | 12 |
| Q,J,K | 10 |
Jadi seorang pemain dapat mencetak paling banyak 4 poin dalam satu putaran. 3 Jika ada dasi, yang memungkinkan untuk kartu, berlian, atau primiera , tidak ada yang mendapat nilai.
Penting untuk disadari bahwa karena setiap kartu harus ditangkap oleh salah satu dari dua pemain, Anda dapat menyimpulkan kartu apa yang harus diambil oleh pemain lain walaupun Anda hanya tahu kartu apa yang diambil oleh satu pemain. Anda harus melakukan ini untuk menilai primiera dengan benar .
Aturan tantangan
Memasukkan
Kode Anda harus diambil sebagai input kartu yang diambil oleh satu pemain selama putaran Scopa.
Input harus dalam format string, di mana satu karakter mewakili peringkat setiap kartu dan satu karakter yang sesuai. Ini menghilangkan celah potensial untuk lulusskor primiera secara langsung sebagai input. Konversi peringkat kartu keskor primiera harus dilakukan dalam program. Namun Anda dapat memilih untuk menggunakan string tunggal yang dipisahkan oleh spasi atau koma, array string, atau format lainnya. Misalnya jika Anda memilih untuk menyandikan peringkat sebagai76A5432QJK
dan cocok karenaDCHS
Anda dapat menggunakan input seperti['7D', '6H', 'QD', 'JS']
atau'7D,6H,QD,JS'
.
Keluaran
Integer dari 0 hingga 4 mewakili skor pemain.
Kemenangan
Jawaban terpendek dalam byte menang!
Uji kasus
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "7C", "6C", "4C", "3C", "2C", "7H", "4H", "2H", "5S", "3S", "QS", "JS", "KS"]
Skor 4 : 1 poin untuk> 20 kartu, 1 poin untuk> 5 berlian, 1 poin untuk 7 berlian, dan 1 poin untuk skor 78 di primiera (7,7,7,5 di mana lawan memiliki 7,6,5, K untuk 64)
["3D", "7C", "6C", "AC", "5C", "4C", "3C", "2C", "QC", "4H", "7S"]
Skor 0 : <= 20 kartu, <= 5 berlian, no 7 berlian, dan hanya skor 69 di primiera (7,7,4,3 di mana lawan memiliki 7,7,6, K untuk 70)
[7D", "6D", "AD", "5D", "4D", "3D", "2D", "7C", "6C", "AC", "5C", "4C", "3C", "2C", "7H", "6H", "AH", "5H", "4H", "3H", "2H"]
Skor 3 : 1 poin untuk> 20 kartu, 1 poin untuk> 5 berlian, 1 poin untuk 7 berlian. The primiera akan 63 (7,7,7) dan lawan hanya bisa mencetak 51 (7, Q, Q, Q) tapi karena tangan ini tidak memiliki sekop kehilangan titik secara default.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "QC", "QH", "QS"]
Skor 3 : <= 20 kartu, 1 poin untuk> 5 berlian, 1 poin untuk 7 berlian. The primiera hanya skor 51 (7, Q, Q, Q) dan lawan bisa mencetak 63 (7,7,7) tapi karena tangan lawan tidak memiliki berlian tangan ini memenangkan primiera titik secara default.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "7C", "7H"]
Skor 3 : <= 20 kartu, 1 poin untuk> 5 berlian, 1 poin untuk 7 berlian. Meskipun tangan ini tidak memiliki sekop, ia masih memenangkan primiera dengan skor 63 hingga 57 (7,7,7 berbanding 7,6,6) karena tangan lawan tidak memiliki berlian.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "QC", "QH"]
Skor 2 : <= 20 kartu, 1 poin untuk> 5 berlian, 1 poin untuk 7 berlian. Tangan ini tidak memiliki sekop, dan tangan lawan tidak memiliki berlian. Lawan memenangkan primiera dengan skor 63 hingga 41 (7,7,7 lawan 7, Q, Q).
[]
(array kosong)
Skor 0
1: Setidaknya di keluarga kami, Jack mengalahkan Queen di Scopa tetapi ini tidak relevan untuk tujuan mencetak gol.
2: Saya sudah memainkan game ini sejak kecil dan belum pernah melihat itu terjadi tetapi kode Anda lebih baik untuk menangani kasus itu!
3: Ada poin bonus untuk skor "sweep" selama putaran yang saya abaikan untuk tujuan tantangan ini.