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实战:这款“欢乐打地鼠”小游戏让几亿人“上瘾“?不玩绝对是你的损失。

文章汇总——

项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了

以上是关于Pygame实战开心——消消乐,你乐,我乐,大家乐~的主要内容,如果未能解决你的问题,请参考以下文章

python消消乐 美轮美奂的界面效果完整源码+详细流程

[硫化铂]开心消消乐

开心消消乐 - 基于R

Unity3D_(游戏)开心消消乐

一起来学pygame吧 游戏开发30例——消消乐 小游戏 丨蓄力计划

C语言风格实现的开心消消乐