• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
历史人物费 显示全部楼层 发表于 2021-10-26 12:36:08 |阅读模式 打印 上一主题 下一主题
本文主要先容了python+pygame实当代码雨,分享给大家,详细如下:
结果:
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # @Time  : 2020/12/29 12:34
  4. # @Author : huni
  5. # @File  : 代码雨.py
  6. # @Software: PyCharm
  7. import random
  8. import pygame
  9. PANEL_width = 1600
  10. PANEL_highly = 1000
  11. FONT_PX = 15
  12. pygame.init()
  13. # 创建一个可是窗口
  14. winSur = pygame.display.set_mode((PANEL_width, PANEL_highly))
  15. font = pygame.font.SysFont("123.ttf", 25)
  16. bg_suface = pygame.Surface((PANEL_width, PANEL_highly), flags=pygame.SRCALPHA)
  17. pygame.Surface.convert(bg_suface)
  18. bg_suface.fill(pygame.Color(0, 0, 0, 28))
  19. winSur.fill((0, 0, 0))
  20. # 数字版
  21. # texts = [font.render(str(i), True, (0, 255, 0)) for i in range(10)]
  22. #texts = [
  23.   #font.render(str(letter[i]), True, (0, 255, 0)) for i in range(26)
  24. #]
  25. # 字母版
  26. letter = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c',
  27.      'v', 'b', 'n', 'm']
  28. texts = [
  29.   font.render(str(letter[i]), True, (0, 255, 0)) for i in range(26)
  30. ]
  31. texts = [font.render(str(i), True, (0, 255, 0)) for i in range(2)]
  32. # 按屏幕的宽带计算可以在画板上放几列坐标并生成一个列表
  33. column = int(PANEL_width / FONT_PX)
  34. drops = [0 for i in range(column)]
  35. while True:
  36.   # 从队列中获取事件
  37.   for event in pygame.event.get():
  38.     if event.type == pygame.QUIT:
  39.       exit()
  40.     elif event.type == pygame.KEYDOWN:
  41.       chang = pygame.key.get_pressed()
  42.       if (chang[32]):
  43.         exit()
  44.   # 将暂停一段给定的毫秒数
  45.   pygame.time.delay(40)
  46.   # 重新编辑图像第二个参数是坐上角坐标
  47.   winSur.blit(bg_suface, (0, 0))
  48.   for i in range(len(drops)):
  49.     text = random.choice(texts)
  50.     # 重新编辑每个坐标点的图像
  51.     winSur.blit(text, (i * FONT_PX, drops[i] * FONT_PX))
  52.     drops[i] += 1
  53.     if drops[i] * 10 > PANEL_highly or random.random() > 0.95:
  54.       drops[i] = 0
  55.   pygame.display.flip()
复制代码
到此这篇关于python+pygame实当代码雨(黑客帝国既视感)的文章就先容到这了,更多相关pygame 代码雨 内容请搜索草根技术分享以前的文章或继承浏览下面的相关文章希望大家以后多多支持草根技术分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作