我目前正在编写一个java applet来编辑广度优先搜索的修改版本。
我的问题是我正在尝试将协调到2d数组上的像素的数字转换为颜色。
代码:map是一个2d数组值,当它们离开起始位置时应该增加1,除了设置为0的墙并且显示为黑色。
String colorhex1 = Integer.toHexString(map[i][j]+100);
g.setColor(Color.decode("#"+colorhex1));
if (map[i][j]==1)
g.setColor(Color.white);
else if (map[i][j]==0)
g.setColor(Color.Black);
g.fillRect(i*10,j*10+40,10,10);
主要搜索如何工作是增加它旁边的每个单元格的数量,除非它被触摸,所以在我的可视化中它应该显示随着我们离起始位置越来越远的活力。然而,通过这种设计,我现在将开始以"黑色"这是我墙壁的颜色。然后两个它将慢慢朝向紫色,然后随机改变颜色然后再次看起来很奇怪。
问题:我有没有办法通过使用地图数组的数值来编码一种更渐进的增加此颜色的方法?