Pygame实战开心——消消乐,你乐,我乐,大家乐~
Posted 顾木子吖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pygame实战开心——消消乐,你乐,我乐,大家乐~相关的知识,希望对你有一定的参考价值。
导语
你今天消消乐了吗?
哈喽哈喽~木木子之前不是写过一篇百变消消乐嘛?
可能你们不记得了,没关系——今天重温一下,来一篇开心🎊AND消消乐🎉🎉嘿嘿~
到底为什么消消乐游戏这么好玩?
精致的画面、有趣的音效,简直让人欲罢不能,越玩越上瘾有没有🏆。
心情不好的时候玩,等车玩,睡前玩。。💦最喜欢的休闲游戏之一。不瞒你说:我老妈已经玩到
等更新关卡的了,妥妥的王者几十颗下星星,反手就是一个👍
可能对于一个玩益智类游戏智商自动归零的人而言有些难,但其实这款游戏有手就行!!!超简单
的游戏规则。
还有人说:消消乐靠运气,其实理解反了,事实上是,如果你不懂技术,你还可以依
靠运气来过关和三星。
正文
开心消消乐分为二部分:
首先是😊开心——然后是消消乐游戏嘛~嘿嘿.jpg
一、开心小故事(三则)
1)近视😊
2)聪明的学生👧
3)杀手💂♀️
二、消消乐游戏
1)素材(图片)
2) 开心消消乐语音提示
3)环境安装
本文是由Pygame写的小游戏。
涉及运行环境:Python3.7、Pycharm社区版、Pygame模块。
pip install +模块名 或pip install -i https://pypi.douban.com/simple/ +模块名
三、代码演示
1)配置文件
'''屏幕大小'''
SCREENSIZE = (600, 600)
'''游戏元素尺寸'''
NUMGRID = 8
GRIDSIZE = 64
XMARGIN = (SCREENSIZE[0] - GRIDSIZE * NUMGRID) // 2
YMARGIN = (SCREENSIZE[1] - GRIDSIZE * NUMGRID) // 2
'''根目录'''
ROOTDIR = os.getcwd()
'''FPS'''
FPS = 30
2)游戏主程序
'''
Function:
消消乐小游戏
源码基地:#959755565#
'''
import os
import sys
import cfg
import pygame
from modules import *
'''游戏主程序'''
def main():
pygame.init()
screen = pygame.display.set_mode(cfg.SCREENSIZE)
pygame.display.set_caption('开心消消乐🎃')
# 加载背景音乐
pygame.mixer.init()
pygame.mixer.music.load(os.path.join(cfg.ROOTDIR, "resources/audios/bg.mp3"))
pygame.mixer.music.set_volume(0.6)
pygame.mixer.music.play(-1)
# 加载音效
sounds =
sounds['mismatch'] = pygame.mixer.Sound(os.path.join(cfg.ROOTDIR, 'resources/audios/badswap.wav'))
sounds['match'] = []
for i in range(6):
sounds['match'].append(pygame.mixer.Sound(os.path.join(cfg.ROOTDIR, 'resources/audios/match%s.wav' % i)))
# 加载字体
font = pygame.font.Font(os.path.join(cfg.ROOTDIR, 'resources/font/font.TTF'), 25)
# 图片加载
gem_imgs = []
for i in range(1, 8):
gem_imgs.append(os.path.join(cfg.ROOTDIR, 'resources/images/gem%s.png' % i))
# 主循环
game = gemGame(screen, sounds, font, gem_imgs, cfg)
while True:
score = game.start()
flag = False
# 一轮游戏结束后玩家选择重玩或者退出
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT or (event.type == pygame.KEYUP and event.key == pygame.K_ESCAPE):
pygame.quit()
sys.exit()
elif event.type == pygame.KEYUP and event.key == pygame.K_r:
flag = True
if flag:
break
screen.fill((135, 206, 235))
text0 = 'Final score: %s' % score
text1 = 'Press <R> to restart the game.'
text2 = 'Press <Esc> to quit the game.'
y = 150
for idx, text in enumerate([text0, text1, text2]):
text_render = font.render(text, 1, (85, 65, 0))
rect = text_render.get_rect()
if idx == 0:
rect.left, rect.top = (212, y)
elif idx == 1:
rect.left, rect.top = (122.5, y)
else:
rect.left, rect.top = (126.5, y)
y += 100
screen.blit(text_render, rect)
pygame.display.update()
game.reset()
'''run'''
if __name__ == '__main__':
main()
四、效果展示
总结
开心 消消乐就✍到这里结束啦~想自己拿去试玩儿的嘛?记得滴滴我哈。
🎯完整的免费源码领取处:
如需完整的项目源码+素材源码基地见:#私信小编06#或者点击蓝色文字添加即可获取免费的福利!
往期文章推荐——
项目1.0 超级玛丽
程序员自制游戏:超级玛丽100%真实版,能把你玩哭了~【附源码】
项目1.1 扫雷
Pygame实战:据说这是史上最难扫雷游戏,没有之一,你们感受下......
项目4.2 我的世界游戏
Pygame实战:方块连接世界,云游大好河山—《我的世界》已上线,确定不进来康康嘛?
项目4.3 欢乐打地鼠
Pygame实战:这款“欢乐打地鼠”小游戏让几亿人“上瘾“?不玩绝对是你的损失。
文章汇总——
以上是关于Pygame实战开心——消消乐,你乐,我乐,大家乐~的主要内容,如果未能解决你的问题,请参考以下文章