创建游戏文件 2048.py
首先导入需要的包:
主逻辑
用户行为
所有的有效输入都可以转换为"上,下,左,右,游戏重置,退出"这六种行为,用 actions 表示
有效输入键是最常见的 W(上),A(左),S(下),D(右),R(重置),Q(退出),这里要考虑到大写键开启的情况,获得有效键值列表:
将输入与行为进行关联:
状态机
处理游戏主逻辑的时候我们会用到一种十分常用的技术:状态机,或者更准确的说是有限状态机(FSM)
你会发现 2048 游戏很容易就能分解成几种状态的转换。
state 存储当前状态, state_actions 这个词典变量作为状态转换的规则,它的 key 是状态,value 是返回下一个状态的函数:
Exit: 退出循环
状态机会不断循环,直到达到 Exit 终结状态结束程序。
下面是经过提取的主逻辑的代码,会在后面进行补全:
用户输入处理
阻塞+循环,直到获得用户有效输入才返回对应行为:
矩阵转置与矩阵逆转
加入这两个操作可以大大节省我们的代码量,减少重复劳动,看到后面就知道了。
矩阵转置:
矩阵逆转(不是逆矩阵):
创建棋盘
初始化棋盘的参数,可以指定棋盘的高和宽以及游戏胜利条件,默认是最经典的 4×4~2048。
棋盘操作
随机生成一个 2 或者 4
棋盘走一步
通过对矩阵进行转置与逆转,可以直接从左移得到其余三个方向的移动操作
判断输赢
绘制游戏界面
完成主逻辑
完成以上工作后,我们就可以补完主逻辑了!
运行
填上最后一行代码:
总结
以上所述是小编给大家介绍的200 行python 代码实现 2048 游戏,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!