序言

相信很多人都看过黑客帝国电影! 简单附几张图。

image

黑客帝国宣传片背景的代码雨,这就是我们今天要实现的效果;

快乐工作,娱乐学习;哈哈 !

开始之前,捋一下思路:

1、需要一个方形界面,这里选用pygame模块

2、根据图三,需要界面由上而下持续有数据块滑落

3、各个数据块滑落有时间差(有快有慢)、颜色渲染

需要安装一下pygame模块

安装指令:pip install pygame

第一步: 初始化布局,设置界面停留

注释写的很详细,有不懂的可以下方随时咨询我

import pygame

from pygame.locals import *

SCREEN_WIDTH = 1000 # 窗口的宽度

SCREEN_HEIGHT = 650 # 窗口的高度

FREQUENCE = 50 # 频率

# 初始化

pygame.init()

# 设置窗口组件大小及位置

screen = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))

# 窗口标题

pygame.display.set_caption("逻辑Tony的黑客帝国 ^_^ ")

# 创建计时器对象 -> 可以控制游戏循环的频率

clock = pygame.time.Clock()

# 精灵 -> 可以看成是一个容器

group = pygame.sprite.Group()

group_count = SCREEN_WIDTH // FONT_SIZE

# 循环 -> 意味着游戏的正式开始!也意味着让程序长时间停留至界面

while True :

# 指定循环频率 -> 每秒循环50次

time = clock.tick(FREQUENCE)

# 监听用户事件

for event in pygame.event.get() :

# 判断用户是否点击了关闭按钮

if event.type == QUIT :

# 退出

pygame.quit()

# 终止当前正在执行的Python程序

exit()

# 更新屏幕显示

pygame.display.update()

image

第二步:自定义精灵类,向屏幕传输数据

FONT_NAME = "corbel"

# 字体大小

FONT_SIZE = 25

class Word(pygame.sprite.Sprite):

def __init__(self, bornposition):

pygame.sprite.Sprite.__init__(self)

self.value = randomvalue()

# 加载系统默认字体

self.font = pygame.font.SysFont(FONT_NAME, FONT_SIZE)

# 传输到屏幕

self.img = self.font.render(str(self.value), True, randomcolor())

self.speed = randomspeed()

# 获取大小 设置速度

self.rect = self.img.get_rect()

# 设置显示的位置为左上角

self.rect.topleft = bornposition

def update(self):

# 将对象进行移动

self.rect = self.rect.move(0, self.speed)

# 如果移动太远 大于 窗口高度

if self.rect.top > SCREEN_HEIGHT:

# 删除

self.kill()

以下为系统默认的全部字体,大家可自行选择

image

第三步:设置窗口元素、字体颜色、数据下落速度

from random import randint

import random

# 代码下落速度

LOW_SPEED = 5

HIGH_SPEED = 10

# 随机颜色

def randomcolor():

# 转换颜色

return (randint(0,255),randint(0,255),randint(0,255))

# 随机速度

def randomspeed():

return randint(LOW_SPEED, HIGH_SPEED)

# 随机名字

def randomoname():

# 序列

array = ["T","o","n","y"]

# 随机选取一个元素

return random.choice(array)

第四步: 调用、窗口精灵绘制

for i in range(0,group_count) :

group.add(Word((i * FONT_SIZE,-FONT_SIZE)))

group.update()

# 绘制帧

group.draw(screen)

效果展示:

五彩缤纷:

image

代码绿:

image

在这个浮躁的时代;竟然还有人能坚持篇篇原创;

如果本文对你学习有所帮助-可以点赞

python黑客帝国教学_Python黑科技01-实现黑客帝国电影程序版相关推荐

  1. python表白神器_Python 黑科技 - 表白神器

    Python黑科技 调用 调用 tkinter 和 PIL from tkinter import * #_all_=[a,b] from PIL import ImageTk, Image 主界面 ...

  2. 极狐阿尔法s 鸿蒙系统,满身黑科技 极狐阿尔法S HI版量产验证车下线

    原标题:满身"黑科技" 极狐阿尔法S HI版量产验证车下线 5月26日,网通社从官方获悉,ARCFOX极狐与华为合作打造的阿尔法S HI版首台量产验证车,在北汽蓝谷麦格纳镇江工厂正 ...

  3. python可以实现什么黑科技_Python黑科技之元类

    Python中的类 在理解元类之前,你需要了解Python中的类.Python中的类借鉴自Smalltalk. 在大多数编程语言中,类只是描述对象生成方式的一段代码,在Python里面看起来也是这样. ...

  4. 7个黑科技十足的微信小程序,每一个都能让你念念不舍!

    微信上最为出名的想必就最为小程序了!基本上与现有的软件也就相差毫几,有些人为了免下软件几乎都用上了,那为什么有那么多人都钟爱于小程序呢?其关键原因就是方便,只要用微信一个软件,就可以随意使用任何小程序 ...

  5. 投票源码程序_2020年老板们不可不知的黑科技磐中槃小程序

    随着互联网的飞速发展,小程序已成最热门的话题. 在过去的2019年,小程序无疑是最热门的领域.互联网大咖百度.腾讯.阿里巴巴.字节跳动都分别推出了小程序项目.不少参会的业内人士认为,在网络基础设施进一 ...

  6. python 网络编程_Python网络编程(原书第2版)

    Python网络编程(原书第2版) 作者:(美)埃里克·周(Eric Chou) 著 出版日期:2019年06月 文件大小:54.50M 支持设备: ¥68.00 适用客户端: 言商书局 iPad/i ...

  7. python 执行ping命令_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!...

    有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管理 Windows10操作系统的开 ...

  8. 远程连接电脑_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!

    有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器. 准备工作 本程序主要是实现远程管理 Windows10操作系统的开 ...

  9. python搭建视频网站_Python黑科技 | 一步一步教你如何搭建自己的视频聚合站

    前言 作为一个炉石传说玩家,经常有事没事开着直播网站看看大神们的精彩表演.不过因为各个平台互相挖人的关系,导致关注的一些主播分散到了各个直播平台,来回切换有点麻烦,所以萌生了做一个视频聚合站的想法. ...

最新文章

  1. python 字典_Python数据结构:字典那些事儿
  2. 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)
  3. DedeCMS Wap.php绑定域名的方法
  4. 树莓派:外设开发编程,控制继电器
  5. 多个Spring Boot项目部署在一个Tomcat容器无法启动
  6. jetty9.x版本配置优化
  7. c++从入门到进阶--引用与常量
  8. 1001. A+B Format (20)---------------PAT开始
  9. 编程时程序无错却崩溃_人间真实:程序员的 60 个崩溃瞬间!
  10. SCAU_WeiShenWahle 之省赛任务
  11. java split空值也保留_Java内存大家都知道,但你知道要怎么管理Java内存吗?
  12. 郑州大学校园网使用指南
  13. Unity渲染(四):Shader着色器基础入门之获取当前屏幕贴图
  14. vue 上传视频到保利威视
  15. 经典不等式链的一些拓展理解
  16. 创业圈的钱都去哪儿了?AI算法正帮Facebook成为大赢家
  17. 【低代码开发】智慧交管解决方案
  18. Java实现蓝桥杯勾股定理
  19. 区别辨析(选择)choose、select、elect、pick、prefer、opt
  20. 人死了后还有来生吗?

热门文章

  1. day180-2018-12-17-英语流利阅读-待学习
  2. 解决'utf-8' codec can't decode byte 0xf1 in position 9: invalid continuation byte的问题
  3. stream relocation truncated to fit
  4. CG-FX 风向传感器 聚碳 浅谈工作原理
  5. 商城模板网站html5手机端_手机商城网站建设该怎么设计
  6. [转载]2014年Windows平台软件推荐:神器小工具(骨灰级)
  7. linux 创建 at命令,一次性任务:at命令
  8. 车规电子-AEC-Q检测认证
  9. Mac系统随笔 | (3) Macbook 如何打开.rar文件
  10. 如何使用ping命令,检测外部网络(互联网)连接是否正常?