编写一些简单的程序使桌面宠物能够自动响应用户的操作如移动改变形状来制作一款电脑桌面宠物
以下是一个简单的电脑桌面宠物程序,可以随机变换形状,响应用户的鼠标移动操作。
import pygame
import random
pygame.init()
# 窗口大小
size = (400, 400)
screen = pygame.display.set_mode(size)
# 宠物形状列表
shapes = [
pygame.image.load("shape1.png"),
pygame.image.load("shape2.png"),
pygame.image.load("shape3.png"),
]
# 随机选择一个形状
pet_shape = random.choice(shapes)
# 宠物位置
pet_pos = [100, 100]
# 宠物速度
pet_speed = [0, 0]
# 宠物移动范围
pet_range = pygame.Rect(0, 0, size[0]-pet_shape.get_width(), size[1]-pet_shape.get_height())
# 游戏循环
done = False
while not done:
# 事件处理
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
# 鼠标移动,改变宠物位置
elif event.type == pygame.MOUSEMOTION:
pet_pos[0] += event.rel[0]
pet_pos[1] += event.rel[1]
# 更新宠物位置
pet_pos[0] += pet_speed[0]
pet_pos[1] += pet_speed[1]
# 碰撞检测,避免宠物移出范围
if not pet_range.contains(pygame.Rect(pet_pos[0], pet_pos[1], pet_shape.get_width(), pet_shape.get_height())):
pet_speed[0] = -pet_speed[0]
pet_speed[1] = -pet_speed[1]
# 绘制背景和宠物
screen.fill((255, 255, 255))
screen.blit(pet_shape, pet_pos)
# 随机变换宠物形状
if random.randint(0, 100) < 1:
pet_shape = random.choice(shapes)
# 更新屏幕
pygame.display.flip()
# 退出游戏
pygame.quit()
注意,以上代码中使用了三个形状图片(shape1.png、shape2.png、shape3.png),需要事先准备好。
原文地址: https://www.cveoy.top/t/topic/qtI 著作权归作者所有。请勿转载和采集!