Python实现代码雨效果
Python实现代码雨效果
main.py代码:
"""功能:代码雨效果作者:指尖魔法师QQ:14555110
"""
import pygame
import randomdef main():# 初始化pygamepygame.init()# 默认不全屏fullscreen = False# 窗口未全屏宽和高WIDTH, HEIGHT = 1100, 600init_width, init_height = WIDTH, HEIGHT# 字块大小,宽,高suface_height = 18# 字体大小font_size = 20# 创建一个窗口screen = pygame.display.set_mode((init_width, init_height))# 字体font = pygame.font.Font('msyh.ttf', font_size)# 创建一个图像对象bg_suface = pygame.Surface((init_width, init_height), flags=pygame.SRCALPHA)pygame.Surface.convert(bg_suface)bg_suface.fill(pygame.Color(0, 0, 0, 28))# 用纯色填充背景screen.fill((0, 0, 0))# 显示的字符letter = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c','v', 'b', 'n', 'm']texts = [font.render(str(letter[i]), True, (0, 255, 0)) for i in range(26)]# 也可以替换成0 1 显示# texts = [# font.render('0',True,(0,255,0)),font.render('1',True,(0,255,0))# ]# 生成的列数column = int(init_width / suface_height)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:# 按F11切换全屏,或窗口if event.key == pygame.K_F11:print("检测到按键F11")fullscreen = not fullscreenif fullscreen:# 全屏效果,参数重设size = init_width, init_height = pygame.display.list_modes()[0]screen = pygame.display.set_mode(size, pygame.FULLSCREEN | pygame.HWSURFACE)else:init_width, init_height = WIDTH, HEIGHTscreen = pygame.display.set_mode((WIDTH, HEIGHT))# 图像对象重新创建bg_suface = pygame.Surface((init_width, init_height), flags=pygame.SRCALPHA)pygame.Surface.convert(bg_suface)bg_suface.fill(pygame.Color(0, 0, 0, 28))column = int(init_width / suface_height)drops = [0 for i in range(column)]elif event.key == pygame.K_ESCAPE:# 按ESC退出exit()# 延时pygame.time.delay(30)# 图像对象放到窗口的原点坐标上screen.blit(bg_suface, (0, 0))for i in range(len(drops)):# 随机字符text = random.choice(texts)# 把字符画到该列的下雨的位置screen.blit(text, (i * suface_height, drops[i]*suface_height))# 更新下雨的坐标drops[i] += 1# 超过界面高度或随机数,下雨位置置0if drops[i] * suface_height > init_height or random.random() > 0.95:drops[i] = 0# 更新画面pygame.display.flip()if __name__ =='__main__':main()
代码链接:
github链接
运行界面:
Python实现代码雨效果相关推荐
- vbs代码炫酷效果_Python|实现黑客帝国代码雨效果
Python|实现黑客帝国代码雨效果 估计大家都看过电影<黑客帝国>吧,片中的一段代码雨片段实在是炫酷,试想一下,片中的代码雨效果在自己电脑屏幕上实现了会是一种什么样的感觉,会不会有种身临 ...
- linux如何安装黑客帝国cmatrix代码雨效果
linux如何安装黑客帝国cmatrix代码雨效果 cmatrix常用命令 cmatrix下载:安装包 具体步骤 源码安装cmatrix 创建/usr/local/temp目录 mkdir -p /u ...
- 有点无聊,来用Python制作代码雨
前言 刚刚有人找我要流星雨的代码 可惜了,我没有这个,所以我就来搞个代码雨吧 效果展示 应该很多人都看过这个的 也是无聊就拿出来发发 实现代码 模块准备 源码.点击领取即可 import random ...
- python画代码雨
python实现屏幕代码雨 通过Python实现屏幕代码雨 python 版本 看不出来是2.x还是3.x的建议百度 根据情况调节屏幕大小 否则屏幕显示不下会报错 PANEL_width = 1000 ...
- python命令数字雨_用Python实现黑客帝国代码雨效果(3种方式)
说起电影<黑客帝国>,相信大部分人都看过或听说过,影片中有一个场景数字雨,如果你看过电影的话,应该对这个经典场景印象深刻,本文我们利用 Python 以数字.字母.图片三种形式来实现这一效 ...
- python简单代码演示效果-用python画爱心及代码演示
程序员在爱情方式上表达上展现的多种多样,其中现在大火的用编程去编写个表白内容,最受欢迎了,今天小编也尝试了下,一起来看看吧~ 准备工具:python3 画爱心实施步骤: 打开编译器,写上code,代码 ...
- 在python中、下列代码的输出是什么-关于下列python多线程代码输出效果的疑问?...
这里需要加锁,标准输出是共享资源,大家都可以同时向屏幕写东西,所以可能混乱. 这里需要加入互斥锁,告诉别的线程,我现在要写,你们先别写,然后写完了告诉别的线程,我写完了,你们可以申请写了. loop ...
- python简单代码演示效果-10分钟教你用python 30行代码搞定简单手写识别!
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...
- python简单代码演示效果-Python Selenium的简单演示程序
前面几篇介绍了下Selenium干什么用的,怎么安装Selenium和WebDriver,这篇就来个简单演示程序让它run起来,看代码领会精神是比较直接的. Python Selenium的运行原理 ...
- python黑客帝国代码雨特效
效果: 代码: try: import pygame import sys from pygame.locals import * from random import randint except: ...
最新文章
- Oracle 11g sys,system 密码忘记设置解决办法
- leetcode83,删除有序链表中的重复元素
- 最长递增子序列(力扣)图解
- 初识计算机操作系统与进程
- MacOS新版本,不能装老版本Xcode
- Android兼容性测试应该怎么做逼格更高呢?
- 从傅里叶级数到拉普拉斯变换
- Excel如何安装VBA?
- 关键字查询 import keyword
- JavaScript实现贪吃蛇游戏
- .NET中XML 注释 SandCastle 帮助文件.hhp 使用HTML Help Workshop生成CHM文件
- 回想那天让我虎躯一震的bug:Mybatis Ognl引起的异常
- Java里用Frame框架写流星雨
- PS怎样把成图变成素描或者速写稿
- MFC+Halcon 真正实现图像缩放、平移
- linux的pstee命令安装与卸载
- 尖刀出鞘的display常用属性及css盒模型深入研究
- 网络java教学_Java基础教程——网络基础知识
- 基于sqlserver数据库的学生成绩管理系统
- c语言 位运算和位运算符