#!NEW SPACEFLIGHT!#############################Ver 8.0.1###########################################
# ### # #
# # ############# # # ####### ####### ####### ## ## #
# ########## # ## ## # # ## ## ## ## ## ## #
# # # # ###### ## # ####### ## ## ####### ####### #
# # # ## # ## ## ## ## ## #
# # # ## ########## # ####### ####### ####### ## #
# # #
# # ############################################
# # ###### # Ver #
# ########### # # ########## # ####### ####### ### #
# # # # # # ## ## ## ## ##### #
# # # # # # # ####### ## ## ### #
# # # # # # # ## ## ## ## ### #
# # # # ####### ## ####### ## ### #
###################################################################################################
#模块导入--------------------------------------------------------------
import pgzero
import pgzrun
import random as rr
import ybc_box as bb
#pgzero head----------------------------------------------------------
HEIGHT = 700
WIDTH = 400
TITLE = "太空飞行"
#播放音乐--------------------------------------------------------------
music.play('1.mp3')
#定义函数--------------------------------------------------------------
#达到距离
def pas():
global past,one
past -= 1
one += 1
def turn():
zy.angle += 30
zy.y += 10
ball.angle += 30
ball.y += 10
def num():
global hhh ,kph
hhh-= kph
def numy():
global hhhy,kph
hhhy-= kph
def num_():
global balltime,kph
balltime -= kph
def ball_A():
global ballst,balltime
ballst = 'tired'
clock.schedule_interval(num_,0.09)
def st():
global frag,ty,yyyy
frag = True
yyyy = True
ty = ty*3.5
clock.schedule_interval(num,0.09)
def end():
global frag,ty,hhh
frag = False
def sty():
global ftag,ty
ftag = True
zy.image = '3.png'
clock.schedule_interval(numy,0.09)
def endy():
global ftag,hhhy,ty
ftag = False
if blo>=7:
zy.image = '2.png'
elif blo>=1 and blo<7:
zy.image = '1.png'
clock.unschedule(numy)
hhhy = 5
def st1():
global ty,yyyy,hhh
ty = ty/3.5
yyyy = False
clock.unschedule(num)
clock.schedule(end,1)
hhh = 5
def shurt():
global rrr
zy.image = 'hurt.png'
rrr = True
clock.schedule(ehurt,0.12)
def ehurt():
global rrr,ftag
rrr = False
if blo>=7:
zy.image = '2.png'
elif blo>=1 and blo<7:
zy.image = '1.png'
if ftag:
zy.image = '3.png'
def sgood():
global ppp
zy.image = '0.png'
ppp = True
clock.schedule(egood,0.12)
def egood():
global ppp,ftag
ppp = False
if blo>=7:
zy.image = '2.png'
elif blo>=1 and blo<7:
zy.image = '1.png'
if ftag:
zy.image = '3.png'
def face():
if wl[3].image == 'wxr4.png':
wl[3].image = 'star.png'
elif wl[3].image == 'star.png':
wl[3].image = 'wxr4.png'
def none(b = False):
global fnag
fnag = b
#设置变量--------------------------------------------------------------
state = 'ready'
soo = '0'
soo1 = '0'
ballst = 'get'
balltime = 10
wl = []
blo = 10
rrr = False
ppp = False
yyyy = False
kill = 0
ty = 1
qc = 0.003
tqcy = 0.000003
m = 0
u = 1
an = 0
hhh = 5
hhhy = 5
kph = 0.1
kc = 50
abc = 0
qabc = 13
past = 6
one = 1
mdict = {6:'很好,超过100m!',
5:'不错,超过500m!',
4:'可以啊,超过1000m!',
3:'有实力!超过2000m!',
2:'太强了!超过3000m!',
1:'简直超神!!超过5000m!'}
frag = False
ftag = False
fnag = False
#
rakit = False
rkq = False
rkp = False
rk = 0
rkgo = 0
ak =0
v = ''
vsc = 0
#
#
lop = 0
level = {1:[10,'ball.png',10,50],
2:[9,'ball.png',9,70],
3:[8,'ball.png',8,100],
4:[6,'roball.png',6,150],
5:[5,'roball.png',5,250]}
sv = 1
ab = [
0.000,0.000,0.001,0.004,0.012,
0.025,0.057,0.102,0.146,0.212,
0.263,0.335,0.401,0.485,0.560,
0.635,0.723,0.819,0.913,1.025,
1.138,1.256,1.398,1.504,1.639,
1.769,1.945,2.101,2.289,2.478,
2.685,2.897,3.106,3.315,3.554,
3.790,4.035,4.286,4.563,4.834,
5.109,5.299,5.601,5.918,6.245,
6.587,6.921,7.272,7.540,7.806,
8.153,8.514,8.980,9.398,9.855,
10.407,10.975,11.435,11.930,12.473,
12.998,13.539,14.051,14.603,15.234,
15.901,16.589,17.315,18.020,18.751,
19.534,20.215,22.013,22.814,23.689,
24.495,25.301,26.137,26.986,27.890,
28.895,29.914,30.959,32.045,33.140,
34.245,35.390,36.587,37.867,39.076,
40.250,41.473,42.841,43.917,45.075,
46.134,47.380,48.585,49.715,50.000,
50.000, 50.285, 51.415, 52.620, 53.866,
54.925, 56.083, 57.159, 58.527, 59.750,
60.924, 62.133, 63.413, 64.610, 65.755,
66.860, 67.955, 69.041, 70.086, 71.105,
72.110, 73.014, 73.863, 74.699, 75.505,
76.311, 77.186, 77.987, 79.785, 80.466,
81.249, 81.980, 82.685, 83.411, 84.099,
84.766, 85.397, 85.949, 86.461, 87.002,
87.527, 88.070, 88.565, 89.025, 89.593,
90.145, 90.602, 91.020, 91.486, 91.847,
92.194, 92.460, 92.728, 93.079, 93.413,
93.755, 94.082, 94.399, 94.701, 94.891,
95.166, 95.437, 95.714, 95.965, 96.210,
96.446, 96.685, 96.894, 97.103, 97.315,
97.522, 97.711, 97.899, 98.055, 98.231,
98.361, 98.496, 98.602, 98.744, 98.862,
98.975, 99.087, 99.181, 99.277, 99.365,
99.440, 99.515, 99.599, 99.665, 99.737,
99.788, 99.854, 99.898, 99.943, 99.975,
99.988, 99.996, 99.998, 99.999, 99.999
]
tip = ''
ake = [ '太空垃圾:旋转的太空垃圾,碰|到减1滴血。特殊点:无。 .',
'小绿:外星人,碰到减1滴血。特|殊点:可以简单地横向运动。 .',
'小蓝:外星人,碰到减1滴血。特|殊点:速度特别快。 .',
'小黄:外星人,碰到减1滴血。特|殊点:常常刷新在壮猿正前方。',
'星星:闪耀的明星,吃到加1滴血|刷新频率:中速 .',
'药水:神奇的药水,喝到无敌5秒|刷新频率:很慢 .',
'缩小旗:魔力红旗,碰到缩小5秒|刷新频率:较慢 .',
'小金:高级外星人。特殊:出现在|1万米后的结界,喜爱伪装星星 .' ,
'小青:高级外星人。特殊:出现在|1万米后的结界,可造成2点伤害 .']
tips = [
'彩弹具有穿透性,发射彩弹时,可以找怪物垃圾成群的地方发射彩蛋,效率会更高',
'高级彩弹非常厉害,前期最好杀怪升级彩弹,速度加快时需要靠高级彩弹帮你撑着哟!',
'无敌药瓶不仅无敌,同时增快至3.5倍速度,可以一下飞跃极远的距离,一定要捡!',
'在无敌时刻用彩弹将怪物消灭,怪物再次出现的时间间隔会更长',
'彩弹级别越高,不仅会减少冷却时间,怪物再次出现的时间间隔也会增加',
'可以通过用彩弹消灭怪物的方式升级彩弹,满级5级(消灭50个怪),等级越高越实用!',
'在跑过10000米后,会进入外星人世界,增添不同的外星人,速度的变快会更猛烈',
'绿色外星人可以简单横向运动,攻击范围较大,务必谨慎飞行,观察好其运动走向',
'蓝色外星人的速度极快,是后期的“血量杀手”,趁不注意攻击,最好灵活横向躲开',
'橙色外星人刷新时会刷新在飞船的前方,速度不快,但只有不停躲避才能逃脱追捕!',
'万米后的金色外星人,擅长伪装成不会转动的加血星星,但真正的星星是会转动的!',
'外星人世界中的暗绿色外星人,碰到造成双倍伤害,看到它一定要躲得远远的',
'作者正在研发新版本中,预计2月底下一版本发行,带给更流畅的游戏体验!',
'页面操作飞船时要相对靠后靠下一些,因为你不知道前面会突然刷出一个什么怪物!',
'碰到怪不会立刻减血,而是增加减血积能的分子,每1/60秒分子就会增加1',
'减血积能的分母随着距离的增大变得越来越小,当分子≥分母时,血量才会减1',
'本游戏目前最远记录17518米,等你来战666(刷新记录告诉作者,得截图哈)',
'本游戏还藏着一个秘密,仔细观察代码,说不定你能找到(提示按键功能)!',
'想要飞到万米远,在速度加到非常快时,多吃无敌药瓶、使用高级彩弹是必要之术',
'该游戏目前无尽头,但马上会更新,还需勤加练习!(1万米不算什么,飞到tell作者)'
]
#创建角色--------------------------------------------------------------
a1 = rr.randint(20,380)
a2 = rr.randint(20,380)
b1 = rr.randint(20,380)
b2 = rr.randint(20,380)
a3 = rr.randint(20,380)
b5 = rr.randint(20,380)
bg = Actor('bg.png',[200,0])
zy = Actor('2.png',[200,500])
wxr1 = Actor('wxr1.png',[a1,-140])
wxr2 = Actor('wxr2.png',[a2,-280])
wxr3 = Actor('wxr3.png',[a3,-280])
lit1 = Actor('lj.png',[b1,-560])
lit2 = Actor('lj.png',[b2,-700])
b3 = rr.randint(20,380)
b4 = rr.randint(20,380)
star = Actor('star.png',[b3,-750])
gogo = Actor('prize.png',[b4,-1600])
small = Actor('small.png',[b5,-1300])
lose = Actor('l.png')
win = Actor('w.png')
_star = Actor('star.png',[50,380])
_gogo = Actor('prize.png',[50,450])
_small = Actor('small.png',[50,520])
_lit = Actor('lj.png',[50,100])
_wxr1 = Actor('wxr1.png',[50,170])
_wxr2 = Actor('wxr2.png',[50,240])
_wxr3 = Actor('wxr3.png',[50,310])
_wxr4 = Actor('wxr4.png',[50,590])
_wxr5 = Actor('wxr5.png',[50,660])
ball = Actor('ball.png',zy.pos)
wl.append(wxr1)
wl.append(wxr2)
wl.append(wxr3)
wl.append(lit1)
wl.append(lit2)
#function draw()------------------------------------------------------
def draw():
global state,frag,hhh,hhhy,rkq,rkp,v,rakit,ty,qc,rkq,blo,rkp,lop,ballst,balltime,abc,qabc,level,sv,kill,tips,tip,one,ake,rk
#全局绘制
bg.draw()
screen.draw.text('Ver 8.0.1',center = [25,690],color = [255,255,255],fontsize = 8)
star.draw()
gogo.draw()
small.draw()
for i in wl:
i.draw()
#说明模式
if state == 'show':
_wxr1.draw()
_wxr2.draw()
_wxr3.draw()
_lit.draw()
_star.draw()
_gogo.draw()
_small.draw()
_wxr4.draw()
_wxr5.draw()
screen.draw.text('说明',center = [200,35],color = [255,246,121],fontsize = 35,ocolor = [21,231,21],owidth = 2)
for i in range(9):
cen = 85 + i*70
args = ake[i].split('|')
screen.draw.text(args[0],center = [250,cen],color = [221,221,221],fontsize = 18,ocolor = [121,121,121],owidth = 0.2)
screen.draw.text(args[1],center = [250,cen+30],color = [221,221,221],fontsize = 18,ocolor = [121,121,121],owidth = 0.2)
#准备模式
if state == 'ready':
screen.draw.text('太空飞行',center = [200,230],color = [95,157,245],fontsize = 40,ocolor = [115,207,245],owidth = 1.2)
screen.draw.text('游戏玩法说明:用光标控制壮猿,尽量',center = [200,280],color = [95,137,245],fontsize = 18,ocolor = [95,137,245],owidth = 0.8)
screen.draw.text('飞行得更久!!壮猿有10滴血,碰到外',center = [200,300],color = [95,137,245],fontsize = 18,ocolor = [95,137,245],owidth = 0.8)
screen.draw.text('星人或太空垃圾将会减少一滴血,血条',center = [200,320],color = [95,137,245],fontsize = 18,ocolor = [95,137,245],owidth = 0.8)
screen.draw.text('归零时游戏失败。加油! .',center = [200,340],color = [95,137,245],fontsize = 18,ocolor = [95,137,245],owidth = 0.8)
screen.draw.text('(点击鼠标开始游戏,空格查看说明)',center = [200,360],color = [95,137,245],fontsize = 18,ocolor = [95,137,245],owidth = 0.8)
#zy&sv
zy.draw()
if ballst != 'tired':
ball.draw()
#启动模式
if state == 'move' or state == 'pause':
#仪表盘
screen.draw.text('距离(m):'+str('%.2f'%m),center = [100,30],color = [221,221,221],fontsize = 14,ocolor = [34,34,34],owidth = 0.2)
screen.draw.text('速度(km·h⁻¹):'+str('%.2f'%(ty*10.8)),center = [100,50],color = [221,221,221],fontsize = 14,ocolor = [34,34,34],owidth = 0.2)
screen.draw.text('血量:'+str(blo),center = [100,70],color = [255,191,191],fontsize = 14,ocolor = [55,19,19],owidth = 0.2)
screen.draw.text('减血积能:'+str(abc)+'/'+str(qabc),center = [100,90],color = [255,191,191],fontsize = 14,ocolor = [55,19,19],owidth = 0.2)
if balltime >= level[sv][0]:
if ballst == 'get':
screen.draw.text('彩弹蓄势待发',center = [100,110],color = [255,255,191],fontsize = 14,ocolor = [55,55,19],owidth = 0.2)
else:
screen.draw.text('彩弹飞行中',center = [100,110],color = [255,255,191],fontsize = 14,ocolor = [55,55,19],owidth = 0.2)
else:
screen.draw.text('彩弹冷却:'+str('%.1f'%balltime)+'s',center = [100,110],color = [255,255,191],fontsize = 14,ocolor = [55,55,19],owidth = 0.2)
screen.draw.text('消灭数量:'+str(kill),center = [100,130],color = [255,255,191],fontsize = 14,ocolor = [55,55,19],owidth = 0.2)
screen.draw.text('彩弹等级:'+str(sv)+'级',center = [100,150],color = [255,255,191],fontsize = 14,ocolor = [55,55,19],owidth = 0.2)
#作弊器
if fnag == True :
screen.draw.text('! user cancel !',center = [275,160],color = [205,55,19],fontsize = 20,ocolor = [205,55,19],owidth = 0.2)
if rakit == True :
screen.draw.text('RAKIT',center = [380,690],color = [255,255,255],fontsize = 6)
if rk == 1 :
screen.draw.text('ty('+'%.2f'%ty+') == '+str(v),center = [275,160],color = [255,255,255],fontsize = 20,ocolor = 'black',owidth = 0.2)
if rk == 2 :
screen.draw.text('qc('+'%.4f'%qc+') == '+str(v),center = [275,160],color = [255,255,255],fontsize = 20,ocolor = 'black',owidth = 0.2)
if rk == 3 :
screen.draw.text('blo('+str(blo)+') == '+str(v),center = [275,160],color = [255,255,255],fontsize = 20,ocolor = 'black',owidth = 0.2)
if rk == 4 :
screen.draw.text('kill('+str(kill)+') == '+str(v),center = [275,160],color = [255,255,255],fontsize = 20,ocolor = 'black',owidth = 0.2)
if rk == 5 :
screen.draw.text('rkq('+str(rkq)+') == '+str(v),center = [275,160],color = [255,255,255],fontsize = 20,ocolor = 'black',owidth = 0.2)
if rk == 6 :
screen.draw.text('rkp('+str(rkp)+') == '+str(v),center = [275,160],color = [255,255,255],fontsize = 20,ocolor = 'black',owidth = 0.2)
#buff
if frag == True and yyyy == True :
screen.draw.text('[无敌中('+'%.1f'%hhh +'s)]',center = [275,70],color = [255,191,255],fontsize = 20,ocolor = [55,19,55],owidth = 0.2)
if ftag == True :
screen.draw.text('[缩小中('+'%.1f'%hhhy+'s)]',center = [275,100],color = [191,255,191],fontsize = 20,ocolor = [19,55,19],owidth = 0.2)
#米数提醒
mmm = [100,500,1000,2000,3000,5000]
colorst = [[95,187,245],[245,187,95],[245,95,95]]
for i in range(6,0,-1):
if m >= mmm[-i] and past == i:
col = colorst[i%2]
if i == 1:
col = [245,95,95]
screen.draw.text(mdict[past],center = [275,130],color = col,fontsize = 15,ocolor = col,owidth = 0.2)
if one == 1:
sounds.m.play()
clock.schedule(pas,2)
one = 0
#暂停模式
if state == 'pause':
screen.draw.text('[暂停中]',center = [275,40],color = [0,0,0],fontsize = 24,ocolor = [221,221,221],owidth = 0.4)
#结束模式
if state == 'stop':
if m < 10000:
lose.draw()
else :
win.draw()
screen.draw.text('最终距离(m):'+str('%.2f'%m),center = [200,100],color = [221,221,221],fontsize = 20,ocolor = [221,221,221],owidth = 0.3)
screen.draw.text('超过了'+str('%.3f'%lop)+'%的玩家!',center = [200,150],color = [221,221,221],fontsize = 20,ocolor = [221,221,221],owidth = 0.3)
screen.draw.text('Warm Tips: ' ,center = [200,500],color = [255,221,221],fontsize = 24,ocolor = [221,221,221],owidth = 0.1)
screen.draw.text(tip[:20],center = [200,530],color = [255,221,255],fontsize = 15)
screen.draw.text(tip[20:],center = [200,550],color = [255,221,255],fontsize = 15)
screen.draw.text('(点击空格键重来)',center = [200,600],color = [221,221,221],fontsize = 20,ocolor = [221,221,221],owidth = 0.3)
#function on_mouse_down()---------------------------------------------
def on_mouse_down(pos):
global state,kph,soo
#运行
if state == 'ready':
state = 'move'
#暂停运行切换
elif state == 'move':
state = 'pause'
kph = 0
if soo == '1':
clock.unschedule(face)
elif state == 'pause':
if zy.collidepoint(pos):
state = 'move'
kph = 0.1
clock.schedule_interval(face,3)
#function on_mouse_move()---------------------------------------------
def on_mouse_move(pos):
global ballst
#光标移动zy
if state == 'ready' or state == 'move':
zy.pos = pos
if ballst != 'fly' :
ball.pos = pos
#function on_key_down()-----------------------------------------------
def on_key_down():
global state,m,ty,blo,kill,rakit,v,qc,wl,rkq,rkp,ballst,soo,kill,sv,ak,rk,rkgo,vsc
tf = [False ,True ]
#准备说明切换
if state == 'ready' and keyboard.K_SPACE:
state = 'show'
zy.pos = [-1000,-1000]
ball.pos = [-1000,-1000]
elif state == 'show' and keyboard.K_SPACE:
state = 'ready'
zy.pos = [200,500]
ball.pos = [200,500]
#发射彩弹
if state == 'move' and keyboard.K_SPACE and ballst != 'tired':
ballst = 'fly'
#作弊器
if state == 'move' or state == 'pause':
if keyboard.K_RETURN and keyboard.K_UP and keyboard.K_DOWN :
if rakit:
rakit = False
else :
rakit = True
kb = [keyboard.K_Q,keyboard.K_W,keyboard.K_E,keyboard.K_R,keyboard.K_T,keyboard.K_Y,]
for i in range(6):
if keyboard.K_RETURN and kb[i] and rakit:
rk = i+1
rkgo = 1
ak = 0
num = ['1','2','3','4','5','6','7','8','9','0']
kb1 = [keyboard.K_1,keyboard.K_2,keyboard.K_3,keyboard.K_4,keyboard.K_5,keyboard.K_6,keyboard.K_7,keyboard.K_8,keyboard.K_9,keyboard.K_0]
if rkgo == 1:
for i in range(10):
if kb1[i]:
v += num[i]
if keyboard.K_M and ak == 0:
v += '.'
ak = 1
if '.' not in v:
ak = 0
if keyboard.K_LEFT and len(v) > 0:
v = v[0:-1]
if keyboard.K_A and keyboard.K_Z:
if v == '' or v == '.':
none(True)
clock.schedule(none,1)
rk = 0
v = ''
else:
if rk < 5:
if rk == 1:
ty = float(v)
if rk == 2:
qc = float(v)
if rk == 3:
blo = int(float(v))
if rk == 4:
kill = int(float(v))
v = ''
elif rk>=5:
if v == '0' or v == '1':
if rk == 5:
rkq = tf[int(v)]
if rk == 6:
rkp = tf[int(v)]
if v == '0':
vsc = 1
else:
none(True)
clock.schedule(none,1)
v = ''
rk = 0
if keyboard.K_SPACE and state == 'stop':
state = 'ready'
m = 0
ty = 1
fi = 1
blo = 10
sss = -150
for i in wl:
i.x = rr.randint(20,380)
i.y =sss
sss -= 150
zy.pos = [200,500]
zy.image = '2.png'
clock.unschedule(turn)
zy.angle = 0
b3 = rr.randint(20,380)
b4 = rr.randint(20,380)
b5 = rr.randint(20,380)
star.pos = [b3,-750]
gogo.pos = [b4,-1600]
small.pos = [b5,-1300]
bg.image = 'bg.png'
lit1.image = 'lj.png'
lit2.image = 'lj.png'
ball.image ='ball.png'
soo = '0'
sv = 1
kill = 0
qc = 0.003
#function update()----------------------------------------------------
def update():
global state,blo,ty,m,u,kc,frag,rrr,ftag,qc,rkq,rkp,lop,hhh,hhhy,kph,ballst,balltime,abc,qabc,soo,tqcy,kill,level,sv,tips,tip,vsc
# SV等级计算
killer = [-1,10,20,35,50,1000000000000000000]
for i in range(5):
if killer[i] < kill <=killer[i+1]:
sv = i+1
break
#sv图像
if sv >= 4 and ball.image == 'ball.png':
ball.image = 'roball.png'
if sv < 4 and ball.image == 'roball.png':
ball.image = 'ball.png'
#改变地图
if m >= 10000 and soo == '0':
soo = '1'
ty = 1
qc = 0.003
bg.image = 'gb.png'
lit1.image = 'wxr4.png'
lit2.image = 'wxr5.png'
b3 = rr.randint(20,380)
b4 = rr.randint(20,380)
b5 = rr.randint(20,380)
star.pos = [b3,-750]
gogo.pos = [b4,-1600]
small.pos = [b5,-1300]
clock.schedule_interval(face,3)
#准备
if state == 'ready':
ball.angle += 3
#启动
if state == 'move' or state == 'pause':
if hhh <= 0:
st1()
if hhhy <=0:
endy()
if rkp:
for i in wl:
i.pos = [-1000,1000]
star.pos = [-1000,1000]
gogo.pos = [-1000,1000]
small.pos = [-1000,1000]
if not rkp and vsc == 1:
vsc = 0
for i in wl:
i.bottom = -50
i.x = rr.randint(20,380)
star.y = -(300*ty)
star.x = rr.randint(20,380)
gogo.y = -(800*ty)
gogo.x = rr.randint(20,380)
small.y = -(600*ty)
small.x = rr.randint(20,380)
#运行
if state == 'move':
#减血积能
for i in range(12,4,-1):
if m<18000/i:
qabc = i
break
qabc = 4
#动态
ty += qc
m += ty/20
if soo == '1':
qc += tqcy
bg.y += ty
star.y += ty
star.angle += 12
gogo.y += ty
gogo.angle += 12
small.y += ty*1.2
ball.angle += 5
#彩弹
if ballst == 'fly':
ball.angle += 10
ball.y -= level[sv][2]
for i in wl:
if ball.colliderect(i):
i.y = -(level[sv][3]*ty)
kill += 1
if ball.bottom <= 0:
ball_A()
if balltime <= 0:
clock.unschedule(num_)
balltime = level[sv][0]
ballst = 'get'
#星星
if star.colliderect(zy):
blo += 1
sgood()
sounds.blo.play()
star.y = -(300*ty)
star.x = rr.randint(20,380)
if star.top >= 700:
star.y = -(300*ty)
star.x = rr.randint(20,380)
#药水
if gogo.colliderect(zy):
st()
sgood()
sounds.blo.play()
gogo.y = -(800*ty)
gogo.x = rr.randint(20,380)
if gogo.top >= 700:
gogo.y = -(800*ty)
gogo.x = rr.randint(20,380)
#旗子
if small.colliderect(zy):
sty()
sounds.blo.play()
small.y = -(600*ty)
small.x = rr.randint(20,380)
if small.top >= 700:
small.y = -(600*ty)
small.x = rr.randint(20,380)
#wl移动
for i in wl:
i.y += ty
wl[1].y += ty/2
wl[2].y += ty/10
wl[3].y += ty/8
for i in wl:
if i.top >= 700:
i.bottom = 0
if i == wl[2]:
i.x = zy.x
else :
i.x = rr.randint(20,380)
wl[0].x += u
kc += 1
if kc == 100:
u = -u
kc = 0
if soo == '0':
wl[3].angle += 7
wl[4].angle -= 5
#wl&zy
for i in wl:
if i.colliderect(zy) and frag == False and rkq == False :
#减积
abc += 1
if abc >= qabc:
if frag == False and rkq == False :
blo -=1
if soo == '1' and i==lit2:
blo += -1
i.bottom = -400
i.x = rr.randint(20,380)
shurt()
sounds.hurt.play()
abc = 0
#没血了
if blo <= 0:
state = 'stop'
sounds.over.play()
clock.schedule_interval(turn,0.04)
tip = rr.choice(tips)
if m >= 16000:
lop = 99.999
n = 0
sk = 0
if m <2500:
for i in range(200):
n += 0.3
sk += n
if sk >= m:
lop = ab[int(i)]
break
if m >=2500:
for i in range(73):
jj = m-2500
n += 5
sk += n
if sk >= jj:
lop = ab[int(126 + i)]
break
elif not rrr:
if not ftag:
if blo>=7:
zy.image = '2.png'
elif blo>=1 and blo<=6:
zy.image = '1.png'
if bg.top >= 0:
bg.bottom = 700
pgzrun.go()
游玩之前必须仔细阅读! 用光标控制10滴血的壮猿,使其飞行更久!中途有许多特殊的障碍物,为了抵达猿博士的基地,壮猿可得小心飞行! 打开说明:准备界面单击空格 发射彩弹:游戏中单击空格 暂停:游戏中单击鼠标左键
操作方式
光标控制壮猿,空格发射彩弹 (具体克隆代码,运行空格查看) 押个韵挺简单