Python中怎么用Pygame实现欢乐打地鼠游戏
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇"Python中怎么用Pygame实现欢乐打地鼠游戏"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我
千家信息网最后更新 2024年11月23日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安全错误
数据库的锁怎样保障安全
华为云数据库同步工具
软件开发单位分析
宁夏互联网养老软件开发系统
一方出资金一方出人的软件开发
网络安全工作教程
数据库恢复日志
品牌网络技术服务品质保障
学软件开发能找工作吗
批量修改数据库一列
多级用户系统数据库
数据库需求分析是很么意思
辽宁省网络安全知识答题答案
a7c 数据库错误
网络技术运营商
数据库 多表联合 查询
网络安全媒介素养教育课程
mysql 数据库 非空
网络技术有限公司安平分公司
北京病例数据库
网络安全北大
写web服务器需要会html吗
网易版我的世界陨落服务器
数据库安全管理总结
网络安全手抄报参赛复杂
简历linux软件开发
学习网络安全网站
网络技术是由什么组成的
饭圈乱象 网络安全绘画
域名如何换服务器
城阳软件开发招聘