首页 > 解决方案 > 如何加载所有扑克牌的图像?

问题描述

我正在尝试使用 for 循环加载所有扑克牌的图像。但是,pygame.image.load是作为字符串'CK': "pygame.image.load('cards/CK.png')"而不是'CK': pygame.image.load('cards/CK.png').

有什么建议我可以在字典中使用字符串而不是字符串本身的值吗?

self.suits = {'S':'spades', 'H':'hearts', 'D':'diamonds', 'C': 'clubs'}
self.values = {'A':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9,
               'T':10, 'J':11, 'Q':12, 'K':13}
cardpngs = {}
for suit in self.suits:
    for symbol in self.values.keys():
        card_name = f"{suit}{symbol}"
        folder_name = f"pygame.image.load('cards/{card_name}.png')"
        cardpngs[card_name] = folder_name

标签: pythonpygame

解决方案


你的问题似乎在这里

folder_name = f"pygame.image.load('cards/{card_name}.png')"

这只是一个字符串,你想加载实际的图像,所以你应该这样做:

folder_name = pygame.image.load(f'cards/{card_name}.png')

推荐阅读