python - 获取精灵的位置,并移动它以响应它被点击
问题描述
所以我试图制作一个简单的纸牌游戏,要求我能够从屏幕上显示的纸牌列表中选择 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
任何帮助将不胜感激。
解决方案
推荐阅读
- cassandra - 为什么二级索引在 Cassandra 中效率较低?
- python - Scrapy 返回重复项
- python - Python Websockets创建pem文件
- javascript - jQuery UI 主题
- python - 如何找到二叉树中特定节点的深度?
- python - VS Code 无法识别 SQLAlchemy
- flutter - Flutter 和 dart 将字符串转换为 md5,然后作为字符串调用
- javascript - 修改谷歌航班的排序行为
- ubuntu - 知道为什么运行任何 grails 应用程序会增加风扇速度
- laravel - 从 quasar ssr 发送 cookie 到 laravel 后端