【发布时间】:2015-01-30 15:11:22
【问题描述】:
我对编程比较陌生,我正在尝试用 Java 制作一个益智棋盘游戏,我想制作你必须以不同颜色移动的令牌。 标记的位置和数量保存在这个数组中:
{
{2,1,1,3},
{2,1,1,3},
{4,6,6,5},
{4,7,8,5},
{9,0,0,10}
}
所以现在我的问题是,如何将这些数字转换为易于区分的 RGB 颜色值?
【问题讨论】:
我对编程比较陌生,我正在尝试用 Java 制作一个益智棋盘游戏,我想制作你必须以不同颜色移动的令牌。 标记的位置和数量保存在这个数组中:
{
{2,1,1,3},
{2,1,1,3},
{4,6,6,5},
{4,7,8,5},
{9,0,0,10}
}
所以现在我的问题是,如何将这些数字转换为易于区分的 RGB 颜色值?
【问题讨论】:
您可以将 java.awt.Color 类用于 Rgb 和 int Stuff。 http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html
你可以使用:
http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#Color(int)
用于从 int 或
中获取颜色http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#Color(int,%20int,%20int)
用于创建基于 RGB值。
您可以使用随机方法生成颜色。
或者选择一些颜色并将它们存储在一个数组中,然后随机选择它们作为任何令牌。
编辑(对评论的回应):
您可以为此使用哈希图。 因此,将令牌编号保存为键,将颜色保存为值:
HashMap<Integer,Color> map = new HashMap<Integer,Color>();
而不仅仅是简单地编写一个这样的方法来获取令牌的颜色:
private Color getColor(int tokenNumber){
if(!map.containsKey(tokenNumber)){
map.put(tokenNumber, createColorForToken(tokenNumber));
}
return map.get(tokenNumber);
}
抱歉英语不好:P
【讨论】: