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读取json文件并将数据插入到mongodb的方法
Mar 23 Python
python中字典dict常用操作方法实例总结
Apr 04 Python
Python中用于去除空格的三个函数的使用小结
Apr 07 Python
常用python编程模板汇总
Feb 12 Python
Python字符串切片操作知识详解
Mar 28 Python
Python单例模式实例详解
Mar 01 Python
python ansible服务及剧本编写
Dec 29 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
python判断自身是否正在运行的方法
Aug 08 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
Django视图、传参和forms验证操作
Jul 15 Python
python批量修改文件名的示例
Sep 27 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
德生PL990的分析评价
2021/03/02 无线电
快速配置PHPMyAdmin方法
2008/06/05 PHP
php删除指定目录的方法
2015/04/03 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
详解jQuery选择器
2016/12/21 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
python实现随机密码字典生成器示例
2014/04/09 Python
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
python输出指定月份日历的方法
2015/04/23 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
门卫班长岗位职责
2013/12/15 职场文书
自我推荐信格式模板
2015/03/24 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
yolov5返回坐标的方法实例
2022/03/17 Python
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏