tutle迷宫寻宝游戏 python maze game

turtle maze game迷宫寻宝游戏 by lixingqiu
turtle maze game迷宫寻宝游戏 by lixingqiu

用Python的海龟画图模块也能制作迷宫游戏!本迷宫游戏还特此配了音乐。下面是部分代码预览:

"""
   迷宫寻宝游戏,本程序演示了一个迷宫游戏。迷宫的地图是一个列表,
   这个列表的每一行字符代表迷宫中的不同物体。在本例中,X代表墙,
   空格代表可通行的地方,T代表财宝。每个字符在列表中的位置可以
   映射为坐标。
"""
from turtle import *
from winsound import *

def make_maze(level_map,block_image,prop_image):
    """
       产生迷宫,level_map是一个列表,block_image:方块gif图,prop_image:道具图
       本函数根据地图把迷宫给印出来,原理就是扫描level_map中的每一行,
       然后扫描每一行中的每一个字符,根据字符来决定印什么,同时生成墙列表和
       财宝列表。墙列表实际上记录的是所有墙的坐标,而财宝列表记录的是一个个
       的海龟对象,这是为了方便当角色碰到它时能方便地删除它们。
    """
   
    walls = []                   # 墙列表
    treasures = []               # 财宝列表
    t = Turtle(visible=False)    # 用来画墙的海龟对象
    t.penup()                    # 抬笔
    screen = t.getscreen()       # 获取所在的屏幕对象   
    screen.addshape(block_image) # 增加方块造型(墙)
    screen.addshape(prop_image)  # 增加道具,这里是财宝
    t.shape(block_image)         # 设造型为方块 
    start_x = -288               # 左上角起始x坐标
    start_y = 288                # 左上角起始y坐标   
    i = 0                        # i代表的其实是行的索引号
    ............................
class Player(Turtle):
    """
       玩家类,继承自Turtle
    """
    def __init__(self,image,pos,walls,treasures):
        """
           image:造型gif图,pos:初始坐标
           walls:墙列表,treasures:财宝列表
        """
        Turtle.__init__(self,visible=False)
        screen = self.getscreen()
        screen.addshape(image)
        self.shape(image)
        self.penup()
        self.goto(pos)
        self.showturtle()
        # 下面绑定上下左右键到相应的方法上
        screen.onkeypress(self.move_left,"Left")
        screen.onkeypress(self.move_right,"Right")
        screen.onkeypress(self.move_up,"Up")
        screen.onkeypress(self.move_down,"Down")
        screen.listen()
        self.walls = walls
        self.treasures = treasures
        self.gameover = False
        .....................

def main():
    """主要的执行函数"""
    PlaySound("music/SoundTest.wav",SND_LOOP|SND_ASYNC)
    # 下面这个表就是迷宫的地图,其中X代表墙,T代表财宝
    ..................
    screen = Screen()
    screen.delay(0)
    screen.title("迷宫寻宝游戏 by lixingqiu")
    screen.bgpic("images/bg.png")
    p = level_1,'images/block5.gif','images/treasure.gif'
    walls,treasures = make_maze(*p) 
    player1 = Player('images/girl.gif',(0,0),walls,treasures)
    screen.mainloop()    
        
if __name__ == "__main__":

    main()
    

 

下载完整源代码与素材,请扫码付款。

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。QQ群免费教学群:225792826 (提供真实姓名可入群)
李兴球的博客_Python创意编程技术前沿_pygame » tutle迷宫寻宝游戏 python maze game
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页