Python海龟画图制作的超级玛丽接金币游戏

"""
这是用Python的海龟画图模块制作的接金币小游戏,用了pygame的mixer混音器进行配音
操作方法:使用鼠标指针左右移动超级玛丽,接到一个金币就会加一分,到达了一定的积分游戏就会结束。
本程序定义了一个Coin类和一个Mario类,它们都是继承自海龟的子类。
coin有goto_top方法和move方法,当coin到了最底下时,它就会自动回到最顶上的某个位置以便重新下落。
Mario类有alt_costume方法,这是让它不断地切换造型的方法。
Mario类还有一个follow_mouse方法,这是让玛丽跟随鼠标移动的方法。
本游戏配了音乐,可以用来教授类的继承,列表推导式,pygame混音器等的应用。
"""
from turtle import *
from coin import *
from mario import *
from pygame import mixer
     
title = "Python海龟画图制作的超级玛丽接金币游戏_by_李兴球"
width,height = 480,360
coin_image = "素材/Gold-coin.gif"
bgmusic = "素材/超级玛丽第二关背景音乐.wav"
mario_images = ["素材/马里奥-" + str(i) + ".gif" for i in range(1,8)]

screen = Screen()
screen.delay(0)
screen.setup(width,height)
screen.bgpic("素材/school2.png")
screen.addshape(coin_image)
[screen.addshape(image) for image in mario_images]

mixer.init()
sound = mixer.Sound("素材/接金币.wav")
mixer.music.load(bgmusic)
mixer.music.play(0,-1)

position = 0,60 - height//2
mary = Mario(position,mario_images)  # 新建马丽角色

coins = [Coin(coin_image,mary,sound) for i in range(10)] # 新建10个金币
Coin.title = title
while Coin.score < 50: [coin.move(-1) for coin in coins]

[coin.ht() for coin in coins]      # 所有金币都隐藏
Turtle(visible=False).write("游戏结束",align='center',font=('黑体',32,'normal'))
        
    

Python海龟画图制作的超级玛丽接金币游戏_by_李兴球