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通过线程实现定时器timer的方法
Mar 16 Python
在Docker上开始部署Python应用的教程
Apr 17 Python
用Python写一个无界面的2048小游戏
May 24 Python
Python3学习urllib的使用方法示例
Nov 29 Python
Python 读取指定文件夹下的所有图像方法
Apr 27 Python
django url到views参数传递的实例
Jul 19 Python
python绘图模块matplotlib示例详解
Jul 26 Python
python实现飞行棋游戏
Feb 05 Python
Python之变量类型和if判断方式
May 05 Python
Python中socket网络通信是干嘛的
May 27 Python
你需要学会的8个Python列表技巧
Jun 24 Python
python中Tkinter 窗口之输入框和文本框的实现
Apr 12 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获取服务器时间的实现代码
2013/06/07 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
javascript 页面划词搜索JS
2009/09/28 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python和php通信乱码问题解决方法
2014/04/15 Python
Python中的ctime()方法使用教程
2015/05/22 Python
Python Web框架Tornado运行和部署
2020/10/19 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
Python中的With语句的使用及原理
2020/07/29 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
英国最大的奢侈珠宝和手表网站:C W Sellors
2017/02/10 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
技术岗位竞聘演讲稿
2014/05/16 职场文书
捐款活动总结
2014/08/27 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
学生打架检讨书
2014/10/20 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
比赛主持人开场白
2015/05/29 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书