移除元素后如何保持其位置固定

时间:2019-01-22 17:00:41

标签: 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

我做了一些修改,但无法弄清楚如何将卡片从其原始位置移除,以及解决卡片出现在布局顶部的问题。我将如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

一种可能性是用“空”占位符替换卡,而不是将其删除。这样可以很容易地保留矩阵的结构,但是您必须添加一些检查以查看用户是否选择了“空”点。而且,您可能希望在“空”位置显示一个新图标或其他内容。