相关文件
关注小编,私信小编领取哟!
当然别忘了一件三连哟~~
对了大家可以关注小编的公众号哟~~
Python日志
开发环境
Python版本:3.7.4
相关模块:
pygame模块;
tkinter模块;
pillow模块;
以及一些python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
原理介绍
ok,这里我们还是来简单介绍一下游戏的实现原理吧。
首先,我们还是借助pygame来播放一首我们喜欢的背景音乐吧:
'''播放背景音乐'''
def playbgm(self):
pygame.init()
pygame.mixer.init()
pygame.mixer.music.load(cfg.AUDIOPATHS['bgm'])
pygame.mixer.music.play(-1, 0.0)
然后,我们初始化一下tkinter的主界面:
# 主界面句柄
self.root = Tk()
self.root.wm_title('记忆翻牌小游戏 —— 彳余大胆')
并在主界面上显示16张未被翻面的卡片:
# 游戏界面中的卡片字典
self.game_matrix = {
}
# 背景图像
self.blank_image = PhotoImage(data=cfg.IMAGEPATHS['blank'])
# 卡片背面
self.cards_back_image = PhotoImage(data=cfg.IMAGEPATHS['cards_back'])
# 所有卡片的索引
cards_list = list(range(8)) + list(range(8))
random.shuffle(cards_list)
# 在界面上显示所有卡片的背面
for r in range(4):
for c in range(4):
position = f'{r}_{c}'
self.game_matrix[position] = Label(self.root, image=self.cards_back_image)
self.game_matrix[position].back_image = self.cards_back_image
self.game_matrix[position].file = str(cards_list[r * 4 + c])
self.game_matrix[position].show = False
self.game_matrix[position].bind('<Button-1>'<