用户:
文启恒查看:0 回复:1 评论:0 创建时间:2023-03-18T21:49:22
【作品展示】

【作品介绍】
一个类似黑客帝国的编程作品
【作品源代码】
#数字炮弹
import pygame # 导入游戏库
import random # 导入随机库
pygame.init() # 初始化游戏
#初始化跳过登录
机会=10 #机会为10
密码='p876978' #密码为p876978
账号='wenqiheng' #账号为wenqiheng
while True: #无限循环
s=input('账号:') #询问账号
s1=input('密码:') #询问密码
if s==账号 and s1==密码: #如果账号和密码与设定一样
print('登录成功') #登录成功
机会=10 #设置机会为10
break
else: #否则
print('账号或密码错误') #账号或密码错误
机会=机会-1 #机会-1
if 机会==3: #如果机会等于3
print('您还剩3次机会') #您还有3次机会
elif 机会==2: #如果机会等于2
print('您还剩2次机会') #您还有2次机会
elif 机会==1: #如果机会等于1
print('您还剩1次机会') #您还有1次机会
elif 机会==0: #如果机会等于0
print('错误,无法登录') #错误,无法登录
break #终止循环
#面向对象(初始化)
screen = pygame.display.set_mode((1000, 600)) # 设置屏幕尺寸 (())表示元组 255
pygame.display.set_caption('科技代码') # 作品标题
font = pygame.font.SysFont('Simhei', 22) # 设置字体
screen.fill((0, 0, 0)) # RGB 0 0 0
char_size = 15 # 间距
column = int(1000/char_size) # 最大屏幕尺寸 除 间距 有多少列
drops = [0 for i in range(column)] # 0这个数字再每一列进行显示遍历
#生成字母
# 在Unicode(万国码)中找到对应位置 生成字母(26个大小写英文字母,生成列表)
letter = [chr(i) for i in range(48,123)]
#创建26个字母 提供("txt",字体反锯齿,绿色)
texts = [font.render(str(letter[i]), True, (0, 255, 0))for i in range(10)]
#显示文字参数
bg_surface = pygame.Surface((1000, 1000), flags=pygame.SRCALPHA)
#逐渐透明化(上面)
pygame.Surface.convert(bg_surface)
bg_surface.fill(pygame.Color(0,0,0,30)) #设置背景对象的颜色以及透明程度
#初始化结束
while True:
for event in pygame.event.get(): #获取信息
if event.type==pygame.QUIT: #按右上角退出
exit() #退出程序
pygame.time.delay(30) #屏幕刷新
screen.blit(bg_surface,(0,0)) #blit()对象中显示另一个对象 在screen中显示bg_surface这个对象 显示坐标0,0左上角开始
for i in range(column): #循环多少列
text=random.choice(texts) #choice() 在一个序列中进行随机抽选 A——z
screen.blit(text,(i*char_size,drops[i]*char_size)) #抽选完后,在屏幕这个对象中显示文本(横坐标,列坐标)
drops[i]+=1 #每次数值增加1从而让字母进行显示
#文字掉到底部,或者有5%的几率回到顶部
if drops[i]*char_size>600 or random.random()>0.95:
#如果我的循环列超过了600或者随机数字大于0.95
drops[i]=0 #将列进行重置 回到舞台最上方进行显示
pygame.display.flip() #游戏库中显示对象flip()局部刷新
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn