如何随机选择一些矩形来改变颜色

时间:2017-03-03 12:14:21

标签: java

我希望我的程序随机更改网格中大约50%的矩形颜色,这是使用jframe完成的。

我有一个电路板长度的数组,我希望这些数字的50%为蓝色。

FALSE =灰色

TRUE =蓝色

注意:这是使用Graphics g

的paint方法
NgModule({
    imports: [...]
    declarations: [...],
    providers: [
        {provide: RouteReuseStrategy, useClass: CustomReuseStrategy}
    ]
)}
export class AppModule {
}

1 个答案:

答案 0 :(得分:0)

获取棋盘上的方块数并乘以目标百分比。 假设8x8板,所以64个方格* .50 = 32。 我会创建一个所有矩形的列表 开始循环。生成从0到矩形列表大小的随机数。移除该位置并使其变蓝。如果识别出所有32个矩形,则结束循环。

//伪代码

java.util.Random random = new Random();
List<Integer> rectangles = new ArrayList<Integer>();
for(int i = 0; i < grid.length; i++)
{
  rectangles.add(i);
}
//Fill the rectangles
for(int i = 0; i < 32; i++)
{
  int position = random.nextInt(rectangles.size());
  Integer toConvert = rectangles.remove(position);
  //perform operation to make toConvert blue.
  grid[toConvert] = true;
}