首页 > python教程

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

时间:2020-07-28 python教程 查看: 1193

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

废话不多数,先上图

注意

本项目中,需要用到文件库“pygame”

# !/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博客!

展开全文
上一篇:Python argparse模块使用方法解析
下一篇:PyCharm 专业版安装图文教程
输入字:
相关知识
Python 实现图片色彩转换案例

我们在看动漫、影视作品中,当人物在回忆过程中,体现出来的画面一般都是黑白或者褐色的。本文将提供将图片色彩转为黑白或者褐色风格的案例详解,感兴趣的小伙伴可以了解一下。

python初学定义函数

这篇文章主要为大家介绍了python的定义函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助,希望能够给你带来帮助

图文详解Python如何导入自己编写的py文件

有时候自己写了一个py文件,想要把它导入到另一个py文件里面,所以下面这篇文章主要给大家介绍了关于Python如何导入自己编写的py文件的相关资料,需要的朋友可以参考下

python二分法查找实例代码

二分算法是一种效率比较高的查找算法,其输入的是一个有序的元素列表,如果查找元素包含在列表中,二分查找返回其位置,否则返回NONE,下面这篇文章主要给大家介绍了关于python二分法查找的相关资料,需要的朋友可以参考下