博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于2048小游戏中随机生成2与4个数的问题--已解决
阅读量:4983 次
发布时间:2019-06-12

本文共 1033 字,大约阅读时间需要 3 分钟。

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

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

待解决。

解决办法:封装一个类point,包含属性x,y。

public class Point {    private int x;    private int y;    public int getX() {        return x;    }    public void setX(int x) {        this.x = x;    }    public int getY() {        return y;    }    public void setY(int y) {        this.y = y;    }    public Point(int y, int x) {        this.y = y;        this.x = x;    }    public Point() {    }}

将数组中为0的坐标放到一个集合中。 

for(int i =0;i

然后加入4的时候,根据集合长度随机生成一个数,取集合中下标为该随机数的元素。

将该元素取出来之后,从集合中remove。

for(int j=0;j

问题已解决。

转载于:https://www.cnblogs.com/zhoubohao/p/6116299.html

你可能感兴趣的文章
Floyd算法解说
查看>>
浅谈C++非多态单继承数据布局
查看>>
cogs 1396. wwww
查看>>
MYSQL数据库优化
查看>>
Linux 新手学习任务
查看>>
内部类对象的获取!《Thinking in Java》随笔018
查看>>
[MongoDB]Python 操作 MongoDB
查看>>
antd 表格隔行变色
查看>>
springboot-helloworld实现
查看>>
关于CocoaSocket
查看>>
面试准备专题——SOA架构
查看>>
前端 CSS padding 目录
查看>>
SQL 03
查看>>
centos搭建本地yum源码
查看>>
常用网站
查看>>
ASP.NET-第六天-HTML基础
查看>>
LeetCode Range Sum Query Immutable
查看>>
01 lucene基础 北风网项目培训 Lucene实践课程 索引
查看>>
how to download the source tree for a specific Android code-line
查看>>
北京鱼乐贝贝面试题
查看>>