关于模拟Monty Hall问题已经存在一个问题。这是不同的。该用户将播放的蒙提霍尔问题。您的程序将扮演主机的角色。Montybot,如果您愿意。
步骤如下:
- (随机)选择三个门中的哪个隐藏奖品。
- 输出三个门的视觉显示。一个简单的
ABC
会做。或三个方块。管他呢。 - 接收选择其中一扇门的输入。这可以是在所选门上单击鼠标,单个字母输入(
B
)或其他方式。 - 打开另一扇门。您没有打开所选的门。您不会打开隐藏主要奖金的门。那可能意味着您别无选择,或者可能意味着您有两个选择。如果您选择两个,则随机选择一个。直观地表明门已经打开,并且没有任何奖金藏在门后。对于基于程序文本的输入/输出,这可能与output一样简单
AB0
,以显示门C
已打开。随时更具创造力。如果您正在执行GUI程序,则显示选择取决于您。 - 接受来自用户的输入。用户可以输入
stick
或switch
(或对于GUI程序,单击按钮,或使用选择输入,或其他)。如果用户输入的不是stick
或switch
,则实现未定义。做你想做的。 - 输出文本
You won!
或You lost
。 - 终止程序。
规则:
- 当您必须随机选择某物时,不必担心密码随机性。任何
rand()
功能都可以。 - 该程序不得作弊。奖品必须在比赛开始前就位。也就是说,必须按照给定的顺序执行这些步骤:首先选择一扇门,在后面隐藏您的奖金,然后请玩家选择。必须在步骤4中选择在步骤4中打开哪扇门:事先未选择。
- 步骤6中的输出必须诚实。
- 这是代码高尔夫。最短的代码获胜。
我第一次在这个网站上发帖,但我潜伏了很多,所以我想我对您的规范很熟悉。
—
TRiG 2014年
在meta.codegolf.stackexchange.com上,有一个线程可以提出问题,并让人们在正式发布之前解决所有问题。我不知道这里是否有什么特别的问题可以解决,但是下次知道可能会很好。
—
undergroundmonorail
我正在预告赢家将只是高尔夫球的另一个答案……
—
Victor Stafusa 2014年
顺便说一句,“有创造力”与代码高尔夫并不能很好地进行,因为有创造力会消耗一些字节,而代码高尔夫的目的与此相反。
—
Victor Stafusa 2014年
是的,@ Victor。不需要发明。我只是(a)不想将其限制为命令行程序,并且(b)不知道非命令行程序应如何实现用户选择。所以我把它留给了答题者。有创造力是一种选择,但这是没有任何额外要点的。
—
TRiG 2014年