【python】python小游戏——开心消消乐(源码)【独一无二】

这篇具有很好参考价值的文章主要介绍了【python】python小游戏——开心消消乐(源码)【独一无二】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python小游戏源码,python,pygame,开发语言


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


python小游戏——开心消消乐(源码)



一、代码分析

基于 Pygame 的游戏程序,它实现了一个类似于消消乐的游戏。代码的结构和功能进行分析:

import pygame
import random
from pygame.locals import *
  1. 导入了 pygamerandom 库,以及从 pygame.locals 导入了一些常量。

  2. 定义了 SoundPlay 类和一些音效文件路径。该类用于播放游戏中的各种音效。

  3. 定义了 Tree 类,表示游戏中的树,包括树、果子、精力、银币等元素,以及绘制这些元素的方法。

  4. 定义了 ManagerTree 类,用于管理树的相关操作,包括绘制树界面、处理鼠标点击事件等。

  5. 定义了 Element 类,表示游戏中的元素,包括动物、冰块、砖块等,以及绘制、移动这些元素的方法。

  6. 定义了 Board 类,表示游戏中的板子,包括剩余步数、任务板、过关成功、失败等板子,以及绘制、移动这些板子的方法。

  7. 定义了 Manager 类,用于管理游戏中的元素数组、绘制游戏界面、处理游戏逻辑等。

  8. Manager 类中,包含了许多游戏相关的参数和方法,如元素的移动、绘制任务板子、转换坐标等。

总体来说,这段代码实现了一个简单的消消乐游戏,其中包含了树界面、游戏界面、任务板等功能。每个类都承担了特定的功能,通过调用这些类和方法来实现游戏的各种操作。

👇👇👇 关注公众号,回复 “开心消消乐” 获取源码👇👇👇

二、功能展示

python小游戏源码,python,pygame,开发语言

👇👇👇 关注公众号,回复 “开心消消乐” 获取源码👇👇👇

python小游戏源码,python,pygame,开发语言

python小游戏源码,python,pygame,开发语言

👇👇👇 关注公众号,回复 “开心消消乐” 获取源码👇👇👇

python小游戏源码,python,pygame,开发语言
python小游戏源码,python,pygame,开发语言

👇👇👇 关注公众号,回复 “开心消消乐” 获取源码👇👇👇

三、代码展示

3.1 声音模块

class SoundPlay:
    game_bgm = "sound/GameSceneBGM.ogg"
    world_bgm = 'sound/WorldSceneBGM.ogg'
    eliminate = ('sound/eliminate1.ogg', 'sound/eliminate2.ogg', 'sound/eliminate3.ogg', 'sound/eliminate4.ogg',\
                 'sound/eliminate5.ogg')  # 消除声音
    score_level = ('sound/good.ogg', 'sound/great.ogg', 'sound/amazing.ogg', 'sound/excellent.ogg',\
                   'sound/unbelievable.ogg')   # 得分声音
    click = "sound/click.bubble.ogg"  # 点击选中声音
    board_sound = 'sound/board.ogg'   # 落板子声音
    click_button = 'sound/click_common_button.ogg'  # 点击按钮声音
    money_sound = 'sound/money.ogg'   # 点击银币声音
    ice_break = 'sound/ice_break.ogg'   # 冰消除声音

    def __init__(self, filename, loops=0):
        self.sound = pygame.mixer.Sound(filename)
        self.sound.play(loops)

👇👇👇 关注公众号,回复 “开心消消乐” 获取源码👇👇👇

3.2 关卡树


class Tree(pygame.sprite.Sprite):
    """树类"""
    tree = 'pic2/tree.png'     # 树
    fruit = 'pic2/fruit.png'   # 果子
    energy_num = 'pic2/energy_num.png'  # 精力
    money = 'pic2/money.png'   # 银币
    energy_buy = 'pic2/energy_buy.png'   # 购买精力
    x, y = 340, 510
    h = 90
    position = ([x, y], [x+50, y-25], [x+105, y-45], [x-5, y-h-5], [x+55, y-25-h+10], [x+105, y-45-h], \
                [x, y-h*2], [x+50+10, y-25-h*2-5], [x+105+25, y-45-h*2-14], [x+30, y-h*3-30])   # 果子坐标组
    energy_num_position = (15, 70)  # 精力坐标
    energy_buy_position = (250, 400)

    def __init__(self, icon, position):
        super().__init__()
        self.image = pygame.image.load(icon).convert_alpha()
        self.rect = self.image.get_rect()
        self.rect.bottomleft = position      # 左下角为坐标

    def draw(self, screen):
        screen.blit(self.image, self.rect)

👇👇👇 关注公众号,回复 “开心消消乐” 获取源码👇👇👇

3.3 元素类


class Element(pygame.sprite.Sprite):
    """ 元素类 """
    # 图标元组,包括6个小动物,
    animal = ('pic2/fox.png', 'pic2/bear.png', 'pic2/chick.png', 'pic2/eagle.png', 'pic2/frog.png', 'pic2/cow.png')
    ice = 'pic2/ice.png'  # 冰层
    brick = 'pic2/brick.png'  # 砖
    frame = 'pic2/frame.png'   # 选中框
    bling = ("pic2/bling1.png", "pic2/bling2.png", "pic2/bling3.png", "pic2/bling4.png", "pic2/bling5.png",\
             "pic2/bling6.png", "pic2/bling7.png", "pic2/bling8.png", "pic2/bling9.png")   # 消除动画

    ice_eli = ('pic2/ice0.png', 'pic2/ice1.png', 'pic2/ice2.png', 'pic2/ice3.png', 'pic2/ice4.png', 'pic2/ice5.png',\
               'pic2/ice6.png', 'pic2/ice7.png', 'pic2/ice8.png')    # 消除冰块动画

    # 得分图片
    score_level = ('pic2/good.png', 'pic2/great.png', 'pic2/amazing.png', 'pic2/excellent.png', 'pic2/unbelievable.png')
    none_animal = 'pic2/noneanimal.png'             # 无可消除小动物
    stop = 'pic2/exit.png'       # 暂停键
    stop_position = (20, 530)

    def __init__(self, icon, position):
        super().__init__()
        self.image = pygame.image.load(icon).convert_alpha()
        self.rect = self.image.get_rect()
        self.rect.topleft = position         # 左上角坐标
        self.speed = [0, 0]
        self.init_position = position

    def move(self, speed):
        self.speed = speed
        self.rect = self.rect.move(self.speed)
        if self.speed[0] != 0:    # 如果左右移动
            if abs(self.rect.left-self.init_position[0]) == self.rect[2]:
                self.init_position = self.rect.topleft
                self.speed = [0, 0]
        else:
            if abs(self.rect.top-self.init_position[1]) == self.rect[3]:
                self.init_position = self.rect.topleft
                self.speed = [0, 0]

    def draw(self, screen):
        screen.blit(self.image, self.rect)

👇👇👇 关注公众号,回复 “开心消消乐” 获取源码👇👇👇文章来源地址https://www.toymoban.com/news/detail-847249.html

到了这里,关于【python】python小游戏——开心消消乐(源码)【独一无二】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于 python 的德云消消乐益智小游戏设计论文+源码

    计科在读分享自己做过的课题设计作业 有意可私信了解 目录     第一章 引言 II 1.1 课题背景 1 1.2 目的和意义 1 1.3 国内外的发展现状 1 1.4 开发环境 1 第二章系统开发平台的阐述  2 2.1Python 之 pygame  2 2.2pygame 环境的要求 2 第三章总体设计  3 3.1 游戏流程概述 3 3.2 游戏总

    2024年01月17日
    浏览(59)
  • python小游戏 消消乐小游戏设计与实现

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 消消乐小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 利用python制作的

    2024年02月01日
    浏览(64)
  • Python消消乐小游戏(全代码分享)

    准备三张图片,分别命名为 三张照片和程序放在同一文件下,否则的话需要使用绝对路径引用。 我这里三张图片的样子为: 这个消消乐游戏的玩法很简单。游戏界面上会有一些方块,你需要通过交换相邻方块的位置,使得三个或三个以上相同颜色的方块连在一起。 请注意,

    2024年02月08日
    浏览(51)
  • 毕业设计 python消消乐小游戏

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 消消乐小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 项目获取: htt

    2024年02月21日
    浏览(50)
  • HTML小游戏19 —— html5版开心斗地主小游戏(附完整源码)

    💂 网站推荐:【神级源码资源网】【摸鱼小游戏】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 本节教程我会带大家使用 HTML 、CSS和 JS 来制作一个 html5版开心斗地主小游戏 🕹️ 本文

    2024年02月03日
    浏览(87)
  • 闲来无事整个“方块消消乐”小游戏

      在996是福报,“付费上班”的如今。身为信息化进程的一颗螺丝钉,每天的通勤时间要四十几分钟(仅仅是在地铁上哦),漫漫这时候回家路难免显得有点寂寞有点空虚。这时好学的人会说听听有声书,趁着下班时间提升自己。而我可要优雅的回应道:“老子搬了一天砖

    2024年02月16日
    浏览(56)
  • python小游戏 滑雪小游戏设计与实现 (源码)

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 滑雪小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 我们利用python制作

    2024年02月04日
    浏览(45)
  • Unity游戏源码分享-仿开心消消乐Match3Jewel

    Unity游戏源码分享-仿开心消消乐Match3Jewel     工程地址: https://download.csdn.net/download/Highning0007/88198762

    2024年02月13日
    浏览(37)
  • python小游戏毕设 扫雷小游戏设计与实现 (源码)

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 扫雷小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 项目获取: https:

    2024年02月06日
    浏览(42)
  • python小游戏毕设 2048小游戏设计与实现 (源码)

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 2048小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 项目获取: https://

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包