首页 > 解决方案 > 分配随机变量随机值

问题描述

我在 python 中制作游戏 2048 作为我的“Hello world”游戏是用 4*4 网格玩的(我确信有更好的方法,但我更担心我目前的问题。)

在游戏开始时,随机选择的 2 个方块被随机分配 2 或 4 的值。

我已经随机选择了 2 个“正方形”,并且还选择了随机值,但我不知道如何为随机选择的“正方形”分配所选择的随机值。

这就是我现在所拥有的

sqr16 = 0

# Randomly selected 'squares'
Random_Number_1 = random.randint(1, 16)
Random_Number_2 = random.randint(1, 16)
while(Random_Number_1 == Random_Number_2):
    Random_Number_1 = random.number(1, 16)

# Assign the randomly selected 'squares' random values.
# I know this is 100% not going to work as i wish it to work
sqr[Random_number_1] = random.randint([2], [4])
sqr[Random_Number_2] = random.randint([2], [4])

(我还没有把这些放到 python 编辑器中,这是用 Chromebook 上的一个 txt 应用程序编写的。请简单一点,这是我的 Hello 世界,我所知道的最复杂的事情是定义函数。)

标签: pythonpython-3.x

解决方案


“我已经为每个‘正方形’分配了它自己的变量,例如 sqr1 = 0 sqr2 = 0 sqr...最多 16”

如果你保持这种格式,这对你来说将是一个巨大的痛苦。要继续您的方式,您需要如下代码:

if(Random_number_1 == 0):
    sqr1 = random.randint([2], [4])
if(Random_number_1 == 1):
    sqr2 = random.randint([2], [4])
if(Random_number_1 == 2):
    sqr3 = random.randint([2], [4])
.........

相反,您可以将方块保存在如下列表中:

sqr = [0]*16

然后访问它们很容易!一行而不是 32:

sqr[Random_Number_1] = random.randint([2], [4])

推荐阅读