2009-04-12 50 views
0

我有我工作的AJAX的聊天系统,到目前为止,我有工作。我想要做的一件事就是当用户名显示在屏幕上时,它是一种独特的颜色(就像在AIM窗口中一样)。我将如何生成一个随机颜色来分配给他们登录的特定会话的用户名?分配每个会话随机颜色,聊天

的颜色必须是东西,是因为它在较暗的白色背景和他们产生,他们不能太类似于其他目前用户已分配的颜色。

编辑谢谢,我想预定义列表将是最简单的方法。如果我有这个名单在配置文件中,我当用户登录指定的颜色,我应该如何去确保没有两个登录的用户具有相同的颜色?

回答

7

我想你会好起来的从预先生成的颜色,以满足比试图在运行中生成的颜色你的要求(足够暗,相互足够不同)的列表中随机挑选。

编辑补充:

至于保留一个以上的用户从具有相同的颜色,有一件事我见过的系统确实是只指定颜色在本地使用JavaScript的用户的机器上。通常,不同的用户看到其他人使用相同的颜色并不重要。我不在乎,如果我的屏幕上的颜色是因为它们是一些其他用户的屏幕上一样,只要我所有的屏幕上的色彩是唯一的。事实上,每个用户自己的文本可能是不同的(例如,它们是黑色的,其他人都是彩色的)。

+0

时间超过30秒钟你的答案后! – 2009-04-12 00:49:34

1

创建的是有足够的黑暗,很容易分辨的颜色(手)的列表,然后选择一个随机。

1

你不想去的颜色太过随意,如果你也希望他们能够相互对比,并在白黑暗的一面。

这可能是更好的,通过它们从随机起始位置预定义的颜色的数组,循环,所以没有将被重复直到整个组已被分配。