您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > python初探之网络拼图游戏
Python初探之网络拼图游戏南京市大厂高级中学章莉一、效果演示与游戏玩法问题(1)刚刚的拼图游戏由几块图像块构成?(2)如何移动图像块?(3)所有图像块鼠标点击时都能移动吗?设计思路二、具体实现步骤(1)加载图片和框架;(2)打乱图像块的坐标;(3)设计鼠标点击事件。任务一:启动IDLE,新建main.py并保存于桌面,输入renwu1.txt中的代码,调试运行程序。复习回顾(2)打乱图像块的坐标提示:1、打乱顺序的函数:random.shuffle()2、图像块的坐标列表:all_coordinates语法错误SyntaxError(缩进和空格键的区别)任务二:添加代码文本编辑器(可用于检查代码语法错误)完整代码:random.shuffle(all_coordinates)任务三:修改代码•依次检查当前图像块的上,下,左,右,是否有空,如果有就移动当前图像块。需要解决的问题:•修改renwu3.txt中的关于坐标的代码,共计3空,并将代码添加至main.py,调试运行。任务三:(1)认识图像块的行(r)和列(c)第1行,r=0第2行,r=1第3行,r=2第1列c=0第2列c=1第3列c=2假如用board[r][c]来表示坐标?board[1][1]board[r][c]board[1][0]board[r][c-1]board[0][1]board[r-1][c]board[1][2]board[r][c+1]board[2][1]board[r+1][c](2)鼠标点击图片移动的条件条件一:有空有空有空有空有空有空board[r][c]假设第一种情况:判断上面结论:如果当前图像块是最上面的话就不能再往上移动,否则当前图像块会消失。board[r-1][c]条件二:边界值(r-1=0)判断上面的条件是:board[r-1][c]既要是空值也要存在于画布中。(2)鼠标点击图片移动的条件条件一:有空有空有空有空有空有空board[r][c]假设第二种情况:判断下面board[r+1][c]条件二:边界值(r+1=2)(3)熟悉if语句第一种情况:判断上面ifr-1=0andboard[r-1][c]isNone:#如果当前图像块的上面一个图像块在画布内且该图像块的上面一个图像块是空的时board[r][c]=None#将空的图像块赋值给当前图像块board[r-1][c]=current_square#将当前图像块赋值给上面的图像块steps+=1#步数加1判断下面、左面、右面的代码同上(注意图像块坐标和边界值是不一样的)任务三:修改代码如何注册鼠标点击事件?(如何调用函数?)思考:提示:1、图像块的行(r),序号最小为0,最大为22、图像块的列(c),序号最小为0,最大为2三、试一试,比一比同学们试试看多少步能把图片拼接完成?(PS:左图是我的最高纪录)四、拓展任务试试看换张图片(参照素材中的图片网址.txt)五、课堂总结(1)新建代码(加载图片和框架);(2)添加代码(打乱图像块的坐标);(3)修改代码(设计鼠标点击事件)。Thankyouforlistening!
本文标题:python初探之网络拼图游戏
链接地址:https://www.777doc.com/doc-7319154 .html