记忆游戏,检测两个图像相同的问题

时间:2019-03-23 16:19:27

标签: python

我正在尝试制作一款小型记忆游戏。但是,我必须检测一下玩家单击的两张卡是否相同,以便可以将其删除。

我正在尝试使其变色,以使卡片图像成为变量,然后查看两个图像是否相同,如果是,则将它们移除。但是,这似乎不起作用。

所以我想知道,你们会推荐我做什么?

if mousehovercard0 == 1 and button1 == 1:
    if click == 1:
        cardclick1 = card0.image
    if click == 2:
        cardclick2 = card0.image
if mousehovercard1 == 1 and button1 == 1:
    if click == 1:
        cardclick1 = card1.image
    if click == 2:
        cardclick2 = card1.image
if mousehovercard2 == 1 and button1 == 1:
    if click == 1:
        cardclick1 = card2.image
    if click == 2:
        cardclick2 = card2.image
if mousehovercard3 == 1 and button1 == 1:
    if click == 1:
        cardclick1 = card3.image
    if click == 2:
        cardclick2 = card3.image


if cardclick1 == cardclick2:
    cardclick1.rect.x = -100
    cardclick2.rect.x = -100

1 个答案:

答案 0 :(得分:0)

一种简单的解决方案是为不同的图像创建一个变量并单击一个变量:

clicked_=False
image1_click=False
image2_click=False
...

当按下“内存块”时,相应的变量将设置为true。如果也单击了第二个,则执行命令将两者都删除。例如,这将应用于具有image1的两个图块:

if clicked:
    if image1_click:
        #Command to remove both buttons
    else:
        #Incorrect click, reset table
        image1_click=False
    clicked=False
else:
    clicked=True
    image1_click=True

作为奖励,当所有image1_click为true时,游戏结束。