pengantar
Doppelkopf adalah permainan kartu tradisional Jerman untuk 4 pemain. Dek terdiri dari 48 kartu (9, 10, Jack, Queen, King, Ace dari masing-masing suit sementara setiap kartu ada di permainan dua kali), sehingga setiap pemain mendapat 12 kartu pada awal putaran.
Selalu ada 2 tim yang ditentukan oleh distribusi Queens of Clubs. 2 pemain yang memegang Queens membentuk sebuah tim dan bermain melawan 2 pemain lainnya. Tim dengan Queens of Clubs disebut "Re" -team, yang tanpa "Contra" -team.
Di awal putaran, tidak ada yang tahu siapa yang ada di tim mana. Distribusi tim akan terungkap dalam kemajuan putaran, yang menambah banyak strategi untuk permainan.
Game ini terdiri dari 12 trik. Para pemain yang memenangkan trik mendapatkan semua 4 kartu di dalamnya. Setiap kartu memiliki nilai tertentu (King menghitung 4, Ace menghitung 11 misalnya), semua kartu bersama-sama berjumlah hingga 240 poin yang merupakan hasil tertinggi yang mungkin.
Pada akhir putaran, poin dihitung dan tim dengan jumlah poin tertinggi memenangkan putaran. Kemudian ronde selanjutnya dimulai ...
Tantangan
Setiap putaran memiliki skor tertentu yang ditentukan oleh jumlah poin yang didapat tim pemenang dan pengumuman potensial. Anda harus menulis sebuah program yang mengambil distribusi titik dan pengumuman potensial (lihat penjelasan di bawah) sebagai input dan output skor putaran dan pemenang.
Perhitungan skor
Seperti yang disebutkan ada Re dan tim Contra. Juga ada kemungkinan maksimum 240 poin dalam satu putaran. Re-team harus mendapatkan 121 poin untuk menang, sementara Contra-team hanya perlu 120. Ada juga kemungkinan untuk mengumumkan "Re" atau "Contra" di awal putaran jika Anda berpikir bahwa Anda akan memenangkan permainan. . Dengan melakukan ini, Anda meningkatkan skor.
Berikut adalah aturan penilaian:
- +1 untuk memenangkan permainan
- +1 jika tim yang kalah memiliki kurang dari 90 poin ("Keine 90")
- +1 jika tim yang kalah memiliki kurang dari 60 poin ("Keine 60")
- +1 jika tim yang kalah memiliki kurang dari 30 poin ("Keine 30")
- +1 jika tim yang kalah memiliki 0 poin ("Schwarz")
- +2 untuk pengumuman Contra
- +2 untuk pengumuman Re
- +1 jika tim Contra menang ("Gegen die Alten")
Catatan: Pengumuman Kembali / Kontra selalu berlaku, terlepas dari pemenangnya. Lihat contoh di testcases di bawah ini.
Masukan dan keluaran
Input untuk program ini adalah skor Re-team dan pengumuman potensial Re atau Contra. Karena selalu ada 240 poin dalam game, Anda dapat dengan mudah menghitung skor Contra-team.
Input akan berupa string tunggal yang memiliki skor Re-team terlebih dahulu, diikuti oleh pengumuman potensial, sementara "R" untuk Re dan "C" untuk Contra. Jika keduanya diumumkan, Re akan selalu didahulukan.
Output akan menjadi skor pertandingan diikuti oleh tim yang menang ("C" untuk Contra, "R" untuk Re)
Aturan
- Kiriman Anda dapat berupa program atau fungsi lengkap. Jika Anda memilih yang terakhir, sertakan contoh cara memintanya.
- Input dapat disediakan oleh argumen fungsi-atau baris perintah atau input pengguna.
- Output dapat diberikan sebagai nilai balik atau dicetak ke layar.
- Celah standar berlaku.
- Byte-Count terendah, menang!
Testcases
Input -> Output (Explanation)
145R -> 3R (Re won, +1 for winning, +2 for Re-Announcement)
120 -> 2C (Contra won, +1 for winning, +1 for winning as Contra)
80C -> 5C (Contra won, +1 for winning, +1 for no 90, +1 for winning as Contra, +2 for Contra-Announcement)
240R -> 7R (Re won, +1 for winning, +1 for no 90, +1 for no 60, +1 for no 30, +1 for no points for the losing team, +2 for Re-announcedment)
90 -> 2C (Contra won, +1 for winning, +1 for winning as Contra)
110RC -> 6C (Contra won, +1 for winning, +1 for winning as Contra, +2 for Re-Announcement, +2 for Contra-Announcement)
110R -> 4C (Contra won, +1 for winning, +1 for winnins as Contra, +2 for Re-Announcement)
184C -> 5R (Re won, +1 for winning, +1 for no 90, +1 for no 60, +2 for Contra-Announcement)
Catatan singkat: Saya mengabaikan beberapa aturan (seperti solo dan poin bonus) dengan tujuan untuk menjaga tantangan tetap sederhana. Jadi jika Anda sudah terbiasa dengan game, jangan bingung :)
Selamat Coding!