나는 카드 게임 도전을 좋아해서 이탈리아 카드 게임 Scopa를 위해 이것을 만들었다. 우리 가족은 옛날부터이 게임을 해왔습니다. 골프에 재미있을 매우 흥미로운 점수 시스템이 있습니다. 나는 재미를 시작하기 위해 R에 답변을 게시하여 사람들이 향상시킬 것이라고 확신합니다.
도전 과제 : 라운드에서 플레이어가 캡처 한 카드를 입력으로 받아 Scopa 라운드에서 득점 한 점수를 계산하십시오.
Scopa 덱에는 40 장의 카드가 있습니다. 국제 데크를 사용하는 경우 8, 9, 10을 제거하고 각 소송마다 A, 2,3,4,5,6,7, Q, J, K를 남겨 둡니다. 1 두 명의 플레이어 또는 파트너쉽이 있으며 매 라운드마다 모든 카드가 두 플레이어 중 하나 또는 다른 하나에 의해 점령됩니다. 점수는 다음과 같이 계산됩니다 (자세한 내용은 여기 참조 ).
- 가장 많은 카드를 가진 플레이어는 1 점을 얻습니다.
- 다이아몬드 가 가장 많은 플레이어 (또는 이탈리아 데크를 사용하는 경우 동전)는 1 점을 얻습니다.
- sette bello 또는 beautiful seven 로 알려진 7 개의 다이아몬드 (또는 동전)를 가진 플레이어는 1 점을 얻습니다.
- 프리미어 가 가장 높은 플레이어는 1 점을 얻습니다. 플레이어의 주요 점수는 플레이어가 각 소송에서 캡처 한 최고 가치 카드의 점수의 합계입니다 (아래 표 참조). 한 벌에 한 장 이상의 카드가 없다면, 점수가 상대방의 점수를 초과하더라도 기본적으로 패배합니다. 매우 드물게 모든 플레이어가 한 벌에 하나 이상의 카드를 가지고 있지 않은 경우, 프리미어 총점 이 높은 플레이어가 점수를 얻습니다. 2
프리미 에라 점수 표
| Rank | Value |
| ----- | ----- |
| 7 | 21 |
| 6 | 18 |
| A | 16 |
| 5 | 15 |
| 4 | 14 |
| 3 | 13 |
| 2 | 12 |
| Q,J,K | 10 |
따라서 플레이어는 한 라운드에서 최대 4 점을 득점 할 수 있습니다. 3 카드, 다이아몬드 또는 primiera에 대해 가능한 동점이 있으면 아무도 점수를 얻지 못합니다 .
각 카드는 두 명의 플레이어 중 한 명이 캡처해야하기 때문에 한 명의 플레이어가 어떤 카드를 가지고 있는지 알고 있더라도 다른 플레이어가 어떤 카드를 가져 갔는지 추측 할 수 있습니다. primiera 를 정확하게 점수를 매기 려면 이 작업을 수행해야합니다 .
도전 규칙
입력
코드는 한 라운드의 Scopa 동안 한 명의 플레이어가 캡처 한 카드를 입력으로 가져와야합니다.
입력은 문자열 형식이어야합니다. 여기서 한 문자는 각 카드의 순위를 나타내고 한 문자는 해당 문자를 나타냅니다. 이는 프리미어 점수를 입력으로 직접전달하는 잠재적 허점을 제거합니다. 프로그램에서카드 순위를 프리미어 점수로변환해야합니다. 그러나 공백이나 쉼표로 구분 된 단일 문자열, 문자열 배열 또는 기타 형식을 사용하도록 선택할 수 있습니다. 예를 들어또는같은 입력을 사용할 수있는76A5432QJK
대로순위를 인코딩하고 적합한경우를 선택합니다.DCHS
['7D', '6H', 'QD', 'JS']
'7D,6H,QD,JS'
산출
플레이어의 점수를 나타내는 0에서 4까지의 정수입니다.
승리
바이트 단위의 최단 답변이 승리합니다!
테스트 사례
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "7C", "6C", "4C", "3C", "2C", "7H", "4H", "2H", "5S", "3S", "QS", "JS", "KS"]
4 점수 :> 20 카드 1 점, 다이아몬드 5 점 이상> 1 다이아몬드 7 점, 프리미어 라 78 점 1 점 (7,7,7,5, 상대가 7,6,5, 64의 경우 K)
["3D", "7C", "6C", "AC", "5C", "4C", "3C", "2C", "QC", "4H", "7S"]
스코어 0 : <= 20 카드, <= 5 다이아몬드, 다이아몬드 7 개 없음, 프리미어에서 69 점 (7,7,4,3, 상대는 70, 7,7,6, K)
[7D", "6D", "AD", "5D", "4D", "3D", "2D", "7C", "6C", "AC", "5C", "4C", "3C", "2C", "7H", "6H", "AH", "5H", "4H", "3H", "2H"]
점수 3 :> 20 카드의 경우 1 점,> 5 다이아몬드의 경우 1 점, 다이아몬드의 7 점에 대해 1 점. primiera는 63 (7,7,7)이 될 것이며, 상대는이 손에는 삽이 없기 때문에 (51) (7, Q, Q, Q)하지만 그것은 기본적으로 포인트를 잃는 점수 수 있습니다.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "QC", "QH", "QS"]
점수 3 : <= 20 카드,> 5 다이아몬드의 경우 1 점, 다이아몬드의 7 개에서 1 점. primiera는 단지 점수 (51) (7, Q, Q, Q)와 상대가 (63) (7,7,7)을 득점 할 수 있지만 상대의 손에는 다이아몬드가 없기 때문에이 손이 승리 primiera에 기본적으로 지점을.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "7C", "7H"]
점수 3 : <= 20 카드,> 5 다이아몬드의 경우 1 점, 다이아몬드의 7 개에서 1 점. 이 핸드에는 스페이드가 없지만 상대방의 핸드에는 다이아몬드가 없기 때문에 여전히 63에서 57 (7,7,7 대 7,6,6)의 점수로 프리미 에라 에서 승리 합니다.
["7D", "6D", "AD", "5D", "4D", "3D", "2D", "QD", "JD", "KD", "QC", "QH"]
점수 2 : <= 20 카드,> 5 다이아몬드의 경우 1 점, 다이아몬드의 7 개에서 1 점. 이 손에는 스페이드가없고 상대방의 손에는 다이아몬드가 없습니다. 상대 는 63에서 41 (7,7,7 대 7, Q, Q)의 점수로 프리 메리아 를 이깁니다 .
[]
(빈 배열)
0 점
1 : 적어도 우리 가족에서 Jack은 Scopa에서 Queen을 능가했지만 점수를 매기는 데는 관련이 없습니다.
2 : 저는 어릴 때부터이 게임을 해왔는데 그런 일이 없었지만 코드에서 더 잘 처리 할 수있었습니다!
3 : 라운드 중에 득점 한 "스윕"에 대한 보너스 포인트가 있습니다.이 도전의 목적으로 무시하고 있습니다.