python+pygame实现代码雨(黑客帝国既视感)

时间:2021-05-22

本文主要介绍了python+pygame实现代码雨,分享给大家,具体如下:

效果:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/12/29 12:34# @Author : huni# @File : 代码雨.py# @Software: PyCharmimport randomimport pygamePANEL_width = 1600PANEL_highly = 1000FONT_PX = 15pygame.init()# 创建一个可是窗口winSur = pygame.display.set_mode((PANEL_width, PANEL_highly))font = pygame.font.SysFont("123.ttf", 25)bg_suface = pygame.Surface((PANEL_width, PANEL_highly), flags=pygame.SRCALPHA)pygame.Surface.convert(bg_suface)bg_suface.fill(pygame.Color(0, 0, 0, 28))winSur.fill((0, 0, 0))# 数字版# texts = [font.render(str(i), True, (0, 255, 0)) for i in range(10)]#texts = [ #font.render(str(letter[i]), True, (0, 255, 0)) for i in range(26)#]# 字母版letter = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm']texts = [ font.render(str(letter[i]), True, (0, 255, 0)) for i in range(26)]texts = [font.render(str(i), True, (0, 255, 0)) for i in range(2)]# 按屏幕的宽带计算可以在画板上放几列坐标并生成一个列表column = int(PANEL_width / FONT_PX)drops = [0 for i in range(column)]while True: # 从队列中获取事件 for event in pygame.event.get(): if event.type == pygame.QUIT: exit() elif event.type == pygame.KEYDOWN: chang = pygame.key.get_pressed() if (chang[32]): exit() # 将暂停一段给定的毫秒数 pygame.time.delay(40) # 重新编辑图像第二个参数是坐上角坐标 winSur.blit(bg_suface, (0, 0)) for i in range(len(drops)): text = random.choice(texts) # 重新编辑每个坐标点的图像 winSur.blit(text, (i * FONT_PX, drops[i] * FONT_PX)) drops[i] += 1 if drops[i] * 10 > PANEL_highly or random.random() > 0.95: drops[i] = 0 pygame.display.flip()

到此这篇关于python+pygame实现代码雨(黑客帝国既视感)的文章就介绍到这了,更多相关pygame 代码雨 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章