【Others】2048逻辑整理

2048逻辑分析

一.游戏目标:

在固定的面板里移动数字,相同的两个数字会合并成更高的数字(两数字之和)。

游戏胜利:最大数字达到预设数字

游戏失败:面板没有空白位置且最大数字没有达到预设数字

每移动一步,更新总分

二.游戏流程:

  1. 在空白位置(随机)填入两个初始数字(随机)
  2. 移动面板

(1).每移动一次,在空白位置(随机)填入一个数字(随机)

(2).向移动方向合并相同的‘两个数字’

(3).若有空白位置,则将空白位置移到最后

(4).每次移动之后需要判定游戏是否胜利,胜利则退出

(5).同时判定游戏是否失败

三.函数:

         面板设置为([0,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,0])

  1. 获取所有空白位置,参数|无,输出[(x1,y1), (x2, y2)…]
  2. 在某位置填入数字,参数|位置:(x, y),输出|None
  3. 获取某一行的值,
  4. 设定某一行的值,
  5. 获取某一列的值,
  6. 设定某一列的值,
  7. 相同`两个`数字合并,参数|移动方向,列或行的值,输出|合并后的列或行

 源码来源: term2048

原文地址:https://www.cnblogs.com/Hed-geh0g/p/7762691.html