2048逻辑分析
一.游戏目标:
在固定的面板里移动数字,相同的两个数字会合并成更高的数字(两数字之和)。
游戏胜利:最大数字达到预设数字
游戏失败:面板没有空白位置且最大数字没有达到预设数字
每移动一步,更新总分
二.游戏流程:
- 在空白位置(随机)填入两个初始数字(随机)
- 移动面板
(1).每移动一次,在空白位置(随机)填入一个数字(随机)
(2).向移动方向合并相同的‘两个数字’
(3).若有空白位置,则将空白位置移到最后
(4).每次移动之后需要判定游戏是否胜利,胜利则退出
(5).同时判定游戏是否失败
三.函数:
面板设置为([0,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,0])
- 获取所有空白位置,参数|无,输出[(x1,y1), (x2, y2)…]
- 在某位置填入数字,参数|位置:(x, y),输出|None
- 获取某一行的值,
- 设定某一行的值,
- 获取某一列的值,
- 设定某一列的值,
- 相同`两个`数字合并,参数|移动方向,列或行的值,输出|合并后的列或行
源码来源: term2048