有点无聊,来用Python制作代码雨

前言

刚刚有人找我要流星雨的代码

可惜了,我没有这个,所以我就来搞个代码雨吧

效果展示

应该很多人都看过这个的

也是无聊就拿出来发发
在这里插入图片描述

实现代码

模块准备

源码.点击领取即可

import random
import pygame

初始化参数设计

win_width = 1000
win_height = 800
font_px = 15

创建窗口及文本设计

pygame.init()
winsur = pygame.display.set_mode((win_width, win_height))
font = pygame.font.SysFont('', 23)
bg_suface = pygame.Surface((win_width, win_height), flags=pygame.SRCALPHA)
pygame.Surface.convert(bg_suface)
bg_suface.fill(pygame.Color(0, 0, 0, 28))
winsur.fill((0, 0, 0))

文本内容

letter = '1234567890!@#$%^&*qwertyuiopasdfghjklzxcvbnm'
texts = [font.render(letter[i], True, (0, 255, 0)) for i in range(44)]

显示设计

python学习交流Q群:309488165 ### 源码领取
column = int(win_width / font_px)
drops = [0 for i in range(column)]
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
        elif event.type == pygame.KEYDOWN:
            change = pygame.key.get_pressed()
            if change[32]:
                exit()

延时30

winsur.blit(bg_suface, (0, 0))
for i in range(len(drops)):
    text = random.choice(texts)
    winsur.blit(text, (i * font_px, drops[i] * font_px))
    drops[i] += 1
    if drops[i] * 10 > win_height or random.random() > 0.95:
        drops[i] = 0
pygame.display.flip()

最后

今天的分享到这里就结束了

顺便给大家推荐一些Python视频教程,希望对大家有所帮助:

Python零基础教学合集

对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/

猜你喜欢

转载自blog.csdn.net/Dangerous_li/article/details/128259102