关于2048小游戏中随机生成2与4个数的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于2048小游戏中随机生成2与4个数的问题相关的知识,希望对你有一定的参考价值。

public class InitNumer {
    Random random = new Random();

    public InitNumer() {
        super();
    }

    /**
     *  随机生成一个二维数组,并指定生成的2与4的个数
     * @param rowAndCol 二维数组的宽与高
     * @param numberOf2 数字2的个数
     * @param numberOf4 数字4的个数
     */
    public int[][] randomGetNumber(int rowAndCol, int numberOf2, int numberOf4) {
        int[][] numArray = new int[rowAndCol][rowAndCol];
        for(int i=0;i<numberOf2;i++){
            int xi = random.nextInt(rowAndCol);
            int yi = random.nextInt(rowAndCol);
            if(numArray[xi][yi]==0){
                numArray[xi][yi]=2;
            }
        }
        for(int j=0;j<numberOf4;j++){
            int xj = random.nextInt(rowAndCol);
            int yj = random.nextInt(rowAndCol);
            if(numArray[xj][yj]==0){
                numArray[xj][yj]=4;
            }
        }
        return  numArray;
    }
}

随机生成的二维数组会出现一个问题,就是当(xi,yi)与(xj,yj)坐标相同的时候就会少生成一个4。就是说随机生成的2的个数可以确定,但是4的个数不能确定。例如:

技术分享

待解决。

以上是关于关于2048小游戏中随机生成2与4个数的问题的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序版2048

2048游戏

c语言设计猜数字游戏

用随机列表中的 2 个值填充 2D 数组(2048 游戏)

详解matlab之简易2048制作

DAYU200 2048 小游戏- OpenHarmony版