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实现代码雨效果相关推荐

  1. vbs代码炫酷效果_Python|实现黑客帝国代码雨效果

    Python|实现黑客帝国代码雨效果 估计大家都看过电影<黑客帝国>吧,片中的一段代码雨片段实在是炫酷,试想一下,片中的代码雨效果在自己电脑屏幕上实现了会是一种什么样的感觉,会不会有种身临 ...

  2. linux如何安装黑客帝国cmatrix代码雨效果

    linux如何安装黑客帝国cmatrix代码雨效果 cmatrix常用命令 cmatrix下载:安装包 具体步骤 源码安装cmatrix 创建/usr/local/temp目录 mkdir -p /u ...

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

    前言 刚刚有人找我要流星雨的代码 可惜了,我没有这个,所以我就来搞个代码雨吧 效果展示 应该很多人都看过这个的 也是无聊就拿出来发发 实现代码 模块准备 源码.点击领取即可 import random ...

  4. python画代码雨

    python实现屏幕代码雨 通过Python实现屏幕代码雨 python 版本 看不出来是2.x还是3.x的建议百度 根据情况调节屏幕大小 否则屏幕显示不下会报错 PANEL_width = 1000 ...

  5. python命令数字雨_用Python实现黑客帝国代码雨效果(3种方式)

    说起电影<黑客帝国>,相信大部分人都看过或听说过,影片中有一个场景数字雨,如果你看过电影的话,应该对这个经典场景印象深刻,本文我们利用 Python 以数字.字母.图片三种形式来实现这一效 ...

  6. python简单代码演示效果-用python画爱心及代码演示

    程序员在爱情方式上表达上展现的多种多样,其中现在大火的用编程去编写个表白内容,最受欢迎了,今天小编也尝试了下,一起来看看吧~ 准备工具:python3 画爱心实施步骤: 打开编译器,写上code,代码 ...

  7. 在python中、下列代码的输出是什么-关于下列python多线程代码输出效果的疑问?...

    这里需要加锁,标准输出是共享资源,大家都可以同时向屏幕写东西,所以可能混乱. 这里需要加入互斥锁,告诉别的线程,我现在要写,你们先别写,然后写完了告诉别的线程,我写完了,你们可以申请写了. loop ...

  8. python简单代码演示效果-10分钟教你用python 30行代码搞定简单手写识别!

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...

  9. python简单代码演示效果-Python Selenium的简单演示程序

    前面几篇介绍了下Selenium干什么用的,怎么安装Selenium和WebDriver,这篇就来个简单演示程序让它run起来,看代码领会精神是比较直接的. Python Selenium的运行原理 ...

  10. python黑客帝国代码雨特效

    效果: 代码: try: import pygame import sys from pygame.locals import * from random import randint except: ...

最新文章

  1. Oracle 11g sys,system 密码忘记设置解决办法
  2. leetcode83,删除有序链表中的重复元素
  3. 最长递增子序列(力扣)图解
  4. 初识计算机操作系统与进程
  5. MacOS新版本,不能装老版本Xcode
  6. Android兼容性测试应该怎么做逼格更高呢?
  7. 从傅里叶级数到拉普拉斯变换
  8. Excel如何安装VBA?
  9. 关键字查询 import keyword
  10. JavaScript实现贪吃蛇游戏
  11. .NET中XML 注释 SandCastle 帮助文件.hhp 使用HTML Help Workshop生成CHM文件
  12. 回想那天让我虎躯一震的bug:Mybatis Ognl引起的异常
  13. Java里用Frame框架写流星雨
  14. PS怎样把成图变成素描或者速写稿
  15. MFC+Halcon 真正实现图像缩放、平移
  16. linux的pstee命令安装与卸载
  17. 尖刀出鞘的display常用属性及css盒模型深入研究
  18. 网络java教学_Java基础教程——网络基础知识
  19. 基于sqlserver数据库的学生成绩管理系统
  20. c语言 位运算和位运算符

热门文章

  1. Windows操作系统管理进程和线程:内核模式和用户模式
  2. C语言程序设计学习总结
  3. 基于WebAssembly 的H.265播放器研发
  4. 【OpenCV】-算子(Sobel、Canny、Laplacian)学习
  5. PMP通关必备——知识地图全套(附PMBOK第七版)
  6. springcloud中文手册API
  7. android下最强的3款pdf阅读器测评
  8. matlab2016a最新安装教程
  9. TortoiseSVN-1.9.4-中文语言包-官方下载地址
  10. SSI与Biss、Endat、Hipeface