madcat1991 / VKiS_CW

Курсовой проект по ВКС
2 stars 0 forks source link

Соответствие "человек - цвет" при рисовании #18

Closed a-kr closed 14 years ago

a-kr commented 14 years ago

Каждому участнику чата нужно присвоить свой цвет, которым он будет рисовать. Возможность рисовать разными цветами таким образом вылетает в трубу.

Проблема: человеков в принципе много, а различимых на глаз цветов - мало.

Пусть на сервере есть массив из N заранее заданных визуально различимых цветов.

Вариант решения 1: каждой учетной записи, хранящейся в базе под номером i, приписывается цвет номер (i % N). Этот цвет сообщается юзеру после подключения к серверу спец-сообщением.

Вариант решения 2: на сервере хранится соответствие "юзер-цвет", изначально пустое. Сбрасывается при очистке изображения. Первый юзер, который начал рисовать на пустом изображении, получит цвет №1, следующий - цвет №2 и т.д. Косяк: пусть Вася с Петей работали над одной картинкой, причем в процессе рисования Вася имел зеленый цвет (№1), Петя - красный (№2). Петя решает, что картинка не катит, жмет "стереть все" и рисует закорючку. Закорючка выходит зеленого цвета, т.к. Петя начал первым, а Васе достанется красный. Возможна путаница.

Вариант решения 3 предоставляется придумать читателю в качестве самостоятельного упражнения.

a-kr commented 14 years ago

Надо будет указывать цвет каждого юзера в сообщении roommates (M5). В описании протокола предложен один из вариантов.

a-kr commented 14 years ago

Да, еще цвет нужно указать в сообщении М11 при успешном логине.

a-kr commented 14 years ago

Массив из заранее заданных различимых цветов идет в топку. Вместо этого в учетных записях указываются цвета из web-палитры, генерящиеся по алгоритму Турала.