Python3,10行代码,写一个气球运行小游戏,再也不无聊了。

2023-12-18 13:49:15

1、引言

小屌丝:鱼哥,你看这个。
请添加图片描述

小鱼:嗯,不错哦, 挺好看的。
小屌丝:嗯,既然这么好看那你能不能帮我搞一个这个?
小鱼:你这不是都有了,还要咋搞?
小屌丝:我想要实现的代码啊
小鱼:这个动图谁给你的啊, 你问他要哦。
小屌丝:我在网上随便找的动图,看着挺不错,就想着让你帮忙实现。
小鱼:… 你这是那我练手呢?
小屌丝:没有啊,我就是觉得天冷了,应该去泡个澡。
小鱼:… 这个理由,我无法反驳。
小屌丝:嘿嘿,快点,整完咱俩早点去,听说新增泰式的哦。
小鱼:…
在这里插入图片描述

2、实战

2.1 安装

因为PyGame是三方库,所以,要使用的话,需要安装,老规矩, 先pip 方式安装:

pip install pygame

其余安装方式,可以参照这两篇:

2.2 示例

# -*- coding:utf-8 -*-
# @Time   : 2023-12-16
# @Author : Carl_DJ

'''
实现功能:
    使用pygame实现五彩气球
'''
import pygame
import random
import time

# 初始化pygame
pygame.init()

# 设置屏幕大小
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))

# 设置气球属性
ball_radius = 20
ball_speed = [2, 2]
ball_color = [random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)]

# 创建气球列表
balloons = []
for _ in range(25):  # 创建25个气球
    balloon = {
        "pos": [random.randint(10, screen_width - 10), random.randint(10, screen_height - 10)],  # 随机位置
        "vel": [random.randint(-1, 1), random.randint(-1, 1)]  # 随机速度
    }
    # 为每个气球随机生成一个颜色
    balloon["color"] = [random.randint(0,255), random.randint(0,255), random.randint(0,255)]
    balloons.append(balloon)

# 循环
running = True
# 设置运行时间 60秒
end_time = time.time() + 60
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
		# 如果当前时间 > end_time ,会关闭
        if time.time() > end_time :
            running = False
            break

    # 更新气球位置
    for balloon in balloons:
        balloon["pos"][0] += balloon["vel"][0] * ball_speed[0]  # x方向移动
        balloon["pos"][1] += balloon["vel"][1] * ball_speed[1]  # y方向移动

        # 检查是否超出屏幕边界,若超出则反弹
        if balloon["pos"][0] < ball_radius or balloon["pos"][0] > screen_width - ball_radius:
            balloon["vel"][0] = -balloon["vel"][0]  # x方向反弹

        if balloon["pos"][1] < ball_radius or balloon["pos"][0] > screen_width - ball_radius:

            balloon["vel"][1] = -balloon["vel"][1]  # y方向反弹

    # 清屏并绘制气球
    screen.fill((0, 0, 0))  # 清屏,填充黑色背景
    for balloon in balloons:
        pygame.draw.circle(screen, (balloon["color"]), balloon["pos"], ball_radius)  # 绘制气球,这里使用了球体颜色为随机颜色
    pygame.display.update()  # 更新屏幕显示内容

    pygame.time.Clock().tick(60)  # 设置帧率为60FPS

运行结果

缤纷彩色气球

3、总结

其实,实现方式 不仅仅是 pygame这个库的调用,还有Turtle 也可以实现的。
如果对Turtle了解的不多, 那么可以看看小鱼的这篇博文:

我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO博客专家
  • 51认证讲师等
  • 认证金牌面试官
  • 职场面试及培训规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)测评一、二等奖获得者

关注小鱼,带你学习更多更专业更前言的人工智能相关技术。

文章来源:https://blog.csdn.net/wuyoudeyuer/article/details/135013511
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。