python代码分享(代码:多功能整合件【有摩根密码】/西普大陆/超级对战/宝藏)(2)

没办法,不让太长,只能分两博

3(three)超级对战(Superfighters Deluxe)
按键:
退出可以直接按Esc
b键是全屏与非全屏切换
PC1 PC2
——————————————————
w i 5
asd jkl 上下左右 123
简介:我为什么要写这个,因为这个是我最喜欢的一个游戏,steam上的游戏,原价37,节假日优惠好像是15~37,我不知道。我超级喜欢这个游戏的肉搏系统,枪战喜欢度弱一些,我只写了肉搏的一部分,然而我发现pygame没有GPU加速功能,继续接下去没前途就弃坑了,呀嘞呀嘞

import pygame
import sys
import os
import time
pygame.init()
tubiao=pygame.image.load(r'./新建文件夹/chaojiduizhan1.png')
pygame.display.set_icon(tubiao)
os.environ['SDL_VIDEO_WINDOW_POS']='0,35'
#不行的话用[1920, 1000]
pinmu = pygame.display.set_mode(flags=pygame.FULLSCREEN|pygame.DOUBLEBUF|pygame.HWSURFACE)
pygame.display.set_caption('超级对战')
da=pygame.font.SysFont('SimHei',150)
zhong=pygame.font.SysFont('SimHei',80)
xiao=pygame.font.SysFont('SimHei',32)
atime=pygame.time.Clock()
pygame.mixer.music.load(r'./新建文件夹/雪人兄弟.mp3')
dadao = pygame.mixer.Sound(r'./新建文件夹/打到的声音.wav')
dabudao = pygame.mixer.Sound(r'./新建文件夹/打不到的声音.wav')
luodi = pygame.mixer.Sound(r'./新建文件夹/落地.wav')
j1hp=pygame.image.load(r'./新建文件夹/pc1jinentiao.png')
j2hp=pygame.image.load(r'./新建文件夹/pc2jinentiao.png')
a0=pygame.image.load(r'./新建文件夹/a.png')
a1=pygame.image.load(r'./新建文件夹/a1.png')
a2=pygame.image.load(r'./新建文件夹/a2.png')
a3=pygame.image.load(r'./新建文件夹/a3.png')
a4=pygame.image.load(r'./新建文件夹/a4.png')
a5=pygame.image.load(r'./新建文件夹/a5.png')
a6=pygame.image.load(r'./新建文件夹/a6.png')
a7=pygame.image.load(r'./新建文件夹/a7.png')
a8=pygame.image.load(r'./新建文件夹/a8.png')
a9=pygame.image.load(r'./新建文件夹/a9.png')
a10=pygame.image.load(r'./新建文件夹/a10.png')
a11=pygame.image.load(r'./新建文件夹/a11.png')
a12=pygame.image.load(r'./新建文件夹/a12.png')
a13=pygame.image.load(r'./新建文件夹/a13.png')
a14=pygame.image.load(r'./新建文件夹/a14.png')
a15=pygame.image.load(r'./新建文件夹/a15.png')
a16=pygame.image.load(r'./新建文件夹/a16.png')
a17=pygame.image.load(r'./新建文件夹/a17.png')
a18=pygame.image.load(r'./新建文件夹/a18.png')
a19=pygame.image.load(r'./新建文件夹/a19.png')
a20=pygame.image.load(r'./新建文件夹/a20.png')
a21=pygame.image.load(r'./新建文件夹/a21.png')
a22=pygame.image.load(r'./新建文件夹/a22.png')
a23=pygame.image.load(r'./新建文件夹/a23.png')
b0=pygame.image.load(r'./新建文件夹/b.png')
b1=pygame.image.load(r'./新建文件夹/b1.png')
b2=pygame.image.load(r'./新建文件夹/b2.png')
b3=pygame.image.load(r'./新建文件夹/b3.png')
b4=pygame.image.load(r'./新建文件夹/b4.png')
b5=pygame.image.load(r'./新建文件夹/b5.png')
b6=pygame.image.load(r'./新建文件夹/b6.png')
b7=pygame.image.load(r'./新建文件夹/b7.png')
b8=pygame.image.load(r'./新建文件夹/b8.png')
b9=pygame.image.load(r'./新建文件夹/b9.png')
b10=pygame.image.load(r'./新建文件夹/b10.png')
b11=pygame.image.load(r'./新建文件夹/b11.png')
b12=pygame.image.load(r'./新建文件夹/b12.png')
b13=pygame.image.load(r'./新建文件夹/b13.png')
b14=pygame.image.load(r'./新建文件夹/b14.png')
b15=pygame.image.load(r'./新建文件夹/b15.png')
b16=pygame.image.load(r'./新建文件夹/b16.png')
b21=pygame.image.load(r'./新建文件夹/b21.png')
b22=pygame.image.load(r'./新建文件夹/b22.png')
b23=pygame.image.load(r'./新建文件夹/b23.png')
c=pygame.image.load(r'./新建文件夹/c.png')
d=pygame.image.load(r'./新建文件夹/d.png')
ganzi=pygame.image.load(r'./新建文件夹/ganzi.png')
labaa=pygame.image.load(r'./新建文件夹/laba.png')
yingliang=pygame.transform.smoothscale(j1hp, (300,50))
kaiyingliang=False
kaiyinyue=True
kaiyinxiao=True
def tiaoyinliang():
    global kaiyingliang,kaiyinyue,kaiyinxiao,danji
    if kaiyinyue:
        e=[0, 0, 0]
    else:
        e=[255,255,255]
    if kaiyinxiao:
        f=[0,0,0]
    else:
        f=[255,255,255]
    if kaiyingliang==False:
        pinmu.blit(zhong.render('音效', True, f), [750, 20])
        pinmu.blit(zhong.render('音乐', True, e), [1000, 20])
        pinmu.blit(laba.image,[laba.rect[0],laba.rect[1]])
    pygame.draw.rect(pinmu, [0, 0, 0],laba.rect,10)
    a=pygame.mouse.get_pos()
    b=laba.rect
    c=pygame.mouse.get_pressed()
    if b[0]<a[0]<b[0]+b[2] and b[1]<a[1]<b[1]+b[3]:
        if c[0]:
            laba.image = yingliang
            laba.rect = [800, 30, 300, 50]
        else:
            pinmu.blit(xiao.render('请用左键', True, [0,0,0]), [900, 100])
    if c[2]==False:
        danji=True
    if 750<a[0]<750+160 and 20<a[1]<20+80:
        if c[2] and danji:
            danji=False
            kaiyinxiao=not kaiyinxiao
        elif c[0]==False and c[2]==False:
            pinmu.blit(xiao.render('请用右键', True, [0, 0, 0]), [900, 100])
    elif 1000<a[0]<1000+160 and 20<a[1]<20+80:
        if c[2] and danji:
            danji=False
            kaiyinyue=not kaiyinyue
        elif c[0]==False and c[2]==False:
            pinmu.blit(xiao.render('请用右键', True, [0, 0, 0]), [900, 100])
    if b[0]<a[0] and c[0] and laba.image==yingliang:
        d=(a[0] - b[0]) / b[2]
        if d>1:
            d=1
        kaiyingliang = True
        pinmu.blit(yingliang.subsurface(pygame.Rect(0, 0, 300 * d, 50)), [800, 30])
        if kaiyinyue:
            pygame.mixer.music.set_volume(d)
        if kaiyinxiao:
            for i in [dadao,dabudao,luodi]:
                i.set_volume(d)
    if c[0]==False:
        kaiyingliang=False
        laba.image=labaa
        laba.rect=[915, 0, 81, 82]
class jingling(pygame.sprite.Sprite):
    def __init__(self,image,x,y,fangxiang='you'):
        super().__init__()
        self.image=image
        self.rect=self.image.get_rect()
        self.rect[0]=x
        self.rect[1]=y
        self.hp=10
        self.fangxiang=fangxiang
        self.donzuo=[]
        self.weizhi=[]
    def bianjie(self):
        if self.rect[1] > 1000:
            self.rect[1] = 0
            if self.weizhi != []:
                self.weizhi[-1] = -500
        if self.rect[0] < 0:
            self.rect[0] = 0
        if self.rect[0] + self.rect[2] > 1920:
            self.rect[0] = 1920 - self.rect[2]
laba=jingling(labaa,915,0)
ganzi1=jingling(ganzi,0,600)
ganzi2=jingling(ganzi,1300,930)
ganzi3=jingling(ganzi,1500,800)
ganzi4=jingling(ganzi,80,145)
ganzi5=jingling(ganzi,800,300)
ganzi6=jingling(ganzi,-50,215)
ganzi7=jingling(ganzi,80,700)
ganzi8=jingling(ganzi,110,820)
ganzi9=jingling(ganzi,800,990)
ganzi10=jingling(ganzi,1400,650)
ganzi11=jingling(ganzi,1700,850)
ganzi12=jingling(ganzi,-500,190)
ganzi13=jingling(ganzi,0,500)
ganzi14=jingling(ganzi,-150,300)
j1=jingling(a0,1300,0)
j2=jingling(b0,1400,0,'zuo')
zu=pygame.sprite.Group()
zuyuan=[ganzi1,ganzi2,ganzi3,ganzi4,ganzi5,ganzi6,ganzi7,ganzi8,ganzi9,ganzi10,ganzi11,ganzi12,ganzi13,ganzi14]
for i in zuyuan:
    zu.add(i)
#PC1
ikai=False
kkai=False
wkai=False
kaigun1=False
kaifeipu1=False
kaii=True
kaik=True
kaij=True
kail=True
kaia=True
kaid=True
kais=True
kaiw=True
tickj1=0
tickj11=0
tickj12=0
tickj13=0
tickw=0
quang1=0
ti1=0
xieliang1=120
#PC2
upkai=False
xiakai=False
n5kai=False
kaigun2=False
kaifeipu2=False
kaiup=True
kaixia=True
kaizuo=True
kaiyou=True
kai1=True
kai3=True
kai2=True
kai5=True
tickzuo1=0
tickzuo11=0
tickzuo12=0
tickzuo13=0
tick5=0
quang2=0
ti2=0
xieliang2=120
jiang1 = 5
jiang2 = 5
jiasudu1=0
jiasudu2=0
zuidi1=ganzi1
zuidi2=ganzi1
kaiasdw=True
kaicaozuo1=False
kai1235=True
kaicaozuo2=False
kaipc1=True
kaipc2=True
kaishuai1=False
kaishuai2=False
kaizong1=True
kaizong2=True
quangping=True
kailidi1=False
kailidi2=False
shang1=False
shang2=False
kaiyaoshi1=False
kaiyaoshi2=False
kaitang1=False
kaitang2=False
qiaren1=False
qiaren2=False
def PC1donhua():
    global tickj1,tickj11,tickj12,tickj13,kaigun1,kaifeipu1,kaij,kail,quang1,ti1,kaii,kaiguntime1,kaiasdw,kaia,kais,kaid,kaiw,kaicaozuo1,timecaozuo1,kailidi1,shang1,skai,akai,kaiyaoshi1,kaitang1,qiaren1
    if kaifeipu1:
        kaiasdw=True
    if kaipc1:
        if 'jj' not in j1.donzuo and 'll' not in j1.donzuo and 'j' not in j1.donzuo and 'l' not in j1.donzuo:
            #不动跳
            if 'i' in j1.donzuo:
                tickj11 += 1
                if tickj11 / 20 < 1:
                    j1.image = a5
                    j1.rect[1] -= 10
                elif tickj11 / 20 ==1:
                    j1.weizhi.append(j1.rect[1])
                else:
                    j1.image = a6
                    tickj11 = 0
                    if 'i' in j1.donzuo:
                        j1.donzuo.remove('i')
            #不动蹲
            elif 'k' in j1.donzuo:
                j1.image = a4
        for i in j1.donzuo[::-1]:
            if i=='jj' or i=='ll' or i=='j' or i=='l':
                r=0
                if i=='jj':
                    j1.fangxiang = 'zuo'
                    r=-7
                    a,b=10,5
                elif i=='ll':
                    j1.fangxiang = 'you'
                    r=7
                    a,b=10,5
                elif i=='j':
                    j1.fangxiang = 'zuo'
                    r=-5
                    a,b=20,10
                elif i=='l':
                    j1.fangxiang = 'you'
                    r=5
                    a, b = 20, 10
                # 走/跑
                if tickj1 % a > b:
                    j1.image = a7
                else:
                    j1.image = a8
                tickj1 += 1
                if 'a' not in j1.donzuo and 's' not in j1.donzuo and 'd' not in j1.donzuo and 'w' not in j1.donzuo:
                    if 'i' in j1.donzuo or 'j' in j1.donzuo or 'l' in j1.donzuo:
                        j1.rect[0] += r
                # 滚
                if 'k' in j1.donzuo:
                    if tickj12 % 10 > 5:
                        j1.image = c
                    else:
                        j1.image = pygame.transform.flip(c, True, False)
                    tickj12 += 1
                # 跳
                if 'i' in j1.donzuo:
                    tickj11 += 1
                    if tickj11 / 20 < 1:
                        j1.image = a5
                        j1.rect[1] -= 10
                    elif tickj11 / 20 == 1:
                        j1.weizhi.append(j1.rect[1])
                    else:
                        j1.image = a6
                        tickj11 = 0
                        if kkai and 'k' not in j1.donzuo:
                            j1.donzuo.append('k')
                        if 'i' in j1.donzuo:
                            j1.donzuo.remove('i')
                # 飞扑启动器
                if i == 'jj' or i == 'll':
                    if 'k' in j1.donzuo and yunxufeipu1:
                        kaiyaoshi1=True
                        kaitang1=False
                        kaifeipu1 = True
                break
    #在空中就得摆出下降的姿势
    if pygame.sprite.spritecollide(j1, zu, False, pygame.sprite.collide_mask):
        if tickj11!=0 or kaifeipu1 == True or j1.rect[1]+j1.rect[3]>zuidi1.rect[1]+25:
            if 'i' not in j1.donzuo:
                j1.image=a6
    else:
        if 'i' not in j1.donzuo:
            j1.image = a6
    ##飞扑
    if kaifeipu1:
        if 'w' in j1.donzuo:
            j1.donzuo.remove('w')
        if j1.fangxiang == 'you':
            if 'l' not in j1.donzuo:
                j1.rect[0] += 7
            else:
                j1.rect[0] += 2
        elif j1.fangxiang == 'zuo':
            if 'j' not in j1.donzuo:
                j1.rect[0] -= 7
            else:
                j1.rect[0] -= 2
        kaij=False
        kail=False
        for q in ['jj','ll','i','j','l']:
            if q in j1.donzuo:
                j1.donzuo.remove(q)
        tickj13+=1
        if tickj13/20<1:
            j1.image=a9
            j1.rect[1]-=8
        else:
            j1.image=a10
            if pygame.sprite.spritecollide(j1,zu,False,pygame.sprite.collide_mask) and j1.rect[1]+60<=zuidi1.rect[1]:
                tickj13=0
                j1.rect[1]-=13
                kaiguntime1=time.perf_counter()
                kaigun1=True
                kaifeipu1=False
    if kaigun1:
        if 'w' in j1.donzuo:
            j1.donzuo.remove('w')
        if ikai:
            if 'i' not in j1.donzuo and pengz1 and j1.rect[1] >= zuidi1.rect[1] - j1.rect[3] + 1:
                j1.donzuo.append('i')
                try:
                    if j1.fangxiang == 'you':
                        if lkai:
                            j1.donzuo.append('l')
                        elif jkai:
                            j1.donzuo.append('j')
                    else:
                        if jkai:
                            j1.donzuo.append('j')
                        elif lkai:
                            j1.donzuo.append('l')
                except:
                    pass
            kaigun1=False
            kaij=True
            kail=True
        if j1.fangxiang == 'you' and 'l' not in j1.donzuo:
            j1.rect[0] += 4
        elif j1.fangxiang == 'zuo' and 'j' not in j1.donzuo:
            j1.rect[0] -= 4
        if tickj12 % 10 > 5:
            j1.image = c
        else:
            j1.image = pygame.transform.flip(c, True, False)
        tickj12 += 1
        if time.perf_counter()-kaiguntime1>0.5:
            if 'k' in j1.donzuo and kkai==False:
                j1.donzuo.remove('k')
            elif kkai==True and 'k' not in j1.donzuo:
                j1.donzuo.append('k')
            kaigun1=False
            kaij=True
            kail=True
    #拳
    qwe1 = 0
    if quang1 > 3:
        quang1 = 1
    elif quang1==3:
        qwe1 = 0.2
    if 'a' in j1.donzuo:
        kaiasdw=False
        kaia=False
        if quang1==1:
            j1.image=a22
        if time.perf_counter()-timea>=0.1:
            if akai:
                akai=False
                shang1=True
            if quang1==1:
                j1.image=a1
            elif quang1==2:
                j1.image=a11
            elif quang1==3:
                j1.image=a12
            if time.perf_counter()-timea>=0.25+qwe1:
                timecaozuo1=time.perf_counter()
                kaicaozuo1=True
                if 'a' in j1.donzuo:
                    j1.donzuo.remove('a')
    try:
        if time.perf_counter() - timea >= 0.3+qwe1:
            kaia=True
        if time.perf_counter()-timea>0.3+qwe1+0.3:
            quang1=0
    except:
        pass
    #踢
    asd1=0
    if ti1 >= 2:
        asd1 = 0.4
    if 's' in j1.donzuo:
        kaiasdw=False
        kais=False
        j1.image=a3
        if time.perf_counter()-times>=0.2:
            if skai:
                skai=False
                shang1=True
            j1.image=a23
            if time.perf_counter() - times >= 0.4:
                timecaozuo1 = time.perf_counter()
                kaicaozuo1 = True
                if 's' in j1.donzuo:
                    j1.donzuo.remove('s')
    try:
        if time.perf_counter()-times>=0.5+asd1:
            kais=True
        if time.perf_counter() - times > 0.5 + asd1 + 0.2:
            ti1 = 0
    except:
        pass
    #防
    if 'd' in j1.donzuo:
        kaiasdw=False
        kaid=False
        j1.image=a2
        if time.perf_counter()-timed>=0.2:
            timecaozuo1 = time.perf_counter()
            kaicaozuo1 = True
            if 'd' in j1.donzuo:
                j1.donzuo.remove('d')
    try:
        if time.perf_counter()-timed >= 0.25:
            kaid=True
    except:
        pass
    #掐
    if pengz1 and zuidi1.rect[1] - j1.rect[3] + 10>=j1.rect[1] >= zuidi1.rect[1] - j1.rect[3] + 1:
        kailidi1=True
    else:
        if kailidi1 and 'i' not in j1.donzuo:
            kailidi1=False
            if j1.fangxiang=='zuo':
                j1.rect[0] -= 3
            else:
                j1.rect[0] += 3
        if 'w' in j1.donzuo:
            j1.donzuo.remove('w')
            timecaozuo1 = time.perf_counter()
            kaicaozuo1 = True
            kaiw=True
    if 'w' in j1.donzuo and kaipc1:
        kaiasdw=False
        kaiw=False
        if time.perf_counter()-timew>0.7:
            if ikai and 'i' not in j1.donzuo:
                j1.donzuo.append('i')
            if kkai and 'k' not in j1.donzuo:
                j1.donzuo.append('k')
            timecaozuo1 = time.perf_counter()
            kaicaozuo1 = True
            j1.donzuo.remove('w')
        elif 0.3<time.perf_counter()-timew<0.7:
            qiaren1=True
            if tickj1 % 10 > 5:
                j1.image = a15
            else:
                j1.image = a16
            tickj1 += 1
            if j1.fangxiang=='you':
                j1.rect[0]+=7
            else:
                j1.rect[0]-=7
        elif time.perf_counter()-timew<0.3:
            j1.image=a14
    try:
        if time.perf_counter() - timew > 1.5:
            kaiw = True
    except:
        pass
    try:
        if kaicaozuo1:
            if time.perf_counter() - timecaozuo1 >= 0.05:
                kaiasdw=True
                kaicaozuo1=False
    except:
        pass
def PC2donhua():
    global tickzuo1,tickzuo11,tickzuo12,tickzuo13,kaigun2,kaifeipu2,kaizuo,kaiyou,kai1,quang2,kai3,kai2,ti2,kai5,kaiup,kaiguntime2,kai1235,kaicaozuo2,timecaozuo2,kailidi2,shang2,n2kai,n1kai,kaiyaoshi2,kaitang2,qiaren2
    if kaifeipu2:
        kai1235=True
    if kaipc2:
        if 'zuozuo' not in j2.donzuo and 'youyou' not in j2.donzuo and 'zuo' not in j2.donzuo and 'you' not in j2.donzuo:
            #不动跳
            if 'up' in j2.donzuo:
                tickzuo11 += 1
                if tickzuo11 / 20 < 1:
                    j2.image = b5
                    j2.rect[1] -= 10
                elif tickzuo11 / 20 ==1:
                    j2.weizhi.append(j2.rect[1])
                else:
                    j2.image = b6
                    tickzuo11 = 0
                    if 'up' in j2.donzuo:
                        j2.donzuo.remove('up')
            #不动蹲
            elif 'xia' in j2.donzuo:
                j2.image = b4
        for i in j2.donzuo[::-1]:
            if i=='zuozuo' or i=='youyou' or i=='zuo' or i=='you':
                r=0
                if i=='zuozuo':
                    j2.fangxiang = 'zuo'
                    r=-7
                    a,b=10,5
                elif i=='youyou':
                    j2.fangxiang = 'you'
                    r=7
                    a,b=10,5
                elif i=='zuo':
                    j2.fangxiang = 'zuo'
                    r=-5
                    a,b=20,10
                elif i=='you':
                    j2.fangxiang = 'you'
                    r=5
                    a, b = 20, 10
                # 走/跑
                if tickzuo1 % a > b:
                    j2.image = b7
                else:
                    j2.image = b8
                tickzuo1 += 1
                if '1' not in j2.donzuo and '2' not in j2.donzuo and '3' not in j2.donzuo and '5' not in j2.donzuo:
                    if 'up' in j2.donzuo or 'zuo' in j2.donzuo or 'you' in j2.donzuo:
                        j2.rect[0] += r
                # 滚
                if 'xia' in j2.donzuo:
                    if tickzuo12 % 10 > 5:
                        j2.image = c
                    else:
                        j2.image = pygame.transform.flip(c, True, False)
                    tickzuo12 += 1
                # 跳
                if 'up' in j2.donzuo:
                    tickzuo11 += 1
                    if tickzuo11 / 20 < 1:
                        j2.image = b5
                        j2.rect[1] -= 10
                    elif tickzuo11 / 20 == 1:
                        j2.weizhi.append(j2.rect[1])
                    else:
                        j2.image = b6
                        tickzuo11 = 0
                        if xiakai and 'xia' not in j2.donzuo:
                            j2.donzuo.append('xia')
                        if 'up' in j2.donzuo:
                            j2.donzuo.remove('up')
                # 飞扑启动器
                if i == 'zuozuo' or i == 'youyou':
                    if 'xia' in j2.donzuo and yunxufeipu2:
                        kaiyaoshi2=True
                        kaifeipu2 = True
                        kaitang2=False
                break
    #在空中就得摆出下降的姿势
    if pygame.sprite.spritecollide(j2, zu, False, pygame.sprite.collide_mask):
        if tickzuo11!=0 or kaifeipu2 == True or j2.rect[1]+j2.rect[3]>zuidi2.rect[1]+25:
            if 'up' not in j2.donzuo:
                j2.image=b6
    else:
        if 'up' not in j2.donzuo:
            j2.image = b6
    ##飞扑
    if kaifeipu2:
        if '5' in j2.donzuo:
            j2.donzuo.remove('5')
        if j2.fangxiang == 'you':
            if 'you' not in j2.donzuo:
                j2.rect[0] += 7
            else:
                j2.rect[0] += 2
        elif j2.fangxiang == 'zuo':
            if 'zuo' not in j2.donzuo:
                j2.rect[0] -= 7
            else:
                j2.rect[0] -= 2
        kaizuo=False
        kaiyou=False
        for q in ['zuozuo','youyou','up','zuo','you']:
            if q in j2.donzuo:
                j2.donzuo.remove(q)
        tickzuo13+=1
        if tickzuo13/20<1:
            j2.image=b9
            j2.rect[1]-=8
        else:
            j2.image=b10
            if pygame.sprite.spritecollide(j2,zu,False,pygame.sprite.collide_mask) and j2.rect[1]+60<=zuidi2.rect[1]:
                tickzuo13=0
                j2.rect[1]-=13
                kaiguntime2=time.perf_counter()
                kaigun2=True
                kaifeipu2=False
    if kaigun2:
        if '5' in j2.donzuo:
            j2.donzuo.remove('5')
        if upkai:
            if 'up' not in j2.donzuo and pengz2 and j2.rect[1] >=zuidi2.rect[1]-j2.rect[3]+1:
                j2.donzuo.append('up')
                try:
                    if j2.fangxiang=='you':
                        if youkai:
                            j2.donzuo.append('you')
                        elif zuokai:
                            j2.donzuo.append('zuo')
                    else:
                        if zuokai:
                            j2.donzuo.append('zuo')
                        elif youkai:
                            j2.donzuo.append('you')
                except:
                    pass
            kaigun2=False
            kaizuo=True
            kaiyou=True
        if j2.fangxiang == 'you' and 'you' not in j2.donzuo:
            j2.rect[0] += 4
        elif j2.fangxiang == 'zuo' and 'zuo' not in j2.donzuo:
            j2.rect[0] -= 4
        if tickzuo12 % 10 > 5:
            j2.image = c
        else:
            j2.image = pygame.transform.flip(c, True, False)
        tickzuo12 += 1
        if time.perf_counter()-kaiguntime2>0.5:
            if 'xia' in j2.donzuo and xiakai==False:
                j2.donzuo.remove('xia')
            elif xiakai==True and 'xia' not in j2.donzuo:
                j2.donzuo.append('xia')
            kaigun2=False
            kaizuo=True
            kaiyou=True
    #拳
    qwe2 = 0
    if quang2 > 3:
        quang2 = 1
    elif quang2==3:
        qwe2 = 0.2
    if '1' in j2.donzuo:
        kai1235=False
        kai1=False
        if quang2==1:
            j2.image=b22
        if time.perf_counter()-time1>=0.1:
            if n1kai:
                n1kai=False
                shang2=True
            if quang2==1:
                j2.image=b1
            elif quang2==2:
                j2.image=b11
            elif quang2==3:
                j2.image=b12
            if time.perf_counter()-time1>=0.25+qwe2:
                timecaozuo2=time.perf_counter()
                kaicaozuo2=True
                if '1' in j2.donzuo:
                    j2.donzuo.remove('1')
    try:
        if time.perf_counter() - time1 >= 0.3+qwe2:
            kai1 = True
        if time.perf_counter()-time1>0.3+qwe2+0.3:
            quang2=0
    except:
        pass
    #踢
    asd2=0
    if ti2 >= 2:
        asd2 = 0.4
    if '2' in j2.donzuo:
        kai1235=False
        kai2=False
        j2.image=b3
        if time.perf_counter() - time2 >= 0.2:
            if n2kai:
                n2kai = False
                shang2 = True
            j2.image = b23
            if time.perf_counter() - time2 >= 0.4:
                timecaozuo2 = time.perf_counter()
                kaicaozuo2 = True
                if '2' in j2.donzuo:
                    j2.donzuo.remove('2')
    try:
        if time.perf_counter()-time2>=0.5+asd2:
            kai2=True
        if time.perf_counter() - time2 > 0.5 + asd2 + 0.2:
            ti2 = 0
    except:
        pass
    #防
    if '3' in j2.donzuo:
        kai1235=False
        kai3=False
        j2.image=b2
        if time.perf_counter()-time3>=0.2:
            timecaozuo2 = time.perf_counter()
            kaicaozuo2 = True
            if '3' in j2.donzuo:
                j2.donzuo.remove('3')
    try:
        if time.perf_counter()-time3 >= 0.25:
            kai3=True
    except:
        pass
    #掐
    if pengz2 and zuidi2.rect[1] - j2.rect[3] + 10 >= j2.rect[1] >= zuidi2.rect[1] - j2.rect[3] + 1:
        kailidi2=True
    else:
        if kailidi2 and 'up' not in j2.donzuo:
            kailidi2=False
            if j2.fangxiang == 'zuo':
                j2.rect[0] -= 3
            else:
                j2.rect[0] += 3
        if '5' in j2.donzuo:
            j2.donzuo.remove('5')
            timecaozuo2 = time.perf_counter()
            kaicaozuo2 = True
            kai5 = True
    if '5' in j2.donzuo and kaipc2:
        kai1235=False
        kai5=False
        if time.perf_counter()-time5>0.7:
            if upkai and 'up' not in j2.donzuo:
                j2.donzuo.append('up')
            if xiakai and 'xia' not in j2.donzuo:
                j2.donzuo.append('xia')
            timecaozuo2 = time.perf_counter()
            kaicaozuo2 = True
            j2.donzuo.remove('5')
        elif 0.3<time.perf_counter()-time5<0.7:
            qiaren2=True
            if tickzuo1 % 10 > 5:
                j2.image = b15
            else:
                j2.image = b16
            tickzuo1 += 1
            if j2.fangxiang=='you':
                j2.rect[0]+=7
            else:
                j2.rect[0]-=7
        elif time.perf_counter()-time5<0.3:
            j2.image=b14
    try:
        if time.perf_counter() - time5 > 1.5:
            kai5 = True
    except:
        pass
    try:
        if kaicaozuo2:
            if time.perf_counter()-timecaozuo2>=0.05:
                kai1235=True
                kaicaozuo2=False
    except:
        pass
def pc1oula():
    global xieliang2,timekaipc2,kaipc2,kaifeipu2,kaigun2,kaiyou,kaizuo,tickzuo13,kai5,kai1235,quang2,ti2,tickzuo11,shang1
    kaioula1=False
    a=0
    b=0
    if 'a' in j1.donzuo:
        a=50
        b=30
        if 'xia' in j2.donzuo:
            a=30
        if quang1==3:
            b=15
    elif 's' in j1.donzuo:
        a=100
        b=30
        if 'xia' in j2.donzuo:
            a=70
    if j1.rect[1]>j2.rect[1]-a and j1.rect[1]<j2.rect[1]+j2.rect[3]-b:
        if j1.fangxiang=='zuo' and j1.rect[0]>j2.rect[0]:
            kaioula1=True
        if j1.fangxiang == 'you' and j1.rect[0]+j1.rect[2] < j2.rect[0] + j2.rect[2]:
            kaioula1=True
    if kaioula1:
        if pygame.sprite.collide_rect(j1, j2) and '3' not in j2.donzuo and shang1:
            if 'a' in j1.donzuo or 's' in j1.donzuo:
                if j1.fangxiang == 'zuo':
                    j2.fangxiang = 'you'
                else:
                    j2.fangxiang = 'zuo'
                for i in ['zuo', 'you', 'zuozuo', 'youyou']:
                    if i in j2.donzuo:
                        j2.donzuo.remove(i)
                quang2 = 0
                ti2 = 0
                timekaipc2 = time.perf_counter()
                kaipc2 = False
                kaifeipu2 = False
                kaigun2 = False
                kaiyou = True
                kaizuo = True
                tickzuo11=0
                tickzuo13 = 0
                j2.donzuo.clear()
                kai5 = True
                kai1235 = True
                if 'a' in j1.donzuo:
                    xieliang2-=10
                elif 's' in j1.donzuo:
                    xieliang2-=3
        if pygame.sprite.collide_rect(j1, j2) and shang1:
            dadao.play()
            a=0
            b=0
            if 's' in j1.donzuo:
                a = 40
                b = 0
            elif quang1==3:
                a=120
                b=80
            if '3' not in j2.donzuo:
                if j1.fangxiang=='zuo':
                    j2.rect[0]-=a
                else:
                    j2.rect[0]+=a
            else:
                if j1.fangxiang=='zuo':
                    j2.rect[0]-=b
                else:
                    j2.rect[0]+=b
    shang1=False
    if kaipc2==False:
        try:
            if time.perf_counter()-timekaipc2>0.3:
                kaipc2=True
                if xiakai and 'xia' not in j2.donzuo:
                    j2.donzuo.append('xia')
                if upkai and 'up' not in j2.donzuo:
                    j2.donzuo.append('up')
                if j2.fangxiang=='zuo':
                    if zuokai and 'zuo' not in j2.donzuo:
                        j2.donzuo.append('zuo')
                    elif youkai and 'you' not in j2.donzuo:
                        j2.donzuo.append('you')
                else:
                    if youkai and 'you' not in j2.donzuo:
                        j2.donzuo.append('you')
                    elif zuokai and 'zuo' not in j2.donzuo:
                        j2.donzuo.append('zuo')
            else:
                j2.image=b13
        except:
            pass
def pc2oula():
    global xieliang1,timekaipc1,kaipc1,kaifeipu1,kaigun1,kaij,kail,tickj13,kaiw,kaiasdw,quang1,ti1,n2kai,tickj11,shang2
    kaioula2=False
    a=0
    b=0
    if '1' in j2.donzuo:
        a=50
        b=30
        if 'k' in j1.donzuo:
            a=30
        if quang2==3:
            b=15
    elif '2' in j2.donzuo:
        a=100
        b=30
        if 'k' in j1.donzuo:
            a=70
    if j2.rect[1]>j1.rect[1]-a and j2.rect[1]<j1.rect[1]+j1.rect[3]-b:
        if j2.fangxiang=='zuo' and j2.rect[0]>j1.rect[0]:
            kaioula2=True
        if j2.fangxiang == 'you' and j2.rect[0]+j2.rect[2] < j1.rect[0] + j1.rect[2]:
            kaioula2=True
    if kaioula2:
        if pygame.sprite.collide_rect(j2, j1) and 'd' not in j1.donzuo and shang2:
            if '1' in j2.donzuo or '2' in j2.donzuo:
                if j2.fangxiang == 'zuo':
                    j1.fangxiang = 'you'
                else:
                    j1.fangxiang = 'zuo'
                for i in ['j', 'l', 'jj', 'll']:
                    if i in j1.donzuo:
                        j1.donzuo.remove(i)
                quang1=0
                ti1=0
                timekaipc1=time.perf_counter()
                kaipc1=False
                kaifeipu1=False
                kaigun1=False
                kaij=True
                kail=True
                tickj11=0
                tickj13=0
                j1.donzuo.clear()
                kaiw=True
                kaiasdw=True
                if '1' in j2.donzuo:
                    xieliang1-=10
                elif '2' in j2.donzuo:
                    xieliang1-=3
        if pygame.sprite.collide_rect(j2, j1) and shang2:
            dadao.play()
            a=0
            b=0
            if '2' in j2.donzuo:
                a = 40
                b = 0
            elif quang2==3:
                a=120
                b=80
            if 'd' not in j1.donzuo:
                if j2.fangxiang=='zuo':
                    j1.rect[0]-=a
                else:
                    j1.rect[0]+=a
            else:
                if j2.fangxiang=='zuo':
                    j1.rect[0]-=b
                else:
                    j1.rect[0]+=b
    shang2 = False
    if kaipc1==False:
        try:
            if time.perf_counter()-timekaipc1>0.3:
                kaipc1=True
                if kkai and 'k' not in j1.donzuo:
                    j1.donzuo.append('k')
                if ikai and 'i' not in j1.donzuo:
                    j1.donzuo.append('i')
                if j1.fangxiang == 'zuo':
                    if jkai and 'j' not in j1.donzuo:
                        j1.donzuo.append('j')
                    elif lkai and 'l' not in j1.donzuo:
                        j1.donzuo.append('l')
                else:
                    if lkai and 'l' not in j1.donzuo:
                        j1.donzuo.append('l')
                    elif jkai and 'j' not in j1.donzuo:
                        j1.donzuo.append('j')
            else:
                j1.image=a13
        except:
            pass
while True:
    atime.tick(60)
    if pygame.mixer.music.get_busy() == False:
        pygame.mixer.music.play()
    pinmu.fill([156,156,156])
    tiaoyinliang()
    for i in zuyuan:
        pinmu.blit(i.image, [i.rect[0], i.rect[1]])
    pinmu.blit(zhong.render('PC1', True, [0, 0, 0]), [20, 20])
    pinmu.blit(zhong.render('PC2', True, [0, 0, 0]), [1780, 20])
    pinmu.blit(j1hp.subsurface(pygame.Rect(0, 0, 4.5 * xieliang1, 57)), [180, 30])
    pygame.draw.rect(pinmu, [0, 0, 0],[180,30,543,57],10)
    pinmu.blit(j2hp.subsurface(pygame.Rect(540 - 4.5 * xieliang2, 0, 4.5 * xieliang2, 57)), [1720 - 4.5 * xieliang2, 30])
    pygame.draw.rect(pinmu, [0, 0, 0],[1180,30,543,57],10)
    pinmu.blit(j2.image, [j2.rect[0], j2.rect[1]])
    pinmu.blit(j1.image, [j1.rect[0], j1.rect[1]])
    j1.image = a0
    j2.image = b0
    #pc1环境交互
    pengz1 = pygame.sprite.spritecollide(j1, zu, False, pygame.sprite.collide_mask)
    if pengz1:
        zuidi1 = pengz1[-1]
        for i in pengz1:
            if i.rect[1] > zuidi1.rect[1]:
                zuidi1 = i
        if tickj11!=0 or kaifeipu1 or j1.rect[1]+j1.rect[3]>zuidi1.rect[1]+25 or 'kk' in j1.donzuo:
            kaik = False
            kaii=False
            kaiw=False
            yunxufeipu1=False
            if j1.weizhi == []:
                kaishuai1 = True
                kaikouxie1=True
                j1.weizhi.append(j1.rect[1])
            if 'i' not in j1.donzuo and kaifeipu1==False or j1.rect[1]-chushigaodu1>0:
                if 'kk' in j1.donzuo and j1.rect[1]-chushigaodu1>10:
                    j1.donzuo.remove('kk')
                    if 'k' in j1.donzuo:
                        j1.donzuo.remove('k')
                jiang1 += jiasudu1
                jiasudu1 += 0.07
        else:
            chushigaodu1=j1.rect[1]
            j1.weizhi.clear()
            yunxufeipu1=True
            kaik = True
            kaii=True
            try:
                if time.perf_counter() - timew > 1.5:
                    kaiw=True
            except:
                kaiw=True
            jiasudu1 = 0
            jiang1 = 5
            j1.rect[1] = zuidi1.rect[1] - j1.rect[3] + 1
        if j1.weizhi!=[] and j1.rect[1]-j1.weizhi[-1]>350 and j1.rect[1]+j1.rect[3]>zuidi1.rect[1]+25:
            chushigaodu1=j1.rect[1]
            j1.weizhi.clear()
            kaik = True
            kaii=True
            try:
                if time.perf_counter() - timew > 1.5:
                    kaiw=True
            except:
                kaiw=True
            jiasudu1 = 0
            jiang1 = 5
            j1.rect[1] = zuidi1.rect[1] - j1.rect[3] + 1
    else:
        yunxufeipu1=False
        if j1.weizhi == []:
            kaishuai1 = True
            kaikouxie1=True
            j1.weizhi.append(j1.rect[1])
        if 'i' not in j1.donzuo and kaifeipu1==False or j1.rect[1]-chushigaodu1>0:
            jiang1 += jiasudu1
            jiasudu1 += 0.07
    #pc2环境交互
    pengz2 = pygame.sprite.spritecollide(j2, zu, False, pygame.sprite.collide_mask)
    if pengz2:
        zuidi2 = pengz2[-1]
        for i in pengz2:
            if i.rect[1] > zuidi2.rect[1]:
                zuidi2 = i
        if tickzuo11 != 0 or kaifeipu2 or j2.rect[1] + j2.rect[3] > zuidi2.rect[1] + 25 or 'xiaxia' in j2.donzuo:
            kaixia = False
            kaiup = False
            kai5 = False
            yunxufeipu2 = False
            if j2.weizhi == []:
                kaishuai2 = True
                kaikouxie2=True
                j2.weizhi.append(j2.rect[1])
            if 'up' not in j2.donzuo and kaifeipu2 == False or j2.rect[1] - chushigaodu2 > 0:
                if 'xiaxia' in j2.donzuo and j2.rect[1] - chushigaodu2 > 10:
                    j2.donzuo.remove('xiaxia')
                    if 'xia' in j2.donzuo:
                        j2.donzuo.remove('xia')
                jiang2 += jiasudu2
                jiasudu2 += 0.07
        else:
            chushigaodu2=j2.rect[1]
            j2.weizhi.clear()
            yunxufeipu2 = True
            kaixia = True
            kaiup = True
            try:
                if time.perf_counter() - time5 > 1.5:
                    kai5 = True
            except:
                kai5 = True
            jiasudu2 = 0
            jiang2 = 5
            j2.rect[1] = zuidi2.rect[1] - j2.rect[3] + 1
        if j2.weizhi != [] and j2.rect[1] - j2.weizhi[-1] > 350 and j2.rect[1] + j2.rect[3] > zuidi2.rect[1] + 25:
            chushigaodu2=j2.rect[1]
            j2.weizhi.clear()
            kaixia = True
            kaiup = True
            try:
                if time.perf_counter() - time5 > 1.5:
                    kai5 = True
            except:
                kai5 = True
            jiasudu2 = 0
            jiang2 = 5
            j2.rect[1] = zuidi2.rect[1] - j2.rect[3] + 1
    else:
        yunxufeipu2 = False
        if j2.weizhi == []:
            kaishuai2=True
            kaikouxie2=True
            j2.weizhi.append(j2.rect[1])
        if 'up' not in j2.donzuo and kaifeipu2 == False or j2.rect[1] - chushigaodu2 > 0:
            jiang2 += jiasudu2
            jiasudu2 += 0.07
    j1.rect[1]+=jiang1
    j2.rect[1]+=jiang2
    # 双人飞扑碰撞时
    if pygame.sprite.collide_mask(j1, j2) and kaifeipu1 and kaifeipu2:
        kaifeipu1 = False
        kaij = True
        kail = True
        tickj13 = 0
        kaifeipu2 = False
        kaizuo = True
        kaiyou = True
        tickzuo13 = 0
        timezhuang = time.perf_counter()
    try:
        if time.perf_counter() - timezhuang < 0.5:
            j1.image = d
            j2.image = d
            kaizong1 = False
            kaizong2 = False
        else:
            kaizong1=True
            kaizong2=True
    except:
        pass
    if pygame.sprite.collide_mask(j1, j2):
        try:
            # pc1扑
            if kaifeipu1 or 'w' in j1.donzuo:
                if 'w' in j1.donzuo and qiaren1==False:
                    a=1/0
                kaizong2 = False
                kai1235=True
                j2.rect[1] = j1.rect[1] - 50
                if j1.fangxiang == 'zuo':
                    j2.fangxiang = 'you'
                    j2.rect[0] = j1.rect[0] - 50
                else:
                    j2.fangxiang = 'zuo'
                    j2.rect[0] = j1.rect[0] + 50
                jiasudu2 = 0
                jiang2 = 5
                if 'w' in j1.donzuo:
                    kaiasdw = True
                    for q in ['a','s','d']:
                        if q in j1.donzuo:
                            kaiw = True
                            j1.donzuo.remove('w')
                            if q=='d':
                                if j1.fangxiang == 'zuo':
                                    j2.rect[0] -=150
                                else:
                                    j2.rect[0] += 150
                            break
        except:
            pass
        try:
            #pc2扑
            if kaifeipu2 or '5' in j2.donzuo:
                if '5' in j2.donzuo and qiaren2==False:
                    a=1/0
                kaizong1 = False
                kaiasdw=True
                j1.rect[1] = j2.rect[1] - 50
                if j2.fangxiang == 'zuo':
                    j1.fangxiang = 'you'
                    j1.rect[0] = j2.rect[0] - 50
                else:
                    j1.fangxiang = 'zuo'
                    j1.rect[0] = j2.rect[0] + 50
                jiasudu1 = 0
                jiang1 = 5
                if '5' in j2.donzuo:
                    kai1235=True
                    for q in ['1','2','3']:
                        if q in j2.donzuo:
                            kai5 = True
                            j2.donzuo.remove('5')
                            if q=='3':
                                if j2.fangxiang=='zuo':
                                    j1.rect[0]-=150
                                else:
                                    j1.rect[0]+=150
                            break
        except:
            pass
        qiaren1=False
        qiaren2=False
    # pc1摔落伤害
    if j1.weizhi != []:
        j1zuidi = j1.weizhi[-1]
    if kaishuai1 and pengz1 and zuidi1.rect[1] - j1.rect[3] + 10 >= j1.rect[1] >= zuidi1.rect[1] - j1.rect[3] + 1:
        kaishuai1 = False
        kaitang1 = True
        if j1.rect[1] - j1zuidi > 300:
            if pygame.sprite.collide_mask(j1, j2):
                if kaifeipu1:
                    xieliang2 -= 30
                elif j1.rect[1]<=j2.rect[1] and kaiyaoshi2==False:
                    xieliang2-=30
        timeshuai1 = time.perf_counter()
        luodi.play()
    if kaitang1:
        if kaiyaoshi1 == False:
            if time.perf_counter() - timeshuai1 < 0.5:
                kaiasdw = True
                quang1 = 0
                ti1 = 0
                kai1235=True
                quang2=0
                ti2=0
                if j1.rect[1] - j1zuidi > 200:
                    j1.image = a21
                    if j1.rect[1] - j1zuidi > 300:
                        j1.image = d
                        if kaikouxie1 and kaiyaoshi2==False:
                            kaikouxie1=False
                            xieliang1 -= 30
                        if pygame.sprite.collide_mask(j1, j2):
                            j2.image = d
                            kaizong2 = False
                            j2.donzuo.clear()
                    kaizong1 = False
                    j1.donzuo.clear()
            else:
                kaizong1 = True
                kaizong2 = True
                kaitang1 = False
        else:
            if time.perf_counter() - timeshuai1 < 0.5:
                if pygame.sprite.collide_mask(j1, j2):
                    j2.image = d
                    kaizong2 = False
                    j2.donzuo.clear()
            else:
                kaizong2 = True
                kaiyaoshi1 = False
                kaitang1 = False
    # pc2摔落伤害
    if j2.weizhi != []:
        j2zuidi = j2.weizhi[-1]
    if kaishuai2 and pengz2 and zuidi2.rect[1] - j2.rect[3] + 10 >= j2.rect[1] >= zuidi2.rect[1] - j2.rect[3] + 1:
        kaishuai2 = False
        kaitang2 = True
        if j2.rect[1] - j2zuidi > 300:
            if pygame.sprite.collide_mask(j1, j2):
                if kaifeipu2:
                    xieliang1 -= 30
                elif j2.rect[1]<=j1.rect[1] and kaiyaoshi1==False:
                    xieliang1-=30
        timeshuai2 = time.perf_counter()
        luodi.play()
    if kaitang2:
        if kaiyaoshi2 == False:
            if time.perf_counter() - timeshuai2 < 0.5:
                kaiasdw = True
                quang1 = 0
                ti1 = 0
                kai1235 = True
                quang2 = 0
                ti2 = 0
                if j2.rect[1] - j2zuidi > 200:
                    j2.image = b21
                    if j2.rect[1] - j2zuidi > 300:
                        j2.image = d
                        if kaikouxie2 and kaiyaoshi1==False:
                            kaikouxie2=False
                            xieliang2 -= 30
                        if pygame.sprite.collide_mask(j1, j2):
                            j1.image = d
                            kaizong1 = False
                            j1.donzuo.clear()
                    kaizong2 = False
                    j2.donzuo.clear()
            else:
                kaizong1 = True
                kaizong2 = True
                kaitang2 = False
        else:
            if time.perf_counter() - timeshuai2 < 0.5:
                if pygame.sprite.collide_mask(j1, j2):
                    j1.image = d
                    kaizong1 = False
                    j1.donzuo.clear()
            else:
                kaizong1 = True
                kaiyaoshi2 = False
                kaitang2 = False
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                pygame.quit()
                sys.exit()
            elif event.key == pygame.K_b:
                quangping=not quangping
                if quangping:
                    pinmu = pygame.display.set_mode(flags=pygame.FULLSCREEN | pygame.DOUBLEBUF | pygame.HWSURFACE)
                else:
                    pinmu = pygame.display.set_mode(flags=pygame.RESIZABLE|pygame.DOUBLEBUF)
            # PC1
            if kaizong1:
                if event.key == pygame.K_i:
                    if kaii and pengz1 and j1.rect[1] >= zuidi1.rect[1] - j1.rect[3] + 1:
                        if 'i' not in j1.donzuo:
                            j1.donzuo.append('i')
                    ikai=True
                elif event.key == pygame.K_k:
                    if kaik:
                        j1.donzuo.append('k')
                        try:
                            if kkai==False and time.perf_counter()-ktime<=0.2 and j1.donzuo==['k'] and kaigun1==False and pengz1 and j1.rect[1] >= zuidi1.rect[1] - j1.rect[3] + 1:
                                j1.donzuo.append('kk')
                        except:
                            pass
                    kkai=True
                elif event.key == pygame.K_j:
                    if kaij:
                        j1.donzuo.append('j')
                        try:
                            if jkai==False and time.perf_counter()-jtime<=0.2 or 'll' in j1.donzuo:
                                j1.donzuo.append('jj')
                        except:
                            pass
                    jkai=True
                elif event.key == pygame.K_l:
                    if kail:
                        j1.donzuo.append('l')
                        try:
                            if lkai==False and time.perf_counter()-ltime<=0.2 or 'jj' in j1.donzuo:
                                j1.donzuo.append('ll')
                        except:
                            pass
                    lkai=True
                if kaiasdw and kaifeipu1==False and kaigun1==False:
                    if event.key == pygame.K_d:
                        if kaid:
                            if 'd' not in j1.donzuo and 'a' not in j1.donzuo and 's' not in j1.donzuo:
                                timed = time.perf_counter()
                                j1.donzuo.append('d')
                        dkai = True
                    if kaipc1:
                        if event.key==pygame.K_a:
                            if kaia:
                                if 'a' not in j1.donzuo:
                                    dabudao.play()
                                    quang1+=1
                                    timea = time.perf_counter()
                                    j1.donzuo.append('a')
                                    akai = True
                        elif event.key==pygame.K_s:
                            if kais:
                                if 's' not in j1.donzuo and 'a' not in j1.donzuo:
                                    dabudao.play()
                                    ti1 += 1
                                    times=time.perf_counter()
                                    j1.donzuo.append('s')
                                    skai=True
                        elif event.key==pygame.K_w:
                            if kaiw and 'i' not in j1.donzuo and pengz1 and j1.rect[1] >= zuidi1.rect[1] - j1.rect[3] + 1:
                                if 'w' not in j1.donzuo and 'a' not in j1.donzuo and 's' not in j1.donzuo and 'd' not in j1.donzuo:
                                    timew=time.perf_counter()
                                    j1.donzuo.append('w')
                            wkai=True
            # PC2
            if kaizong2:
                if event.key == pygame.K_UP:
                    if kaiup and pengz2 and j2.rect[1] >=zuidi2.rect[1]-j2.rect[3]+1:
                        if 'up' not in j2.donzuo:
                            j2.donzuo.append('up')
                    upkai = True
                elif event.key == pygame.K_DOWN:
                    if kaixia:
                        j2.donzuo.append('xia')
                        try:
                            if xiakai==False and time.perf_counter()-xiatime<=0.2 and j2.donzuo==['xia'] and kaigun2==False and pengz2 and j2.rect[1] >=zuidi2.rect[1]-j2.rect[3]+1:
                                j2.donzuo.append('xiaxia')
                        except:
                            pass
                    xiakai = True
                elif event.key == pygame.K_LEFT:
                    if kaizuo:
                        j2.donzuo.append('zuo')
                        try:
                            if zuokai == False and time.perf_counter() - zuotime <= 0.2 or 'youyou' in j2.donzuo:
                                j2.donzuo.append('zuozuo')
                        except:
                            pass
                    zuokai = True
                elif event.key == pygame.K_RIGHT:
                    if kaiyou:
                        j2.donzuo.append('you')
                        try:
                            if youkai == False and time.perf_counter() - youtime <= 0.2 or 'zuozuo' in j2.donzuo:
                                j2.donzuo.append('youyou')
                        except:
                            pass
                    youkai = True
                if kai1235 and kaifeipu2==False and kaigun2==False:
                    if event.key == pygame.K_KP3:
                        if kai3:
                            if '3' not in j2.donzuo and '1' not in j2.donzuo and '2' not in j2.donzuo:
                                time3 = time.perf_counter()
                                j2.donzuo.append('3')
                        n3kai = True
                    if kaipc2:
                        if event.key == pygame.K_KP1:
                            if kai1:
                                if '1' not in j2.donzuo:
                                    dabudao.play()
                                    quang2+=1
                                    time1=time.perf_counter()
                                    j2.donzuo.append('1')
                                    n1kai=True
                        elif event.key == pygame.K_KP2:
                            if kai2:
                                if '2' not in j2.donzuo and '1' not in j2.donzuo:
                                    dabudao.play()
                                    ti2 += 1
                                    time2 = time.perf_counter()
                                    j2.donzuo.append('2')
                                    n2kai = True
                        elif event.key == pygame.K_KP5:
                            if kai5 and 'up' not in j2.donzuo and pengz2 and j2.rect[1] >=zuidi2.rect[1]-j2.rect[3]+1:
                                if '5' not in j2.donzuo and '1' not in j2.donzuo and '2' not in j2.donzuo and '3' not in j2.donzuo:
                                    time5 = time.perf_counter()
                                    j2.donzuo.append('5')
                            n5kai = True
        elif event.type ==pygame.KEYUP:
            # PC1
            if event.key==pygame.K_i:
                ikai=False
            elif event.key == pygame.K_k:
                if 'k' in j1.donzuo:
                    j1.donzuo.remove('k')
                kkai=False
                ktime=time.perf_counter()
            elif event.key == pygame.K_j:
                if 'j' in j1.donzuo:
                    j1.donzuo.remove('j')
                if 'jj' in j1.donzuo:
                    j1.donzuo.remove('jj')
                jkai=False
                jtime=time.perf_counter()
            elif event.key == pygame.K_l:
                if 'l' in j1.donzuo:
                    j1.donzuo.remove('l')
                if 'll' in j1.donzuo:
                    j1.donzuo.remove('ll')
                lkai=False
                ltime=time.perf_counter()
            elif event.key==pygame.K_d:
                dkai=False
            elif event.key==pygame.K_w:
                wkai=False
            # PC2
            if event.key == pygame.K_UP:
                upkai = False
            elif event.key == pygame.K_DOWN:
                if 'xia' in j2.donzuo:
                    j2.donzuo.remove('xia')
                xiakai = False
                xiatime=time.perf_counter()
            elif event.key == pygame.K_LEFT:
                if 'zuo' in j2.donzuo:
                    j2.donzuo.remove('zuo')
                if 'zuozuo' in j2.donzuo:
                    j2.donzuo.remove('zuozuo')
                zuokai = False
                zuotime = time.perf_counter()
            elif event.key == pygame.K_RIGHT:
                if 'you' in j2.donzuo:
                    j2.donzuo.remove('you')
                if 'youyou' in j2.donzuo:
                    j2.donzuo.remove('youyou')
                youkai = False
                youtime = time.perf_counter()
            elif event.key==pygame.K_KP3:
                n3kai=False
            elif event.key == pygame.K_KP5:
                n5kai = False
    PC1donhua()
    PC2donhua()
    pc1oula()
    pc2oula()
    j1.bianjie()
    j2.bianjie()
    # 回血
    if xieliang1<=0:
        xieliang1=120
    if xieliang2<=0:
        xieliang2=120
    #脸向的方向
    if j1.fangxiang == 'zuo':
        j1.image = pygame.transform.flip(j1.image, True, False)
    if j2.fangxiang == 'zuo':
        j2.image = pygame.transform.flip(j2.image, True, False)
    pygame.display.flip()

4(four)宝藏
简介:就是把一个文本放到写到代码text字符串里,然后 打包后 发给别人,别人如果不会反编译的话,要想看到 文本 就需要在3分钟内先破译20个摩根密码(绝对标准的哦)
他如果破译成功,就会在本代码所在文件夹生成一个 机密文件.txt 你的文本就放在里面
让你变High的是,如果他没有在3秒之内 双击打开txt 或者 关闭代码(拆弹) 的话 txt文件会被删除,那他就需要再破译一次,呀嘞呀嘞daze。

import time
import random
import os
text = '''
笨蛋,呐
    这是你要的东西
好好享受吧!!!
'''
biao='abcdefghijklmnopqrstuvwxyz0123456789?/()-.'
mimabiao={'a': '*-', 'b': '-***', 'c': '-*-*', 'd': '-**', 'e': '*', 'f': '**-*', 'g': '--*', 'h': '****', 'i': '**', 'j': '*---', 'k': '-*-', 'l': '*-**', 'm': '--', 'n': '-*', 'o': '---', 'p': '*--*', 'q': '--*-', 'r': '*-*', 's': '***', 't': '-', 'u': '**-', 'v': '***-', 'w': '*--', 'x': '-**-', 'y': '-*--', 'z': '--**', '1': '*----', '2': '**---', '3': '***--', '4': '****-', '5': '*****', '6': '-****', '7': '--***', '8': '---**', '9': '----*', '0': '-----', '?': '**--**', '/': '-**-*', '()': '-*--*-', '-': '-****-', '.': '*-*-*-'}
scale=50
def jingdutiao(a=0.01,b='>'):
    print("开始加载".center(scale // 2, "-"))
    start = time.perf_counter()
    for i in range(scale + 1):
        r = b * i
        y = ' ' * (scale - i)
        p = (i / scale) * 100
        dur = time.perf_counter() - start
        print("\r{:^3.0f}%[{}{}]{:.2f}s".format(p, r, y, dur), end="")
        time.sleep(a)
    time.sleep(0.5)
    print("\n" + "加载完毕".center(scale // 2, '-'))
    time.sleep(0.5)
def qianxi():
    global timea
    mima = ''
    tishi=''
    for i in range(20):
        a=random.randint(0, 41)
        if biao[a:a+1]=='(':
            mima+=biao[a:a+2]
            tishi += mimabiao[biao[a:a+2]] + ' '
        elif biao[a:a+1]==')':
            continue
        else:
            mima+=biao[a:a+1]
            tishi += mimabiao[biao[a:a+1]] + ' '
    print('密码===||\t\t'+tishi+'\t\t||')
    print('=====-----|NvN|计 时 开 始|NvN|-----=====')
    timea=time.perf_counter()
    while 1:
        a = input('请输入密码:')
        if time.perf_counter() - timea > 180:
            return 1
        if a == mima:
            print()
            for i in ['正确的钥匙!!! 破译成功!!!','友情提示: 在3s之内   打开机密文件  或者  进行拆弹','宝箱已开!!!\t你已获取机密文件!!!\t请享用!!!\n\n','自毁程序启动\t\t*v*\t艺术就是爆炸!!!']:
                print(('\r' + i).center(50,' '), end='')
                if i=='宝箱已开!!!\t你已获取机密文件!!!\t请享用!!!\n\n':
                    a = open('机密文件.txt', 'w', encoding='utf-8')
                    a.write(text)
                    a.close()
                    time.sleep(0.5)
                    continue
                time.sleep(1.5)
            print()
            jingdutiao(0.001,'/')
            break
        else:
            print('\r破译失败!!!\t', end='')
if __name__=="__main__":
    for i in ['恭喜你发现了宝藏!!!', '本程序用于查看网络设备互联课作业的配置命令', '但请先破译下面的密码|¥v¥|', '你有3分钟的时间破译密码', '准备!!!', '3', '2', '1', '密码来咯']:
        print(('\r' + i).center(50,' '), end='')
        time.sleep(1)
    print()
    while 1:
        jingdutiao()
        if qianxi():
            print()
            print('Because没有在3分钟内破译,需要重新开始破译^_^\n')
            time.sleep(1)
        else:
            break
    os.remove('机密文件.txt')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhoukee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值