python - 移除元素后如何保持元素位置不变
问题描述
我创建了一个基本的记忆游戏,它创建了一个卡片矩阵,并且在接收到用户输入时会“翻转”并显示卡片。当两张牌匹配时,它将从矩阵中删除这对。然而,在玩游戏时,我在卡片放置方面遇到了两个问题 - 移除卡片时,移除卡片后的卡片占据移除的卡片位置,并且打乱卡片的顺序,移除卡片的“记忆”方面游戏。它看起来像这样:
卡片会自动恢复向左的位置,奇怪的是有时会在整个卡片布局的顶部弹出一两张卡片,这是第二个问题。
def remove_pairs():
matrix[row][col].pop()
for i in range(len(matrix)):
for j in range(len(matrix[0])):
try:
print((matrix[i][j][1]), end = ' ')
except IndexError:
print(" ")
print('')
if __name__ == "__main__":
create_deck()
p1_score = 0
p2_score = 0
card1 = None
card2 = None
while True:
card1 = get_card()
print(card1)
card2 = get_card()
print(card2)
if card1[0] == card2[0]:
remove_pairs()
else:
continue
我进行了一些修改,但不知道如何将卡片移到原始位置,以及解决卡片出现在布局顶部的问题。我将如何解决这个问题?
解决方案
一种可能性是用“空”占位符替换卡,而不是将其移除。然后很容易保持矩阵的结构,但是您必须添加一些检查以查看用户是否选择了“空”点。您可能希望在“空白”位置显示一个新图标或其他内容。
推荐阅读
- javascript - 如何获取 async 的值并传递给函数?
- string - 是否可以批量操作文件名?
- typescript - 如何从您的 Ionic 应用程序中访问任何自定义端口
- angular - 从服务调用组件 - 角度
- html - 如何在降价中禁止列表项之间的换行
- oracle - 在 WINDOWS 10 机器上安装 ORACLE 11 G
- java - 获取 CtClass 超类名称或 CtClass 超类实例
- python - 保存具有当前日期和时间的 csv
- sharepoint - 将共享点搜索 API 结果限制在某些地理位置
- mongodb - Mongoexport“错误解析 URI”错误 - MONGODB