9
山丘之王-骗子的骰子
说谎者的骰子是一个相当简单的骰子游戏。我看到了一些不同的规则变体,但这是我最熟悉的版本: 每个玩家以5d6开始 除了在回合结束时计算骰子时,每个玩家都可以看到自己的骰子,但看不到任何对手的骰子 在任何给定回合开始时,所有玩家都掷出他们当前拥有的任何骰子 然后,一个玩家(通常是前一轮的获胜者,或者是上次开始的玩家左侧的玩家;我们将前者用于此KotH;随机玩家在第一轮开始)猜测桌子上有多少个特定数字(很野生) 竞标继续向右移动,每次竞标都更高(例如,3个5、3个6和4个2都高于3个4个,但3个3个不是; 4个也更高,但竞标可能会使您处于坏处); 直到任何玩家称他们之前的玩家为骗子 在这一点上,所有玩家都展示自己的骰子,并在桌子上一并计算最后一次竞标的次数 如果总价低于出价,则出价的玩家必须给称他们为说谎者的玩家致死,否则,称出价者为说谎者的玩家必须给出价者致死(这样,出价者获胜。如果他们的数量至少等于他出价的数量,则不必是确切的数量) 当骰子用完时,您会输 最后一名站长获胜 例如: 玩家一有1,1,2,4,6 玩家二有1,2,2,3,5 玩家三有1,3,3,4,6 玩家一:三分之六。 玩家二:四分之二。 玩家三:四个三分。 玩家一:五分之二。 玩家二:六个二。 玩家三:六个三分。 玩家一:六四。 玩家二:骗子! 他们露出自己的骰子,并数出骰子(因为有些是野生的)和四数。 事实证明,实际上恰好有六个四。 因此,第二个玩家给一个玩家一个死亡。 他们重新投掷,第一人开始下一轮比赛。 您必须编写一个机器人才能玩此游戏。它必须实现以下抽象java类: public abstract class Player { public Player() {} public String toString() { return this.getClass().getSimpleName(); } public abstract String bid(int yourId, int[] …