掷骰子是一种非常简单的骰子游戏,通常在赌场中玩。即使您不是赌徒(我不是),它仍然是一个相当有趣的游戏。规则如下:
在骰子的游戏开始有所谓的脱出轮。播放器掷出两个d6(六个面的骰子),并添加了两个骰子。如果结果是7或11,则该人自动获胜(这称为自然)。如果结果是2、3或12,则此人会自动丢失(这称为淘汰)。否则,将结果设置为圆点的点。
此后,积分回合开始。在积分回合中,玩家必须连续掷出2 d6s,直到该人从上一回合掷出7分或他/她的积分。如果该人掷出7,则输。如果他们提出自己的观点,他们就赢了。
挑战
实现一个模拟胡扯游戏的简单程序。如果此人在下注回合中进行自然或淘汰,则程序应输出“ Natural:”或“ Crapping out:”,然后进行模切,然后退出。否则,应输出“ Point:”,后跟该点。然后,在点回合期间,它应输出每个模辊,直到达到7或该点为止。如果该人获胜,则应输出"Pass"
;如果他们输了,应该输出"Don't Pass"
。
参考实施
Groovy,277个字节
def a={return Math.random()*6+1};int b=a()+a();(b<4||b==12)?{println"Crapping out: "+b}():{(b==7||b==11)?{println"Natural: "+b}():{println"Point: "+b;for(;;){int x=a()+a();println x;(x==7)?{println"Don't Pass";System.exit(0)}():{if(x==b){println"Pass";System.exit(0)}}()}}()}()
样本输出
Natural: 7
Crapping out: 3
Point: 9
4
8
11
9
Pass
和
Point: 5
3
7
Don't Pass
这是代码高尔夫球,因此最短的代码获胜。
(免责声明:此挑战并非旨在以任何方式促进赌博。请记住,这家房子总是赢家。)
You can't make your program shorter by picking a random number between 1 and 12 for the die roll; it must be two numbers picked between 1 and 6.
-从与在[1,6]中添加两个统一随机值相同的分布中选择[1,12]中的随机值怎么办?