Очевидный подход - просто преобразовать идентификатор в цвет (например, младшие 8 бит - синий, следующие 8 бит - зеленый, следующие 8 - красный - оставьте 8 бит, но я уверен, что вы можете понять это; -)
Предполагается, что это не работает (потому что в итоге вы получите ужасную цветовую палитру:
Используйте массив (или хеш-таблицу) для сопоставления идентификаторов с цветами.
Если вы обеспокоены тем, что идентификаторов слишком много, вы можете применить к этому идентификатору какой-нибудь хэш и использовать его при вводе в сопоставление «ID to color». В этом случае вы фактически говорите, что один идентификатор всегда имеет один цвет, но один цвет может использоваться многими идентификаторами.