""" 猴小子冲关.py """ from sprites import * try: import pygame except: import sys print("本程序需要pygame混音器支持以便播放音效。\n请先用pip install pygame命令在cmd窗口下安装。") input() sys.exit() title = '猴小子冲关_Python精灵模块版本' pygame.mixer.init() pygame.mixer.music.load('audio/Jetpack Joyride.wav') pygame.mixer.music.play(-1,0) dead_sound = pygame.mixer.Sound("audio/死.wav") collect_sound = pygame.mixer.Sound("audio/collect.wav") bgi = 0 bgs = [f'bgs/{index}.png' for index in range(12)] # 12张背景图 width,height = 480,360 screen = Screen() screen.setup(width,height) screen.bgpic(bgs[bgi]) screen.title(title) weapons = ['im/剑.png','im/匕首.png','im/戟.png','im/环.png','im/锤.png', 'im/盾4.png','im/箭.png','im/菜刀.png','im/血滴子.png','im/cat.png'] _help = Sprite('im/title.png',visible=False) _help.sety(120) _help.stamp(3) # 3秒后此图章被清除 _help.shape('im/help.png') _help.sety(60) _help.stamp(5) # 5秒后此图章被清除 # 障碍物 obstacle = Sprite(shape=random.choice(weapons),visible=False) # 障碍物 x = random.randint(width,width*2) y = random.randint(-height//2,height//2) obstacle.goto(x,y) # obstacle不断地旋转 def auto_rotate(): obstacle.left(30) screen.ontimer(auto_rotate,80) auto_rotate() # 金币 coins = [f"im/g{index}.png" for index in range(8)] c_index = 0 c_amounts = len(coins) coin = Sprite(shape=coins[0],visible=False) coin.scale(0.5) x = random.randint(width,width*2) y = random.randint(-height//2,height//2) coin.goto(x,y) coin.show() # coin不断地换造型 def coin_rotate(): global c_index c_index += 1 c_index %= c_amounts coin.shape(coins[c_index]) screen.ontimer(coin_rotate,100) coin_rotate() # 猴小子 costumes = ['im/造型1.gif','im/造型2.gif'] index = 0 monkey = Sprite(shape=costumes[index],pos=(-200,0)) monkey.scale(0.5) monkey.alive = True monkey.right(90) monkey.saycolor('cyan') monkey.saybordercolor('yellow') monkey.say("冲啊!!",wait=False) # monkey不断地变换造型 def alt_costume(): global index index = 1 - index monkey.shape(costumes[index]) screen.ontimer(alt_costume,50) alt_costume() akey = Key('a') # 实例化a按键 dkey = Key('d') # 实例化d按键 wkey = Key('w') # 实例化w按键 skey = Key('s') # 实例化s按键 screen.listen() # 监听按键 clock = Clock() speed = 10 # 背景移动速度 distance = 0 # 路程 counter = 0 # 接到的金币计数器 while speed>0: if monkey.alive == True: if akey.down(): monkey.addx(-4) # 按左键往左移 if dkey.down(): monkey.addx(4) # 按右键往右移 if wkey.down(): monkey.addy(4) # 按上键往上移 if skey.down(): monkey.addy(-4) # 按下键往下移 else: monkey.move(0,-5) # 猴死下坠 if monkey.ycor()<-height//2-500:speed = 0 以下代码省略......
下载完整源代码与素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)