受到今天早些时候提出的这个问题的启发,我希望看到各种编程语言将小键盘变成概率的有趣方式。通常,基于图块的游戏将允许您使用数字键盘根据角色当前所在的位置向任何方向移动。当为这些游戏制作AI时,Math.random() * 8还远远不够,所以我必须要有一点创造力,使机芯的外观和感觉更加自然。
小键盘的定义如下:
7 | 8 | 9
- - - - -
4 | x | 6
- - - - -
1 | 2 | 3
请注意,5是无效数字,因为您无法继续前进。
所有示例将使用以下概率: [50, 40, 30, 20, 10]
如果我想在周围生成概率8,则看起来像这样:
40 | 50 | 40
-- | -- | --
30 | xx | 30
-- | -- | --
20 | 10 | 20
输出将是[20, 10, 20, 30, 30, 40, 50, 40](省略5个)或[20, 10, 20, 30, null, 30, 40, 50, 40](显示5个)
如果我想在周围生成它们1,它将如下所示:
30 | 20 | 10
-- | -- | --
40 | xx | 20
-- | -- | --
50 | 40 | 30
输出将是[50, 40, 30, 40, 20, 30, 20, 10](省略5个)或[50, 40, 30, 40, null, 20, 30, 20, 10](显示5个)
您可以编写一个完整的程序,该程序以任何常用方式(命令行,stdin)获取输入并打印输出,或者您可以编写一个带有数字参数的函数来打印或返回输出。您的程序或函数应接受一个数字-产生的位置。您应该使用以下概率:([50, 40, 30, 20, 10]它们不必进行硬编码)。
以字节为单位的最短代码获胜。不允许出现标准漏洞。不允许在链接主题中发布答案。允许尾随空格或前导空格。您可以4根据自己的喜好将职位视为缺席或空缺。我对输出格式不太挑剔-将其打印为逗号分隔的字符串或数组。
(这是我的第一个问题,请放心!)