数组合输入多于2

时间:2016-04-17 08:39:10

标签: java arrays arraylist

我正在开发一个“合并号码”游戏的实现,可以在Play商店看到:https://play.google.com/store/apps/details?id=com.ft.game.puzzle.cubelevels

我的想法是,如果我有一个2D数组的单元格,其中一些是空的,其他的有数字,我将一个给定的数字放入一个空单元格,然后如果该数字匹配至少3个邻居,邻居变空,单元格值增加。一个简单的例子:

| 1 | 2 | 3 | 4 |
| 3 |   | 2 |   |
| 1 | 2 | 3 |   |
|   | 2 | 1 | 4 |

如果下一个数字(由游戏随机生成)为2,我将其放入单元格(1,1)(其中(0,0)为左上角单元格),新游戏板应如下所示:

| 1 |   | 3 | 4 |
| 3 | 3 |   |   |
| 1 |   | 3 |   |
|   | 2 | 1 | 4 |

新放置的2增加到3,值为2的相邻单元格已被清除。

我无法弄清楚如何做到这一点。到目前为止,这是我的代码:

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        int[][] w = {{1, 2, 3, 4}, {3, 0, 4, 0}, {1, 2, 3, 0}, {0, 2, 1, 4}};
        Scanner input = new Scanner(System.in);
        System.out.println("Enter space for putting 1: ");
        int a = input.nextInt();
        int b = input.nextInt();

        if (a == 1 && b == 1) {
            w[1][1] = 1;
            for (a = 0; a < w.length; a++) {
                for (b = 0; b < w[0].length; b++) {
                    System.out.print(w[a][b] + " ");

                }
                System.out.print('\n');
            }
            System.out.println("Enter space for putting 4: ");
            a = input.nextInt();
            b = input.nextInt();
            if (a == 1 && b == 3) {
                w[1][3] = 4;
                for (a = 0; a < w.length; a++) {
                    for (b = 0; b < w[0].length; b++) {
                        System.out.print(w[a][b] + " ");

                    }
                    System.out.print('\n');
                }

            }
        }
    }
}

如何检查新添加的号码的邻居是否具有相同的值?

如何增加新添加的数字?

0 个答案:

没有答案