问题描述
一个4X4的矩阵,开始随机产生两个数(2或4),接下来的每次操作都会再次产生一个数(2或4)
操作要求:按W,S,A,D进行上,下,左,右操作
操作结果:每次操作都会合并操作方向上相同的数,即将两个相同的数合并在一起产生一个新的数,该数为两个数的和,并将该行(列)上的数移动至 操作方向的顶端(保证数字原有顺序不变)
解决思路
定义一个二维数组用来存储4X4矩阵上的数字
开始游戏时先产生两个随机数,然后开始正常游戏操作
操作:
根据操作方向遍历每行(列),检查是否存在相同的数字
如果该行(列)存在挨着的(即两个数字中间没有其它数字隔开)相同的数字,将操作方向顶端的数字变为原来的2倍,并将被合并掉的数变为0
合并结束后将数字移动到操作方向顶端,如果顶端已经存在数,则按操作顺序排放至后方
操作结束后产生新的随机数
原创2022年2月17日...大约 9 分钟