Pygame游戏实战二:疯狂打气球(考验你的反引力)
·
介绍模块
本游戏使用的是由Pycharm中的pygame模块来实现的,也可以在python中运行。通过Pygame制作一个接球游戏,来考验你的反应力。
最小开发框架
详情请看此文章:Pygame游戏模块介绍二:最小开发框架代码
Pygame和sys模块
import pygame # 制作游戏时要使用的模块
import sys # python的标准库,对内部各功能模块进行初始化创建,系统模块
random模块
需要在屏幕上随机生成气球的位置
from random import randint
详情请看此文章:Pygame游戏模块介绍一:random模块简介
相关功能
窗口尺寸改变
可以调节游戏屏幕的大小
self.setWindowTitle("疯狂打气球")
self.setGeometry(100, 100, 800, 600)
气球创建
创建气球图标
# 创建一个标签控件balloon,设置文本为"🎈",样式为字号36px,并设置其位置和大小。
# 然后将控件的mousePressEvent事件绑定到hit_balloon方法
self.balloon = QLabel(self)
self.balloon.setText("🎈")
self.balloon.setStyleSheet("font-size: 36px;")
self.balloon.setGeometry(400, 300, 50, 50)
self.balloon.mousePressEvent = self.hit_balloon
定时器
用于固定刷新屏幕上气球的位置
self.timer = QTimer()
self.timer.timeout.connect(self.update_game)
self.timer.start(1100)
鼠标控制
鼠标点击气球,在界面进行更新
def hit_balloon(self, event):
"""
在点击气球时更新得分,并调用update_score方法
:param event:
:return:
"""
self.score += 1
self.update_score()
界面内容显示
当每次点击气球时,更新分数,并实时递减设置的时间
def update_score(self):
"""
更新得分标签的文本
:return:
"""
self.label_score.setText(f"得分: {self.score}")
def update_time(self):
"""
更新剩余时间标签的文本
:return:
"""
self.label_time.setText(f"剩余时间: {self.time_remaining} 秒")
图片界面

图1 界面1

图2 界面2
疯狂打气球
扩展可添加功能
- 在界面设置时间和
- 在界面设置气球刷新时间
- 添加背景音乐
- 更改界面控件
源码获取
欢迎关注我的公众号:@AI算法与电子竞赛
硬性的标准其实限制不了无限可能的我们,所以啊!少年们加油吧!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)