Если вы хотите по-настоящему случайные цвета, тогда генерация одного и того же цвета 10 раз подряд будет приемлемой. Чтобы получить значения, которые воспринимаются как случайные, вы должны исключить истинную случайность.
Самый простой способ сделать это, вероятно, с помощью циклического индекса в списке цветов. Скажем, вы выбираете веб-цвета, список из 216 цветов. Каждый раз, когда вы хотите новый цвет, добавьте случайное число в индекс, упаковывая по мере необходимости. Чтобы предотвратить получение одного и того же цвета, ограничьте число случайных чисел меньшим, чем количество цветов.
colorIndex = (colorIndex + (random ()% 100) + 1)% 216;
Если вам не нужна таблица поиска, генерируйте цвета HSB, но ограничивайте оттенок той частью круга, которая не включает предыдущий цвет. Если предыдущий оттенок был 60 градусов, то выберите следующий оттенок выше 90 или ниже 30 градусов, например. Возможно, вы хотите ограничить насыщенность и яркость более чем на 50%.