Python-代码雨【附源码】

Python-代码雨

运行效果:实现的是动态的代码雨
在这里插入图片描述

import sys
import random
import pygame
from pygame.locals import *# 屏幕大小
WIDTH = 800
HEIGHT = 600
# 下落速度范围
SPEED = [15, 30]
# 字母大小范围
SIZE = [5, 30]
# CODE长度范围
LEN = [1, 8]# 随机生成一个颜色
def randomColor():return (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))# 随机生成一个速度
def randomSpeed():return random.randint(SPEED[0], SPEED[1])# 随机生成一个大小
def randomSize():return random.randint(SIZE[0], SIZE[1])# 随机生成一个长度
def randomLen():return random.randint(LEN[0], LEN[1])# 随机生成一个位置
def randomPos():return (random.randint(0, WIDTH), -20)# 随机生成一个字符串
def randomCode():return random.choice('lovelovelovelovelovelovelovelove')# 定义代码精灵类
class Code(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.font = pygame.font.Font('./font.ttf', randomSize())	# 随机字体大小self.speed = randomSpeed()			# 随机速度self.code = self.getCode()			# 随机长度self.image = self.font.render(self.code, True, randomColor())	# 使用已有的文本创建一个位图image,返回值为一个image  随机颜色self.image = pygame.transform.rotate(self.image, random.randint(87, 93))	# 讲图像随机旋转角度self.rect = self.image.get_rect()self.rect.topleft = randomPos()		# 随机位置def getCode(self):length = randomLen()code = ''for i in range(length):code += randomCode()return codedef update(self):self.rect = self.rect.move(0, self.speed)if self.rect.top > HEIGHT:self.kill()pygame.init()			# 初始函数,使用pygame的第一步
screen = pygame.display.set_mode((WIDTH, HEIGHT))	#生成主屏幕screen;第一个参数是屏幕大小
pygame.display.set_caption('代码雨')	# 窗口命名clock = pygame.time.Clock()					# 初始化一个clock对象
codesGroup = pygame.sprite.Group()			# 精灵组,一个简单的实体容器
while True:clock.tick(24)							# 控制游戏绘制的最大帧率为30for event in pygame.event.get():if event.type == QUIT:pygame.quit()sys.exit(0)screen.fill((0, 0, 0))						# 填充背景颜色codeobject = Code()codesGroup.add(codeobject)				# 添加精灵对象codesGroup.update()codesGroup.draw(screen)pygame.display.update()

注意: font.ttf文件关注+私信我发你

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/338946.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows启动MongoDB服务报错(错误 1053:服务没有及时响应启动或控制请求)

问题描述:修改MongoDB服务bin目录下的mongod.cfg,然后在任务管理器找到MongoDB服务-->右键-->点击【开始】,启动失败无提示: 右键点击任务管理器的MongoDB服务-->点击【打开服务】,跳转到服务页面-->找到M…

TypeScript进阶(二)深入理解装饰器

✨ 专栏介绍 TypeScript是一种由微软开发的开源编程语言,它是JavaScript的超集,意味着任何有效的JavaScript代码都是有效的TypeScript代码。TypeScript通过添加静态类型和其他特性来增强JavaScript,使其更适合大型项目和团队开发。 在TypeS…

第20集《佛法修学概要》

戊二、述义(三) 请大家打开讲义第五十一页,我们讲到实相的义理第三段。 (三)若人欲了知,三世一切佛,应观法界性,一切唯心造。 ——《华严经》—— 佛陀出世以后,看到…

C语言九九乘法表打印最全!

九九乘法表共 9 行 9 列,重点考察 for 循环的掌握情况。 适合刚学习C语言的同学来练习! 输出完整的三角形: 运行结果: 1*1 1 1*2 2 1*3 3 1*4 4 1*5 5 1*6 6 1*7 7 1*8 8 1*9 9 2*1 2 2*2 4 2*3 6 2*4 8 2*510 2*612 2*714…

了解结构体以及结构体数组

C语言的结构体你真的了解吗? 一起来看一下吧!!! 1.结构体是啥? 结构体是多种数据类型的组合体 2.格式(一般放在主函数前,也就是int main()前面 ) 关键字 结构体名字 {成员列表…

Linux 文件(夹)权限查看

命令 : ls -al ls -al 是一个用于列出指定目录下所有文件和子目录的命令,包括隐藏文件和详细信息。其中,-a 选项表示显示所有文件,包括以 . 开头的隐藏文件,-l 选项表示以列表的形式显示文件的详细信息。 本例中:drwxrwxr-x 为权限细节。 权限细节(Permission detail…

rke2 Online Deploy Rancher v2.8.0 latest (helm 在线部署 rancher v2.8.0)

文章目录 1. 简介2. 预备条件3. 安装 helm4. 安装 cert-manager4.1 yaml 安装4.2 helm 安装 5. 安装 rancher6. 验证7. 界面预览 1. 简介 Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。 Rancher 可以创建来自 Kubernetes 托…

1.10 Unity中的数据存储 XML

一、XML 1.介绍 XML是一个文档后缀名是*.xmlXML是一个特殊格式的文档XML是可扩展的标记性语言XML是Extentsible Markup Language的缩 写XML是由万维网联盟(W3C)创建的标记语言,用于定义编码人类和机器可以读取的文档的语法。它通过使用定义文档结构的标签以及如何…

陶瓷碗口圆度检测案例-圆心定位与圆度检测

检测原理 从陶瓷外边界上面随机提取3个点,并以其行列位置为横纵坐标构造三对坐标点。利用此三点可确定三角形外心。公式计算如下: x0和y0为圆心的位置坐标,为标准圆的半径。 在实际中,存在以下两种情况会导致上述算法无法准确计…

MySQL 从零开始:02 MySQL 安装

文章目录 1、下载 MySQL 安装程序2、安装 MySQL 要操作 MySQL ,首先要安装 MySQL ,本文将一步步展示如何安装 MySQL,简直详细到令人发指。 环境: 操作系统:Windows10 64位MySQL版本:社区版 8.0.11.0 1、下…

办公自动应用,HR大屏可视化模板

大家可以进行资料下载。 完整的案例。 AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作 PowerBI 商业智能 68集 数据库Mysql 8.0 54集 数据库Oracle 21C 142集 Office 2021实战应用 Python 数据分析实战, ETL Informatica 数据仓库案例实战 Excel 2021实操 100集&a…

C++面试宝典第18题:旋转数组

题目 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。要求如下: (1)尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 (2)使用时间复杂度为O(n)和空间复杂度为O(1)的原地算法解决这个问题。 示例 1: 输入: [1, 2, 3, 4, 5, 6, 7] 和 k…