gpt4 book ai didi

python - Python 2048 游戏

转载 作者:行者123 更新时间:2023-12-01 00:28:09 25 4
gpt4 key购买 nike

作为初学者,我开始编写 2048 游戏。我制作了矩阵并用 0 填充它。然后我想编写一个函数,循环遍历整个矩阵并找到所有 0 值。然后保存 0 值的坐标,稍后用 2 或 4 值替换它们。我创建了一个随机变量来选择 2 或 4 之间的值。问题是,我真的不知道如何将 0 值的 x 和 y 坐标插入数组,然后读取它们。




table = [[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]


options = []



def saveOptions(i, j):
options.append([{i , j}])
return options




def optionsReaderandAdder(options):
if len(options) > 0:
spot = random.random(options)
r = random.randint(0, 1)
if r > 0.5:
table <-------- THIS IS THE LINE WHERE I WOULD LIKE TO CHANGE THE VALUE OF THE 0 TO 2 OR 4.










def optionsFinder():
for i in range(4):
for j in range(4):
if table[i][j] == 0:
saveOptions(i, j)

optionsReaderandAdder(options)


addNumber()

print('\n'.join([''.join(['{:4}'.format(item) for item in row])
for row in table]))

最佳答案

您可以迭代表的行和列:

for row in table:
for element in row:
if element == 0:
# now what?

我们不知道坐标是什么。

Python 有一个有用的函数,名为 enumerate 。我们可以像以前一样进行迭代,但我们还可以获取数组的索引或位置。

zeroes = []

for i, row in enumerate(table):
for j, element in enumerate(row):
if element == 0:
zeroes.append((i, j))

然后我们可以设置这些值,例如全部设置为2:

for i, j in zeroes:
table[i][j] = 2

您的随机代码看起来不错。

关于python - Python 2048 游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58394497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com