如何生成一定数量的数字并在网格中随机分布?

时间:2017-01-25 16:48:38

标签: delphi pascal

我想生成数字 2 5次,数字 1 10次。我试图随机地在Delphi中的String Grid中传播它们。我还希望用 0 来填充 1 2 的其余网格。我不知道如何从这里开始。

它看起来像这样(P代表玩家,只有5 2' s和10 1')https://gyazo.com/aeef05c3a92ce7847c0f42ad40faa733

2 个答案:

答案 0 :(得分:3)

给定尺寸 m × n 的网格,创建一个长度为m * n的数组。将5个2和10 1放入数组中,并用0填充其余部分。 (我们假设 m n 的乘积至少为15.)随机播放数组。将混洗数组的每个元素复制到网格中的连续单元格中。

答案 1 :(得分:0)

虽然Robs回答中所说的方法可以完成这项工作,但我个人认为这样做会使其复杂化。

那么什么会更简单的方法?

你的目标是将这些数字放在网格中的随机位置。

如何确定网格中某个对象的位置?你可以通过X(列)和Y(行)坐标来完成它。

那么如何在网格中获得随机位置? Simple为X和Y坐标选择了两个随机值。

至于放置一定数量的数字1和数字2使用两个简单的循环。