猫史档案馆


【Python作品分享】代码(类黑客帝国)

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


【作品展示】

center_image

 

【作品介绍】

一个类似黑客帝国的编程作品

 

【作品源代码】

#数字炮弹
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


回复

上一页1 页 / 共 1下一页
GcehuryGcehury

喵d

点赞0


评论