没办法,不让太长,只能分两博
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')