J如何制作随机数的形状

时间:2018-05-02 17:09:23

标签: list j

我尝试在这种情况下制作随机数字形状(0或1),因为我试图创建一个扫雷场。

我尝试过使用"?"随机接收它的符号,但它通常会变成一个非随机的,重复的模式,这对我来说是不能令人满意的:

{{1}}

因此,我尝试了其他方法,例如从索引中提取数字(这称为roll)。但是这会返回随机小数。对代码的其他小改动也导致了这些随机小数。

1 个答案:

答案 0 :(得分:7)

我自己做了几次这样的事。关键是你应用?时。如果在创建矩阵后应用它,则会得到所需的结果。

我们知道?2会返回随机生成的10值。

   ? 2
0
   ? 2
1
   ? 2
0

因此,如果我们创建一个2

的5X5矩阵
   5 5 $ 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2

然后我们对矩阵中的每个?应用2,为每个位置提供随机10

   ? 5 5 $ 2 NB. first 5 X 5 matrix of random 1's and 0's
0 0 0 1 1
1 1 1 0 1
0 0 0 0 1
1 1 1 1 0
1 1 1 0 0

   ? 5 5 $ 2  NB. different 5 X 5 matrix of random 1's and 0's
0 0 0 1 1
1 0 1 1 0
0 0 0 1 1
1 0 0 1 0
1 1 1 0 0