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 相关文章推荐
Tensorflow 查看变量的值方法
Jun 14 Python
获取python的list中含有重复值的index方法
Jun 27 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
python定义类self用法实例解析
Jan 22 Python
aws 通过boto3 python脚本打pach的实现方法
May 10 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
Nov 02 Python
Pycharm常用快捷键总结及配置方法
Nov 14 Python
彻底解决Python包下载慢问题
Nov 15 Python
Python3中的tuple函数知识点讲解
Jan 03 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 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实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Django实现whoosh搜索引擎使用jieba分词
2020/04/08 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
关于运动会的稿件
2014/02/02 职场文书
记账会计岗位职责
2014/06/16 职场文书
团队拓展活动总结
2014/08/27 职场文书
学习十八大演讲稿
2014/09/15 职场文书
个人对照检查剖析材料
2014/10/13 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
平安家庭事迹材料
2014/12/20 职场文书
2015年学雷锋活动总结
2015/02/06 职场文书
2015教师年度考核评语
2015/03/25 职场文书