public boolean checkLeft() { // 1. 创建新数组, 用于备份原数组数据. int[][] newArr = new int[4][4]; // 2. 将原数组数据, 拷贝到新数组中. copyArray(datas, newArr); // 3. 调用左移动方法, 对原数组数据进行左移动 moveToLeft(); // 4. 使用移动后的数据, 和备份的数据逐个进行比对, 并使用flag变量进行记录. // 设计思路: // true : 可以移动 // false : 不可以移动. boolean flag = false; // datas : 2 // newArr : 0 lo: for (int i = 0; i < datas.length; i++) { for (int j = 0; j < datas[i].length; j++) { if (datas[i][j] != newArr[i][j]) { // 主要元素有一个是不相同的, 就代表数据可以变化, 数据可以移动. flag = true; break lo; } } } // 5. 确定信息后, 恢复原数组数据(再做一次拷贝) copyArray(newArr, datas); // 6. 返回结果信息. return flag; }
时间: 2024-02-10 08:12:40 浏览: 57
通过控件数组调整数据.zip_通过鼠标拖动控件数组改变数据
这是一个用于判断游戏中是否可以向左移动的函数。具体实现步骤如下:
1. 创建一个新的二维数组,用于备份原始数据。
2. 将原始数据拷贝到新数组中。
3. 调用左移方法,对原始数组进行左移操作。
4. 使用移动后的数据和备份的数据逐个进行比对,并使用flag变量进行记录。如果有至少一个主要元素左移后的值与原始数组不同,就代表数据可以变化,可以移动。如果所有主要元素左移后的值与原始数组相同,就代表数据不能移动。
5. 确定信息后,将新数组的数据再次拷贝到原始数组中,恢复原始数据。
6. 根据flag变量的值返回结果信息,true表示可以向左移动,false表示不能向左移动。
阅读全文