2
玩Yahtzee游戏
在Yahtzee游戏中,玩家轮流滚动5个6面骰子,每回合最多3次,有可能在掷骰子之间节省骰子,然后选择他们希望用于掷骰子的类别。这将继续进行,直到没有其他类别(在13圈之后发生)。然后,计算出玩家的分数,得分最高的玩家获胜。 类别如下(“骰子总和”是指将指定骰子上的点数相加): 上段 王牌:骰子总和显示1点 二进制补码:骰子的总和示出2点 Threes:骰子总和显示3点 Fours:骰子总和显示4点 法夫:骰子总和显示5点 Sixes:骰子总和显示6点 下段 三种:3个相同价值的骰子,总和是所有骰子的总和 同一样四个:4个相同值的骰子,总和是所有骰子的总和 客满:3个骰子带一个值,另外2个带另一个值,得分为25 小直:4个连续骰子,得分为30 大直:5个连续骰子,得分为40 Yahtzee:所有5个相同价值的骰子,得分为50 机会:骰子的任何组合,分数是所有骰子的总和 关于类别选择,有一些规则: 如果玩家选择与自己的掷骰不符的类别,则该类别的得分为0。 如果玩家在上半部分至少获得63分,他们将获得35点奖励积分。 如果玩家掷出Yahtzee,但Yahtzee类别已经被占用(另一个Yahtzee-错过0则不计入),他们将获得100分的奖励。此奖金是在第一个Yahtzee之后颁发的。 此外,玩家还必须选择填写类别。他们必须选择与他们的掷骰相对应的上半部分类别(例如,在Sixes类别中必须放置5 6的掷骰)。如果已经使用了对应的上节类别,则Yahtzee可以用于下节类别(在这种情况下,选择“满屋”,“小平直”或“大平直”将奖励正常数量的积分,而不是0分)。如果采用了所有下半部分类别,则Yahtzee可以应用于得分为0的未使用的上半部分类别。 挑战 在此挑战中,竞争对手将参加Yahtzee的1000场比赛。每场比赛结束时,得分最高的参赛作品将获得1分。所有游戏结束后,得分最高的作品将获胜。如果出现平局,将仅使用并列提交项来玩其他游戏,直到并列打破。 控制者 完整的控制器代码可在此GitHub存储库中找到。以下是玩家将与之互动的公共接口: public interface ScorecardInterface { // returns an array of unused categories Category[] getFreeCategories(); // returns the current total score int getScore(); // returns …