Python 实现黑客帝国中的字符雨的示例代码


Posted in Python onFebruary 20, 2020

本教程很简单吧,除了复制代码之外,希望你也抽点时间去看下“注意”,教程很简单,有问题请留言

废话不多数,先上图

Python 实现黑客帝国中的字符雨的示例代码

注意

本项目中,需要用到文件库“pygame”,不会的小伙伴,可以参考我的PyCharm教程里面有详细的讲解如何添加库;对于没有字体ttf的小伙伴,也不必担心,可以去这个链接下载,完全能够满足你的平日使用需求;

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020.2
# @Author : 绿色羽毛
# @Email : lvseyumao@foxmail.com
# @Blog : https://blog.csdn.net/ViatorSun
# @Note : 类似"黑客帝国"中的代码雨效果


#导入系统文件库
import pygame
import random
from pygame.locals import *
from random import randint



#定义一些窗体参数及加载字体文件
SCREEN_WIDTH = 900   # 窗体宽度
SCREEN_HEIGHT = 600   # 窗体宽度
LOW_SPEED = 4    # 字体移动最低速度
HIGH_SPEED = 10    # 字体移动最快速度
FONT_COLOR = (00,150,00) # 字体颜色
FONT_SIZE = 5    # 字体尺寸
FONT_NOM = 20    # 显示字体数量 从0开始
FONT_NAME = "calibrii.ttf" # 注意字体的文件名必须与真实文件完全相同(注意ttf的大小写),且文件名不能是中文
FREQUENCE = 10    # 时间频度
times = 0     # 初始化时间


# 定义随机参数
def randomspeed() :
 return randint(LOW_SPEED,HIGH_SPEED)
def randomposition() :
 return randint(0,SCREEN_WIDTH),randint(0,SCREEN_HEIGHT)
def randomoname() :
 return randint(0,100000)
def randomvalue() :
 return randint(0,100)    # this is your own display number range


#class of sprite
class Word(pygame.sprite.Sprite) :
 def __init__(self,bornposition) :
  pygame.sprite.Sprite.__init__(self)
  self.value = randomvalue()
  self.font = pygame.font.Font(FONT_NAME,FONT_SIZE)
  self.image = self.font.render(str(self.value),True,FONT_COLOR)
  self.speed = randomspeed()
  self.rect = self.image.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()


#init the available modules
pygame.init()
screen = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))
pygame.display.set_caption("ViatorSun CodeRain")
clock = pygame.time.Clock()
group = pygame.sprite.Group()
group_count = int(SCREEN_WIDTH / FONT_NOM)


#mainloop
while True :
 time = clock.tick(FREQUENCE)
 for event in pygame.event.get() :
  if event.type == QUIT :
   pygame.quit()
   exit()

 screen.fill((0,0,0))
 for i in range(0,group_count) :
  group.add(Word((i * FONT_NOM,-FONT_NOM)))

 group.update()
 group.draw(screen)
 pygame.display.update()

到此这篇关于Python 实现黑客帝国中的字符雨的示例代码的文章就介绍到这了,更多相关Python 黑客帝国中的字符雨内容请搜素三水点靠木以前的文章或下面相关文章,希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 正则表达式入门(初级篇)
Dec 07 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
使用Python的turtle模块画图的方法
Nov 15 Python
Python基于TCP实现会聊天的小机器人功能示例
Apr 09 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
Jun 01 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
Python序列对象与String类型内置方法详解
Oct 22 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
keras 多任务多loss实例
Jun 22 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
Feb 03 Python
PyCharm 光标变成黑块的解决方式
Feb 06 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 #Python
Python OpenCV读取显示视频的方法示例
Feb 20 #Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 #Python
Django使用Celery加redis执行异步任务的实例内容
Feb 20 #Python
python logging.basicConfig不生效的原因及解决
Feb 20 #Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 #Python
python logging设置level失败的解决方法
Feb 19 #Python
You might like
PHP等比例压缩图片的实例代码
2018/07/26 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
js验证整数加保留小数点的简单实例
2013/12/02 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
python基础教程之五种数据类型详解
2017/01/12 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python可视化text()函数使用详解
2020/02/11 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
2020/11/05 Python
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
期中考试后的反思
2014/02/08 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
新教师培训心得体会
2014/09/02 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python