跳至正文
View Categories

1 min read

主要内容 #

    1. 消消乐游戏介绍
    2. 游戏界面展示
    3. 功能解构
    4. PyGame基础框架

收获 #

了解消消乐游戏规则,并且对本次实践可以达到的游戏效果初略了解。

1.消消乐游戏介绍 #

玩家通过鼠标交换相邻的拼图,若交换后水平/竖直方向存在连续三个相同的拼图,则这些拼图消失,玩家得分,同时生成新的拼图以补充消失的部分,否则,交换失败,玩家不得分。玩家需要在规定时间内获取尽可能高的得分。

2.游戏界面展示 #

3.功能解构 #

根据如上玩法以及界面展示,现对消消乐的功能进行解构,具体如下:

  • 1,界面:一个图像背景,8*8的网格用于置放消消乐的宝石。
  • 2,功能:宝石类的定义。
  • 3,功能:游戏类的定义,主要包括:开始游戏模块,随机生成宝石模块,新拼图块生成模块,多个判断模块等。
  • 4,功能:游戏结束功能判断。

后续逐步完成每个功能模块。

本次程序中需要用到的一些图片及音频资源压缩包,点击下载

4.PyGame基础框架 #

PyGame最基础的框架代码如下,后续所有的功能都是在该框架基础上添加和修正。

import os
import sys
import time
import random
import pygame


#如下是上一步新增的该项目所需变量
WIDTH = 600
HEIGHT = 600
NUMGRID = 8
GRIDSIZE = 64
XMARGIN = (WIDTH - GRIDSIZE * NUMGRID) // 2
YMARGIN = (HEIGHT - GRIDSIZE * NUMGRID) // 2
ROOTDIR = os.getcwd()
FPS = 30
#如上是上一步新增的该项目所需变量

#游戏界面初始化:
pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('消消乐小游戏-大师码')


def main():

    # 加载背景音乐
    pygame.mixer.init()
    pygame.mixer.music.load(os.path.join(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(ROOTDIR, 'resources/audios/badswap.wav'))
    sounds['match'] = []
    for i in range(6):  # 匹配成功一共有六个音效
        sounds['match'].append(pygame.mixer.Sound(os.path.join(ROOTDIR, 'resources/audios/match%s.wav' % i)))
    # 加载字体
    font = pygame.font.Font(os.path.join(ROOTDIR, 'resources/font.TTF'), 25)
    # 图片加载
    gem_imgs = []
    for i in range(1, 8):  # 一共七种宝石
        gem_imgs.append(os.path.join(ROOTDIR, 'resources/images/gem%s.png' % i))

    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()
        pygame.display.update() # 这部分就是每次循环都要更新屏幕,这样能保持一直状态最新


if __name__ == '__main__':
    main()

请大家新建项目,新建代码文件,将如上代码写到文件中,尝试运行,查看具体程序效果。

小结 #

  • 本节主要介绍消消乐的游戏规则,并且展示最后开发出的小游戏效果图,以及功能解构和基础框架。