Python中怎么用Pygame实现欢乐打地鼠游戏
发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,这篇"Python中怎么用Pygame实现欢乐打地鼠游戏"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我
千家信息网最后更新 2025年02月11日Python中怎么用Pygame实现欢乐打地鼠游戏
这篇"Python中怎么用Pygame实现欢乐打地鼠游戏"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Python中怎么用Pygame实现欢乐打地鼠游戏"文章吧。
游戏规则:
击中一个积一分,规定时间内打中几个就是几个,逃离几个就是几个都有专门的记录。游戏初始设
定是30秒,可自己设置时间的哈,打中的越多越好, 还可以跟小伙伴儿比赛。
一、准备中
1)素材准备(音乐+背景+图标等)
这些都是可以自己进行修改的啦!其实随便修改下图片素材就可以成为一款新游戏的啦!比如平底
锅打灰太狼:
再比如猫抓老鼠等很简单的啦!换掉地鼠的图案,然后锤子换成平底锅嘛~
二、环境安装
本文涉及的环境:Python3、Pycharm、Pygame、Pyqt5以及部分自带模块。
模块安装:大家习惯使用什么用什么,使用镜像源安装更快速不容易报错。
pip install +模块名
或带豆瓣镜像源 pip install -i https://pypi.douban.com/simple/ +模块名
三、开始敲代码
1)导入模块
import sysimport osfrom PyQt5 import QtCorefrom PyQt5 import QtWidgetsfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtSql import QSqlDatabase, QSqlQueryimport randomimport pygame
2)不同的图片设置
运行代码出的地鼠图片、被砸之后的地鼠,然后砸下去、 没砸下去的锤子图片分别是不一样的状态。
class virus(QPushButton): def __init__(self, parent=None): super().__init__(parent) self.setFixedSize(160, 120) # self.resize(40, 30) self.setStyleSheet("QPushButton{border-image: url(sucai/地洞2.png)}") # 地洞 self.upTime = QTimer() self.upTime.timeout.connect(self.up) def kill(self): try: if self.flag == 1: self.setStyleSheet("QPushButton{border-image: url(sucai/killvirus2.png)}") # 被砸 global score score += 1 self.flag = 0 except: pass def mousePressEvent(self, event): self.setCursor(QCursor(QPixmap(r"sucai/down.png"))) self.upTime.start(100) self.kill() def up(self): self.setCursor(QCursor(QPixmap(r"sucai/up.png")))
3)界面头标、标题等。
class TopWindow(QWidget): def __init__(self, parent=None): super().__init__(parent) self.virusnum = 0 self.setWindowTitle("消灭地鼠小游戏") self.setWindowIcon(QIcon(r'sucai/图标.jpg')) self.timer = QTimer() # 全局计时器 self.timer.timeout.connect(self.gameover) # 结束时调用 self.virustimer = QTimer() # 出现时间计时器 self.virustimer.timeout.connect(self.virusactive) self.remaintimer = QTimer() # 剩余时间计时器 self.remaintimer.timeout.connect(self.remainTimeshow) self.virusSign = None self.user = None global score score = 0
4)音乐设置
运行代码即可有背景音乐、还可以点击暂停、静音等等。
# 播放音乐 pygame.init() pygame.mixer.music.load(r"sucai/Game.mp3") pygame.mixer.music.play() def handle_music_button(self): btn = self.sender() if btn is not None: text = btn.text() if text == "音乐????": btn.setText("静音????") pygame.mixer.music.pause() else: btn.setText("音乐????") pygame.mixer.music.unpause()
5)右侧窗口控件不同的按钮设置
# 右侧固定窗口内控件 self.settingslayout = QGridLayout() # 网格布局 self.settingsWidget = QWidget() self.settingsWidget.setFixedSize(80, 350) self.imagelayout.addWidget(self.settingsWidget, 0, 5, 1, 5) self.settingsWidget.setLayout(self.settingslayout) # self.startPushButton = QPushButton("开始游戏") self.startPushButton = QtWidgets.QPushButton(text="开始游戏", clicked=self.handle_play_button) self.startPushButton.setFixedSize(80, 40) # self.startPushButton.clicked.connect(self.gamestart) # 绑定信号 self.textBrowser = QTextBrowser() self.textBrowser.setText('游戏未开始') self.textBrowser.setFixedSize(70, 40) self.killBrowser = QTextBrowser() self.killBrowser.setText('消灭地鼠数:0') self.killBrowser.setFixedSize(70, 50) self.escapeBrowser = QTextBrowser() self.escapeBrowser.setText('逃离地鼠数:0') self.escapeBrowser.setFixedSize(70, 50) self.remaintimeText = QTextBrowser() self.remaintimeText.setText('剩余时间:\n30s') self.remaintimeText.setFixedSize(70, 55) self.endPushButton = QPushButton("结束游戏") self.endPushButton.setFixedSize(80, 40) self.endPushButton.clicked.connect(self.gameover) self.pauseMusicButton = QtWidgets.QPushButton(text="音乐????", clicked=self.handle_music_button) self.pauseMusicButton.setFixedSize(80, 40) self.settingslayout.addWidget(self.startPushButton, 0, 0) self.settingslayout.addWidget(self.textBrowser, 1, 0) self.settingslayout.addWidget(self.killBrowser, 2, 0) self.settingslayout.addWidget(self.escapeBrowser, 3, 0) self.settingslayout.addWidget(self.remaintimeText, 4, 0) # self.settingslayout.addWidget(self.endPushButton, 5, 0) self.settingslayout.addWidget(self.pauseMusicButton, 6, 0)
四、效果展示
可能是图片的素材找的不是很好!所以看起来框框是界限分明的!自行优化哈~
Part 1 界面初始化
Part 2 点击游戏开始按钮
倒计时开始——没打中
Part 3 打中地鼠
以上就是关于"Python中怎么用Pygame实现欢乐打地鼠游戏"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
地鼠
音乐
内容
图片
时间
模块
欢乐
代码
就是
素材
计时器
不同
右侧
图标
地洞
平底锅
按钮
控件
文章
环境
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
app三公软件开发
洛克王国世界服务器
思迅专卖店能连接数据库吗
黑龙江三本计算机网络技术
金融业网络安全宣传报告
网路 java 软件开发
微信小程序云数据库读取
各种软件开发的时间
jquery中取出数据库
网络安全英语宣传段子
简单的网络安全手抄报内容
贵州省公司软件开发公司
合肥各大银行软件开发待遇
网络技术促进教育发展
数据库给索引改名语句
800字网络安全心得
s版服务器和普通系统的区别
学会数据库没找到工作
东方财富软件开发面试
如何更换机房服务器
军事网络安全保护由谁决定
ssh实验数据库登录
网络安全手抄报的子
互联网科技领航员
数据库表怎么保证一对一
网络安全的诠释
代理佣金数据库设计
网络安全与实用技术哪个好
黑龙江信驰网络技术发展有限公司
怎么设置两个表同步数据库