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} 秒")

图片界面

Pygame游戏实战二:疯狂打气球(考验你的反引力)_第1张图片

图1 界面1

Pygame游戏实战二:疯狂打气球(考验你的反引力)_第2张图片

图2 界面2 

疯狂打气球

扩展可添加功能

  1. 在界面设置时间和
  2. 在界面设置气球刷新时间
  3. 添加背景音乐
  4. 更改界面控件

源码获取

点击下面链接获取源码

我正在「AI高效率【工作、学习】」和朋友们讨论有趣的话题,你⼀起来吧?
https://t.zsxq.com/11KVfN0RC

公众号@AI宅玩貳号玩家 作者,一个靠AI助力学习与工作的痴迷实践者。全网粉丝2万+,连续不间断更新小白也能玩的AI,让你提前2小时下班。

星球上面有什么:
电子竞赛专栏、深度学习专栏、AI辅助学习专栏、AI工具变现专栏等

适合人群:
在校学生:希望我的经验可以帮助你解决你遇到问题,
开发人员:分享自己的经验,并且可以扩宽自己的道路,学习到更多的内容
希望用副业赚钱:我们有用AI变现的方式,可以帮助你实现用副业赚钱

硬性的标准其实限制不了无限可能的我们,所以啊!少年们加油吧!

你可能感兴趣的:(Pygame游戏制作,pygame,游戏,python)