吃豆小虫迷宫游戏

吃豆小虫迷宫游戏

古有吃豆小人,今有吃豆小虫。皆为程序代码,今之吃豆小虫,乃派森之程序。
运行此程序,按上下左右箭操作小虫即可吃豆。吃完所有豆豆,显示Game over。

"""
   吃豆小虫.py
   本程序有一个外置模块叫mazemake。这个模块中有一个叫make_image的函数。
   它能生成图像,可以有边框,图像的颜色和边框厚度与颜色都是可以设置的。
   
   它还有一个make_maze能把一个文本文件转换成一个迷宫。
   迷宫的砖块都是用一张图片做为角色,让角色所盖的图章。
   需要相关的知识为图章列表,它的名字叫stampItems。
   这个stampItems存储了角色所盖的所有图章的编号。
   make_maze函数返回屏幕对象以及角色对象和没有盖图章的所有坐标点。
   
   本程序还要理解find_overlapping中排除参数的用法。
   角色的find_overlapping是查找所有和它有矩形重叠的项目编号。
   如果想让角色不对某些项目进行碰撞检测,那么可以加一个参数,这叫排除参数。
   排除参数可以是列表或元组,也可以是一个整数,或者一个字符串。
   如果是列表或元组,则遍历它。把每个号码都进行排除。
   如果是整数,直接把这个号码排除。
   如果是字符串,则认为是某类角色的标签,会把这一类角色的编号都进行排除。
"""
from sprites import *                   # 从精灵模块导入所有命令
from mazemake import *                  # 从迷宫生成模块导入所有命令

pic = make_image(50,50)                 # 生成50x50的图像  
pic.save('c:/a.png')                    # 保存图像
screen,square,nullcors = make_maze('maze.txt','c:/a.png')

bean = Sprite(shape='circle',visible=False) # 新建豆子角色,用盖图章的方法产生豆子
bean.color('green')
bean.scale(0.3)
for x,y in nullcors:
    bean.goto(x,y)
    bean.stamp()                        # 绿色的豆子是一个图章
dots = bean.stampItems                  # 给图章列表取一个别名

bug = Sprite(pos=(-25,0))               # 生成虫子角色
bug.scale(0.8)                          # 把虫子变小一点

speed = 6                               # 虫子移动的单位距离
leftkey = Key('Left')                   # 新建左方向箭头
rightkey = Key('Right')                 # 新建右方向箭头
upkey = Key('Up')                       # 新建上方向箭头
downkey = Key('Down')                   # 新建下方向箭头
screen.listen()                         # 监听屏幕按键 

以下代码省略...... 

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。