生日快乐python——pygame

这篇文章展示了如何利用Python的pygame库创建一个带有动态文字和随机颜色的生日祝福动画。程序在主循环中处理事件,包括退出游戏的条件,并控制文字的显示位置和颜色。
摘要由CSDN通过智能技术生成
import pygame
import sys
from pygame.locals import*
import random
import time
# 初始化
pygame.init()
screen = pygame.display.set_mode((500, 500))
pygame.display.set_caption("祝你生日快乐")
font = pygame.font.Font("yangrendong.ttf", 50)
pygame.mixer.music.load("生日快乐.mp3")
pygame.mixer.music.set_volume(0.2)
pygame.mixer.music.play(-1)
screen.fill((250, 248, 236))
pygame.display.update()
s = "嗨,某某某:今天是你的11岁生日,转眼之间,我们已经认识4年了。祝你生日快乐,平平安安。新的一岁,新的开始,一起加油吧!                                                                     "
flag = 0

# 主循环
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            screen.fill((250, 248, 236))
            font = pygame.font.Font("yangrendong.ttf", 50)
            text = font.render("生日快乐!", True, (255, 0, 0), (250, 248, 236))
            screen.blit(text, (160, 200))
            pygame.display.update()
            pygame.time.wait(2000)
            pygame.quit()
            sys.exit()
        pos = [0,0]
        if flag == 0:
            for i in range(6):
                for things in pygame.event.get():
                    if things.type == pygame.QUIT:
                        screen.fill((250, 248, 236))
                        font = pygame.font.Font("yangrendong.ttf", 50)
                        text = font.render("生日快乐!", True, (255, 0, 0), (250, 248, 236))
                        screen.blit(text, (160, 200))
                        pygame.display.update()
                        pygame.time.wait(2000)
                        pygame.quit()
                        sys.exit()
                font = pygame.font.Font("yangrendong.ttf", 25)
                text = font.render(s[i], True, (random.randint(0,230),random.randint(0,230),random.randint(0,230)),(250, 248, 236))
                screen.blit(text, (pos[0],pos[1]))
                pygame.display.update()
                pygame.time.wait(250)
                pos[0] += 50
                flag = 1
        
            pos[0] = 0
            pos[1] = 25
            for i in range(7):
                for j in range(10):
                    for things in pygame.event.get():
                        if things.type == pygame.QUIT:
                            screen.fill((250, 248, 236))
                            font = pygame.font.Font("yangrendong.ttf", 50)
                            text = font.render("生日快乐!", True, (random.randint(0,230),random.randint(0,230),random.randint(0,230)), (250, 248, 236))
                            screen.blit(text, (160, 200))
                            pygame.display.update()
                            pygame.time.wait(2000)
                            pygame.quit()
                            sys.exit()
                    font = pygame.font.Font("yangrendong.ttf", 25)
                    text = font.render(s[i*10+j + 6], True, (random.randint(0,230),random.randint(0,230),random.randint(0,230)),(250, 248, 236))
                    screen.blit(text, (pos[0],pos[1]))
                    pos[0] += 50
                    pygame.display.update()
                    pygame.time.wait(250)
                pos[1] += 50
                pos[0] = 0
                flag = 1
        

        pygame.display.update()  # 更新
         



编辑不易,求个点赞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以帮您写一个简单的生日快乐动画,使用Python turtle模块。 下面是代码: ```python import turtle import time # 设置画笔和窗口大小 turtle.setup(800, 600) turtle.pensize(10) # 绘制生日快乐字体 turtle.color("red") turtle.penup() turtle.goto(-200, 0) turtle.pendown() turtle.write("Happy Birthday!", font=("Arial", 40, "bold")) # 绘制蛋糕 turtle.color("pink") turtle.penup() turtle.goto(-150, -100) turtle.pendown() turtle.begin_fill() turtle.forward(300) turtle.left(90) turtle.forward(200) turtle.left(90) turtle.forward(300) turtle.left(90) turtle.forward(200) turtle.end_fill() # 绘制蜡烛 turtle.color("yellow") turtle.penup() turtle.goto(100, 100) turtle.pendown() turtle.fillcolor("yellow") turtle.begin_fill() turtle.circle(20) turtle.end_fill() # 绘制火焰 turtle.color("red") turtle.penup() turtle.goto(100, 120) turtle.pendown() turtle.pensize(5) turtle.circle(10) # 点燃火焰 for i in range(10): turtle.pensize(i + 1) turtle.color("yellow") turtle.circle(10 + i) # 祝福语 turtle.penup() turtle.goto(-200, -200) turtle.pendown() turtle.color("purple") turtle.write("Best wishes for you!", font=("Arial", 30, "bold")) turtle.hideturtle() time.sleep(5) # 显示 5 秒钟 ``` 这段代码会绘制一个生日蛋糕,并在上面点燃一根蜡烛。当蜡烛点燃时,火焰会逐渐变大。最后,程序会在画布上显示祝福语,持续5秒钟。 您可以运行这段代码,然后在终端或命令行中输入 `python birthday_animation.py` 来运行它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值