Kart oyunu zorluklarını seviyorum, bu yüzden bunu İtalyan kart oyunu Scopa için yaptım. Ailem çok eski zamanlardan beri bu oyunu oynuyor. Golf için eğlenceli olması gereken çok ilginç bir puanlama sistemine sahiptir. Eğlenceyi başlatmak için R'de bir cevap göndereceğim, eminim ki insanlar gelişecek.
Zorluk: Tur sırasında oyuncuya girdi olarak alınan kartlar göz önüne alındığında, bir Scopa turunda atılan puan sayısını belirleyin.
Scopa destesinde 40 kart var. Uluslararası bir güverte kullanıyorsanız, her takımda A, 2,3,4,5,6,7, Q, J, K bırakarak 8s, 9s ve 10'ları kaldırırsınız. 1 İki oyuncu veya ortaklık vardır ve her turdan sonra tüm kartlar iki oyuncudan biri veya diğeri tarafından yakalanır. Puan aşağıdaki gibi sayılır (daha fazla bilgi burada ):
- En fazla kart alan oyuncu 1 puan alır.
- En fazla pırlantalı oyuncu (veya İtalyan destesi kullanılıyorsa bozuk para) 1 puan alır.
- Sette bello veya güzel yedi olarak bilinen 7 elmas (veya madeni para) ile oyuncu 1 puan alır.
- En yüksek primiera'ya sahip oyuncu 1 puan alır. Bir oyuncunun primiera puanı, oyuncunun her takımda yakaladığı en yüksek değerli kartın puanlarının toplamıdır (aşağıdaki tabloya bakın). Her takımda en az bir kartınız yoksa, puanınız rakibinizin puanını aşsa bile varsayılan olarak kaybedersiniz. Her iki takımın da her takımda en az bir kart bulunmadığı çok nadir durumlarda, primiera toplamı daha yüksek olan oyuncu puanı alır. 2
Primiera skorları tablosu
| Rank | Value |
| ----- | ----- |
| 7 | 21 |
| 6 | 18 |
| A | 16 |
| 5 | 15 |
| 4 | 14 |
| 3 | 13 |
| 2 | 12 |
| Q,J,K | 10 |
Böylece bir oyuncu bir turda en fazla 4 puan kazanabilir. 3 Kartlar, elmaslar veya primiera için mümkün olan bir kravat varsa , kimse puanı alamaz .
Her kartın iki oyuncudan biri tarafından yakalanması gerektiğinden, yalnızca bir oyuncunun hangi kartları aldığını bilseniz bile diğer oyuncunun hangi kartları alması gerektiğini anlamanız önemlidir. Primiera'yı doğru bir şekilde puanlamak için bunu yapmanız gerekecektir .
Zorluk kuralları
Giriş
Bir Scopa turu sırasında kodunuz tek bir oyuncu tarafından çekilen kartları girdi olarak almalıdır.
Giriş, bir karakterin her bir kartın sırasını ve bir karakterin de uygunluğunu temsil ettiği dize biçiminde olmalıdır. Bu, primiera skorlarını doğrudan girdi olarakgeçirme potansiyel boşluklarını ortadan kaldırır. Kart sıralarının primiera puanlarınadönüşümüprogramda yapılmalıdır. Ancak boşluk veya virgülle ayrılmış tek bir dize, bir dize dizisi veya başka bir biçim kullanmayı seçebilirsiniz. Örneğin, sıraları veya gibi76A5432QJK
uygunşekilde kodlamayı seçersenizveyaDCHS
gibi girişler kullanabilirsiniz.['7D', '6H', 'QD', 'JS']
'7D,6H,QD,JS'
Çıktı
Oyuncunun puanını temsil eden 0 ile 4 arasında bir tam sayı.
Kazanan
Bayt cinsinden en kısa cevap kazanır!
Test senaryoları
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "7C", "6C", "4C", "3C", "2C", "7H", "4H", "2H", "5S", "3S", "QS", "JS", "KS"]
Skorlar : 20 kart için 1 puan,> 5 elmas için 1 puan, elmas 7 için 1 puan ve primiera'da 78 puan için 1 puan (rakibin 7,6,5 olduğu 7,7,7,5, 64 için K)
["3D", "7C", "6C", "AC", "5C", "4C", "3C", "2C", "QC", "4H", "7S"]
Skorlar 0 : <= 20 kart, <= 5 elmas, 7 elmas yok ve sadece primiera'da 69 skor var (rakibin 7,7,6, 70 için K olduğu 7,7,4,3)
[7D", "6D", "AD", "5D", "4D", "3D", "2D", "7C", "6C", "AC", "5C", "4C", "3C", "2C", "7H", "6H", "AH", "5H", "4H", "3H", "2H"]
Puanlar : 20 kart için 1 puan,> 5 elmas için 1 puan, 7 elmas için 1 puan. Primiera 63 (7,7,7) olacak ve rakip sadece bu eli hiçbir maça beri 51 (7, Q, Q, Q) ancak varsayılan olarak puan kaybeder puanı.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "QC", "QH", "QS"]
Skorlar 3 : <= 20 kart,> 5 elmas için 1 puan, 7 elmas için 1 puan. Primiera sadece puanları 51 (7, Q, Q, Q) ve rakip 63 (7,7,7) puanı ama rakibin eli hiçbir elmas beri bu el kazanır primiera varsayılan olarak nokta.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "7C", "7H"]
Skorlar 3 : <= 20 kart,> 5 elmas için 1 puan, 7 elmas için 1 puan. Bu elin maça olmamasına rağmen, hala 63 ila 57 (7,7,7'ye karşı 7,6,6) skorla primiera kazanır, çünkü rakibin elinde elmas yoktur.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "QC", "QH"]
Skorlar 2 : <= 20 kart,> 5 elmas için 1 puan, 7 elmas için 1 puan. Bu elin maça yok ve rakibin elinde elmas yok. Rakip primiera'yı 63 ile 41 arasında (7,7,7'ye karşı 7, Q, Q) kazanır .
[]
(boş dizi)
Puanlar 0
1: En azından ailemizde Jack, Scopa'daki Kraliçe'yi geride bıraktı, ancak bu puanlama amaçlarıyla alakasız.
2: Bu oyunu çocukluğumdan beri oynuyorum ve bunun olduğunu hiç görmedim ama kodunuzun bu davayı ele alması daha iyi olmuştu!
3: Tur sırasında attığım "tarama" için bu puanlar için göz ardı ettiğim bonus puanlar var.