2009-04-12 49 views
0

我有我工作的AJAX的聊天系統,到目前爲止,我有工作。我想要做的一件事就是當用戶名顯示在屏幕上時,它是一種獨特的顏色(就像在AIM窗口中一樣)。我將如何生成一個隨機顏色來分配給他們登錄的特定會話的用戶名?分配每個會話隨機顏色,聊天

的顏色必須是東西,是因爲它在較暗的白色背景和他們產生,他們不能太類似於其他目前用戶已分配的顏色。

編輯謝謝,我想預定義列表將是最簡單的方法。如果我有這個名單在配置文件中,我當用戶登錄指定的顏色,我應該如何去確保沒有兩個登錄的用戶具有相同的顏色?

回答

7

我想你會好起來的從預先生成的顏色,以滿足比試圖在運行中生成的顏色你的要求(足夠暗,相互足夠不同)的列表中隨機挑選。

編輯補充:

至於保留一個以上的用戶從具有相同的顏色,有一件事我見過的系統確實是只指定顏色在本地使用JavaScript的用戶的機器上。通常,不同的用戶看到其他人使用相同的顏色並不重要。我不在乎,如果我的屏幕上的顏色是因爲它們是一些其他用戶的屏幕上一樣,只要我所有的屏幕上的色彩是唯一的。事實上,每個用戶自己的文本可能是不同的(例如,它們是黑色的,其他人都是彩色的)。

+0

時間超過30秒鐘你的答案後! – 2009-04-12 00:49:34

1

創建的是有足夠的黑暗,很容易分辨的顏色(手)的列表,然後選擇一個隨機。

1

你不想去的顏色太過隨意,如果你也希望他們能夠相互對比,並在白黑暗的一面。

這可能是更好的,通過它們從隨機起始位置預定義的顏色的數組,循環,所以沒有將被重複直到整個組已被分配。