目录
- 运行图片
- 代码
运行图片
代码
import pygame import random # 初始化Pygame pygame.init() php# 创建窗口 width, height = 800, 600 screen = pygame.display.set_mode((width, height)) pygame.display.set_caption('Christmas Tree') # 定义颜色 GREEN = (34, 139, 34) RED = (255, 0, 0) WHITE = (255, 255, 255) # 绘制圣诞树 def draw_christmas_tree(): triangle_height = 300 triangle_width = 200 # 绘制树干 pygame.draw.rect(screen, pygame.Color('brown'), (width // 2 - 25, height - 200, 50, 200)) # 绘制树冠 for i in range(triangle_height): pygame.draw.polygon(screen, GREEN, [(width // 2 - triangle_width // 2 - i, height - 50 - i), (width // 2 + triangle_width // 2 + i, height - 50 - i), (width // 2, height - 50 - i - triangle_height)]) # 随机生成雪花 def generate_snowflakes(): snowflakes = [] for _ in range(100): x = random.randint(0, width) y = random.randint(0, height) size = random.randint(1, 5) snowflakes.append((x, y, size)) return snowflakes # 绘制雪花 def draw_snowflakes(snowflakes): for flake in snowflakes: pygame.draw.circle(screen, WHITE, (flake[0], flake[1]), flake[2]) # 绘制圣诞老人 def drawandroid_santa(): santa_image = pygame.Surface((120, 120), pygame.SRCALPHA) # 头部和身体 pygame.draw.circle(santa_image, RED, (60, 60), 50) pygame.draw.polygon(santa_image, RED, [(0, 60), (120, 60), (60, 120)]) # 眼睛和嘴巴 pygame.draw.circle(santa_image, WHITE, (www.devze.com45, 45), 10) pygame.draw.circle(santa_image, WHITE, (75, 45), 10) pygame.draw.arc(santa_image, WHITE, (30, 45, 60, 60), 3.14 / 2, 3 * 3.14 / 2, 3) # 鼻子 pygame.draw.polygon(santa_image, pygame.Color('orange'), [(60, 50), (70, 70), (50, 70)]) # 胡须 pygame.draw.line(santa_image, WHITE, (55, 85), (20, 90), 2) pygame.draw.line(santa_image, WHITE, (65, 85), (100, 90), 2) # 帽子 pygame.draw.polygon(shttp://www.devze.comanta_image, RED, [(30, 0), (90, 0), (60, 60)]) screen.blit(santa_image, (width // 2 - 60, height - 200 - 120)) # 游戏主循环 running = True clock = pygame.time.Clock() snowflakes = generate_snowflakes() while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False screen.fill((0, 0, 0)) # 清空屏幕 draw_christmas_tree() draw_santa() draw_snowflakes(snowflakes) # 雪花下落 for i in range(len(snowflakes)): x, y, size = snowflakes[i] snowflakes[i] = (x, y + size, size) if y + size > height: snowflakes[i] = (random.randint(0, width), 0, size) pygame.display.flip() # 刷新屏幕 clock.tick(30) # 控制帧率 # 退出游戏 pygame.quit()
到此这篇关于利用python绘制动态圣诞下雪图的文章就介绍到这了,更多相关python动态圣诞下雪内容请搜索编程客栈(www.cppcns.编程com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论