首页 > 解决方案 > 获取精灵的位置,并移动它以响应它被点击

问题描述

所以我试图制作一个简单的纸牌游戏,要求我能够从屏幕上显示的纸牌列表中选择 cads。有点像在女士心中,我想在被点击时稍微向上移动一张卡片。

这是我的代码中的相关部分:

cardpngs={'CLUB':{'ACE':pygame.image.load('pcp\\CLUB\\1.png'),2:pygame.image.load('pcp\\CLUB\\2.png'),3:pygame.image.load('pcp\\CLUB\\3.png'),4:pygame.image.load('pcp\\CLUB\\4.png'),5:pygame.image.load('pcp\\CLUB\\5.png'),6:pygame.image.load('pcp\\CLUB\\6.png'),7:pygame.image.load('pcp\\CLUB\\7.png'),8:pygame.image.load('pcp\\CLUB\\8.png'),9:pygame.image.load('pcp\\CLUB\\9.png'),10:pygame.image.load('pcp\\CLUB\\10.png'),'JACK':pygame.image.load('pcp\\CLUB\\J.png'),'QUEEN':pygame.image.load('pcp\\CLUB\\Q.png'),'KING':pygame.image.load('pcp\\CLUB\\K.png')},'DIAMOND':{'ACE':pygame.image.load('pcp\\DIAMOND\\1.png'),2:pygame.image.load('pcp\\DIAMOND\\2.png'),3:pygame.image.load('pcp\\DIAMOND\\3.png'),4:pygame.image.load('pcp\\DIAMOND\\4.png'),5:pygame.image.load('pcp\\DIAMOND\\5.png'),6:pygame.image.load('pcp\\DIAMOND\\6.png'),7:pygame.image.load('pcp\\DIAMOND\\7.png'),8:pygame.image.load('pcp\\DIAMOND\\8.png'),9:pygame.image.load('pcp\\DIAMOND\\9.png'),10:pygame.image.load('pcp\\DIAMOND\\10.png'),'JACK':pygame.image.load('pcp\\DIAMOND\\J.png'),'QUEEN':pygame.image.load('pcp\\DIAMOND\\Q.png'),'KING':pygame.image.load('pcp\\DIAMOND\\K.png')},'HEART':{'ACE':pygame.image.load('pcp\\HEART\\1.png'),2:pygame.image.load('pcp\\HEART\\2.png'),3:pygame.image.load('pcp\\HEART\\3.png'),4:pygame.image.load('pcp\\HEART\\4.png'),5:pygame.image.load('pcp\\HEART\\5.png'),6:pygame.image.load('pcp\\HEART\\6.png'),7:pygame.image.load('pcp\\HEART\\7.png'),8:pygame.image.load('pcp\\HEART\\8.png'),9:pygame.image.load('pcp\\HEART\\9.png'),10:pygame.image.load('pcp\\HEART\\10.png'),'JACK':pygame.image.load('pcp\\HEART\\J.png'),'QUEEN':pygame.image.load('pcp\\HEART\\Q.png'),'KING':pygame.image.load('pcp\\HEART\\K.png')},'SPADE':{'ACE':pygame.image.load('pcp\\SPADE\\1.png'),2:pygame.image.load('pcp\\SPADE\\2.png'),3:pygame.image.load('pcp\\SPADE\\3.png'),4:pygame.image.load('pcp\\SPADE\\4.png'),5:pygame.image.load('pcp\\SPADE\\5.png'),6:pygame.image.load('pcp\\SPADE\\6.png'),7:pygame.image.load('pcp\\SPADE\\7.png'),8:pygame.image.load('pcp\\SPADE\\8.png'),9:pygame.image.load('pcp\\SPADE\\9.png'),10:pygame.image.load('pcp\\SPADE\\10.png'),'JACK':pygame.image.load('pcp\\SPADE\\J.png'),'QUEEN':pygame.image.load('pcp\\SPADE\\Q.png'),'KING':pygame.image.load('pcp\\SPADE\\K.png')}}
### the dictionary of card png paths
class card:
    def __init__(self,suit,rank):
        self.suit = suit
        self.rank = rank
        if type(self.rank) == int:
            self.value = rank
        elif self.rank == 'ACE':
            self.value = 11
        else:
            self.value = 10

class deck():

    def __init__(self):
        ranks = [i for i in range(2, 11)] + ['JACK', 'QUEEN', 'KING', 'ACE']
        suits = ['SPADE', 'HEART','DIAMOND','CLUB']



for i in cardlist: 
    gameDisplay.blit((cardpngs[i.suit][i.rank]),(cardx,cardy))
    cardx+=15
    pygame.display.update()  
### code to display cards

任何帮助将不胜感激。

标签: pythonpython-3.xpygame

解决方案


推荐阅读