小屌丝:鱼哥,你看这个。
小鱼:嗯,不错哦, 挺好看的。
小屌丝:嗯,既然这么好看那你能不能帮我搞一个这个?
小鱼:你这不是都有了,还要咋搞?
小屌丝:我想要实现的代码啊
小鱼:这个动图谁给你的啊, 你问他要哦。
小屌丝:我在网上随便找的动图,看着挺不错,就想着让你帮忙实现。
小鱼:… 你这是那我练手呢?
小屌丝:没有啊,我就是觉得天冷了,应该去泡个澡。
小鱼:… 这个理由,我无法反驳。
小屌丝:嘿嘿,快点,整完咱俩早点去,听说新增泰式的哦。
小鱼:…
因为PyGame是三方库,所以,要使用的话,需要安装,老规矩, 先pip 方式安装:
pip install pygame
其余安装方式,可以参照这两篇:
# -*- 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
运行结果
缤纷彩色气球
其实,实现方式 不仅仅是 pygame这个库的调用,还有Turtle 也可以实现的。
如果对Turtle了解的不多, 那么可以看看小鱼的这篇博文:
我是小鱼:
关注小鱼,带你学习更多更专业更前言的人工智能相关技术。