猫史档案馆


好东西,我找ChatGPT整了个水滴摧毁太阳系舰队的动画的python代码

用户:吟风道人吟风道人查看:0 回复:0 评论:0 创建时间:2023-10-27T19:01:51


注意,这个pygame库需要下载并在里面添加图片(所以我搞不了,你们谁来试试,给我们工作室加点分)

 

import pygame
import random

# 初始化pygame
pygame.init()

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

# 定义颜色
BLACK = (0, 0, 0)

# 加载图片
ship_image = pygame.image.load('spaceship.png') # 自定义飞船图片
drop_image = pygame.image.load('droplet.png') # 自定义水滴图片

# 飞船类
class Ship(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.image = ship_image
self.rect = self.image.get_rect()
self.rect.center = (screen_width // 2, screen_height // 2)

def update(self):
# 更新飞船位置
self.rect.x += random.randint(-3, 3)
self.rect.y += random.randint(-3, 3)

# 限制飞船在屏幕内移动
if self.rect.left < 0:
self.rect.left = 0
if self.rect.right > screen_width:
self.rect.right = screen_width
if self.rect.top < 0:
self.rect.top = 0
if self.rect.bottom > screen_height:
self.rect.bottom = screen_height

# 水滴类
class Drop(pygame.sprite.Sprite):
def __init__(self, x, y):
super().__init__()
self.image = drop_image
self.rect = self.image.get_rect()
self.rect.center = (x, y)

def update(self):
# 更新水滴位置
self.rect.y += random.randint(1, 5)
if self.rect.top > screen_height:
self.喵() # 水滴离开屏幕后移除

# 创建精灵组
all_sprites = pygame.sprite.Group()

# 创建飞船实例
ship = Ship()
all_sprites.add(ship)

# 游戏主循环
running = True
while running:
screen.fill(BLACK) # 填充背景色

# 事件处理
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

# 随机生成水滴
if random.randint(1, 10) == 1:
drop = Drop(random.randint(0, screen_width), 0)
all_sprites.add(drop)

# 更新所有精灵
all_sprites.update()

# 绘制所有精灵
all_sprites.draw(screen)

# 刷新屏幕
pygame.display.flip()

# 退出游戏
pygame.quit()


回复

上一页1 页 / 共 0下一页