1、Click to edit Master title style,Edit Master text styles,Second level,Third level,Fourth level,Fifth level,8/4/2018,#,实践,1,2048,小游戏,2048,Demo,2048,小游戏规则,游戏操作,使用上下左右移动所有方块,游戏规则,在移动方向上相邻的相同数字会合并,,,变成原来数字的两倍,不同数字不会合并,获胜条件,产生数字,2048,失败条件,方块不能移动,Python,2048,从哪里入手,?,拆分逻辑,棋盘存储,棋盘移动,用户交互,分步实现,棋盘状态,4,4,的,Lis
2、t,全局访问,棋盘移动,三个修改棋盘状态的逻辑,下滑逻辑,合并逻辑,生成新数字逻辑,四个检查的状态,可以下滑,可以合并,是否获胜,是否不可移动,用户交互,展示信息,用一个表格显示,2048,的棋盘;,在表格下面显示操作状态;,在最下面显示输入提示。,用户输入,处理输入,使用,List,嵌套,List,完整实现,-,棋盘状态,定义初始化函数,定义辅助状态变量,完整实现,-,棋盘初始化,检查是否可以向下移动,完整实现,-,棋盘移动,(,向下,),向下移动,完整实现,-,棋盘移动,(,向下,),以,90%,是,2,,,10%,是,4,的概率在空位生成新数字,完整实现,-,生成新数字,通过翻转棋盘,,
3、使得其他三个,方向的移动变为向下,,,计算完,毕后翻转回原始朝向,(,说白了还是懒,),完整实现,-,其他移动方向,向上移动,其他方向略,完整实现,-,其他移动方向,用于判断是否输,完整实现,-,检查所有方向移动,完整实现,-,棋盘状态显示,完整实现,-,上一次输入,完整实现,-,输出到屏幕,完整实现,-,用户输入,完整实现,-,判断输入合法,完整实现,-,处理用户操作,完整实现,-,主体逻辑,完整实现,-,开始玩耍,界面提升,-curses,库,界面提升,-curses,库,界面提升,-curses,库,模块化设计思想,应用所学知识,发挥想象,小结,计分功能:每次合并可以得到合并后数字大小的分数,并且可以生成高分榜,撤销功能:返回到上一步,数字颜色:使用不同的颜色表示不同的数字块,计时功能:统计玩家的通关用时,后续功能,终极版,Python,2048,