Клавиатурный тренажер VerseQ - новый шаг в технологиях обучения слепой десятипальцевой печати. Уже сегодня, через час вы сможете печатать вслепую. Проверьте сами!
VerseQ - клавиатурный тренажер нового поколения, уже через час вы сможете печатать вслепую!
Если программа VerseQ распостраняется бесплатно,

 
Начать новую тему   Ответить на тему    Список разделов форума » Вопросы по клавиатурному тренажеру VerseQ и слепой десятипальцевой печати
Предыдущая тема :: Следующая тема  
Автор Сообщение
Denis_T
Гость






СообщениеДобавлено: Пт Май 28, 2004 10:57 am    Заголовок сообщения: Если программа VerseQ распостраняется бесплатно, Ответить с цитатой

Вопрос к автору:
Если программа VerseQ распостраняется бесплатно, то почему бы Вам не опубликовать исходники по сободной лицензии наподобии GPL или BSD(смотря что больше нравится)?
Вернуться к началу
dmrg
Гость






СообщениеДобавлено: Ср Июн 02, 2004 9:26 am    Заголовок сообщения: Ответить с цитатой

Я бы сам с удовольствием исправил бы пару багов и тройку глюков в VerseQ, если бы она распространялась как GPL или BSD или Perl Atristic Licence ... Wink
Замечательная программа, если вдруг возникнут какие либо технические вопросы по программированию обращайся dmrgSPAMCAPTURE@land.ru, только убери слово SPAMCAPTURE из имени почтового ящика (спаммеры не дремлют Smile ...).
Вернуться к началу
Vladimir Kim
Команда VerseQ


Зарегистрирован: 21.03.2004
Сообщения: 2173
Откуда: Москва

СообщениеДобавлено: Ср Июн 02, 2004 10:49 pm    Заголовок сообщения: Ответить с цитатой

В моей душе еще тлеют сладкие меркантильные надежды... Smile
А если совсем угаснут, то, конечно, сделаю GPL. Smile
Цитата:

Замечательная программа, если вдруг возникнут какие либо технические вопросы по программированию обращайся

Smile Тогда такой вопрос:
Преамбула: Сижу - уже почти полностью увяз в логике большого проекта, каким является VerseQ - сижу чешу думалку, за умными мыслями лезу в Гради Буча... У Гради Буча все понятно, но при переводе взгляда в окно Builder-a остается все тот же густой лес перепутанных мыслей...
Итак маленкий вопрос:
Вот пытаюсь сделать объектную модель VerseQ. Ну допустим есть класс ТУчитель, ТУченик, ТИнтерфейс. Как все это лучше организовать?

1. ТИнтерфейс содержит в себе Ученика и Учителя.

2. В Ученике и в Учителе ссылк на ТИнтерфейс и они оба через него общаются...

3. Сделать например класс ТУчебныйЗал и загнать в него ссылки на Ученика, Учителя и Интерфейс.

4. Сделать ТИнтерфейс как наследника от ТУченик и организовать простое общение Учитель <-> Ученик

5. Тоже самое, но ТИнтерфейс от ТУчитель...

6. Может быть процесс обучения сделать так ТУчитель->Учить(*Ученик) - но как организовать отображение на экран и т.д. (Интерфейс)

7. Может быть сделать так ТОбучение->Сеанс(*Учитель, *Ученик, *Интерфес)

Вот такие у меня душевные терзания, не знаю что выбрать... Может Вы чего нибудь подскажите, отметите положительные/отрицательные моменты предложенных вариантов или просто вправите мозги, указав на другое красивое и изящное решение... Smile

На самом деле хочется чего:
1. Логичности
2. Мастабируемости.
3. Модульности.

Как я примерно представляю сбебе логическое деление VerseQ
1. Модуль отвечающий за генерацию строк на основе ошибок ученика - некий класс TУчитель

2. Окружение (задние фоны, музка, плей-листы, метроном), и все это окружение должно быть подвластно некому модулю, отвечающиму за обучение. Ну например, задумался пользователь слишком долго - возникла клавиатура, хорошо идет - метроном незаметно ускоряется, справился с заданием - поменялся фон и т.д...
Некий класс ТОкружение

3. Интерфес - отображение всего этого дела на экран + считывание клавиатуры. Возможно како-то это должно быть связано с ТОкружение, может быть наследованием, а может и совсем никак...

В общем если дадите дельные советы, оценки, обзоры или схематичные примеры решений - действительно очень сильно поможите! Smile

С уважением, Владимир Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
dmrg
Гость






СообщениеДобавлено: Пт Июн 04, 2004 6:09 pm    Заголовок сообщения: Ответить с цитатой

Насколько я понимаю, основная часть программы - это собственно функция, которая на основании базы, текущего ввода пользователя , статистики по пользователю и настроек генерирует след строку. вот эта часть должна быть вынесенна в отдельный модуль, в идеале - dll
Класс учитель и лекционная аудитория - в принципе не нужны. Самое главное - это ученик и отображение его на экране.
Окружение - это то что в остальных программах называется приложением. Задача приложения: обрабатывать ввод пользователя, если и только если ввод адресован ученику, то он передается в класс ученика, где корректируется статистика, вычисляется средняя скорость и т.д.
Когда сточка закончилась, то приложение просит модуль генерации строк сгенерировать новую строку на основании текущих данных.
Приложение же просит отображение перерисовать экран на основе текущего состояния ввода и состояния ученика.
Одним словом - активный обьект только один - приложение, остальные умеют только выполнять его запросы.

Я бы делал след классы:

class CLangBase;
class CStudentStat;

void GenerateNewStr(const CLangBase* base, const CStudentStat* stat, const char* str, /*preferences*/, char* buff, int buffsize);

class CApplication
{
...
CLangBase* m_pCurrentBase;
...
void Run() // цикл обработки сообщений
};

class CStudent
{
CStudentStat m_stat;
...
void ProcessKey ...
};

class CCustomScreen
{
virtual void Draw(CStudent* stud) = 0;
};

class CConsoleScreen: public CCustomScreen
{
virtual void Draw(CStudent* stud);
};

class CScreen: public CCustomScreen
{
virtual void Draw(CStudent* stud);
};

и не надо никаких учителей ...
и боже упаси делать активный интерфейс, который сам себе фон менять будет ...

А вообще выкладывай под GPL, хотя бы сам алгоритм генерации строчек, а остальное прикрутим...

dmrg
Вернуться к началу
Vladimir Kim
Команда VerseQ


Зарегистрирован: 21.03.2004
Сообщения: 2173
Откуда: Москва

СообщениеДобавлено: Сб Июн 05, 2004 9:59 pm    Заголовок сообщения: Ответить с цитатой

Добрый вечер dmrg! Smile

Цитата:

Насколько я понимаю, основная часть программы - это собственно функция, которая на основании базы, текущего ввода пользователя , статистики по пользователю и настроек генерирует след строку

На самом деле не совсем так... Дело в том, эта способность должна быть масштабируема. Т.к. в будущих версиях планируется не только использование системы генерации строчек, но и возможность использования уроков и загрузку собственных текстов (например книг) и возможность смешанной системы обучения.

Т.е. система генерации строки, а быть может даже комплексная система проведения уроков должна быть оформленна неким протоклассом, обеспечивающим интерфейс для подобной системы, а реальные классы генерации уроков уже должны наследоваться от этой. Например, та самая система генерации строк на основе цепей маркова.

Это удобно с одной стороны можно будет легко (с помощью полиморфизма) менять типы уроков на ходу, с другой стороны абстрагироваться от конкретного алгоритма, и третье - это даст возможность оформить все эти модули в виде плагинов... Smile

Именно эти мысли натолкнули меня на необходимось класса типа TУчитель.

Что касается статистики - здесь те же мысли - мне кажется, что будет лучше, если будет некий модуль, предоставляющий интерфейс для статиски, на основе которой можно было бы подключать различные системы ведения статиситки. Может быть кому нибудь захочется специфичной статистики, типа корреляций скорости и ритмичности с временем суток... Smile

Общими словами, хотелось бы сразу заложить в программу максимальную модульность, что бы в последствии перевести ее на систему раздельных модулей и подключаемых плагинов.

[quote]
Цитата:

Окружение - это то что в остальных программах называется приложением. Задача приложения: обрабатывать ввод пользователя, если и только если ввод адресован ученику, то он передается в класс ученика, где корректируется статистика, вычисляется средняя скорость и т.д.
Когда сточка закончилась, то приложение просит модуль генерации строк сгенерировать новую строку на основании текущих данных.
Приложение же просит отображение перерисовать экран на основе текущего состояния ввода и состояния ученика.

О, большое спасибо за свежие мысли! Нужно мне подумать...
Завтра я чего нибудь структурно попробую своять, а потом выложу мысли в форум... Smile

Цитата:

и не надо никаких учителей ...
и боже упаси делать активный интерфейс, который сам себе фон менять будет ...

Smile А почему?

Цитата:

А вообще выкладывай под GPL, хотя бы сам алгоритм генерации строчек, а остальное прикрутим...

Как я уже говорил, под GPL выкладывать пока не буду... Wink
Зато я у меня есть вкусное в запасе, в частности доска почета - я с удовольствием указываю в благодарностях и новостях всех, кто в чем нибудь помог (с указанием заслуг Smile. Ну и конечно там ключи всякие бесплатно и мало ли что будет в будущем... Smile

С уважением, Владимир
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Vladimir Kim
Команда VerseQ


Зарегистрирован: 21.03.2004
Сообщения: 2173
Откуда: Москва

СообщениеДобавлено: Сб Июн 05, 2004 10:00 pm    Заголовок сообщения: Ответить с цитатой

Прошу прощения, забыл поблагодарить за кусочки кода! Так действительно мысли понятнее! Smile

Владимир Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Zelum
Гость






СообщениеДобавлено: Ср Окт 27, 2004 1:55 am    Заголовок сообщения: Ответить с цитатой

Привет,Владимир!Прога великолепна,только ты не мог бы поставить опцию регулировки разрешения экрана,а то на моих 800х600 часть строк[начало и конец] не видно Very Happy .
Оперативка-WindowsXp Sp1
Зарание благодарю Zelum
Вернуться к началу
Vladimir Kim
Команда VerseQ


Зарегистрирован: 21.03.2004
Сообщения: 2173
Откуда: Москва

СообщениеДобавлено: Ср Окт 27, 2004 10:37 am    Заголовок сообщения: Ответить с цитатой

Здравствуйте Zelum!

Цитата:

Прога великолепна,только ты не мог бы поставить опцию регулировки разрешения экрана,а то на моих 800х600 часть строк[начало и конец] не видно

Спасибо Zelum!
Вопрос автоматической смены разряшения стоит в плане работ! Smile

С уважением, Владимир
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список разделов форума » Вопросы по клавиатурному тренажеру VerseQ и слепой десятипальцевой печати Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2005 Vladimir Kim. All rights reserved.
Графический дизайн - Марина Ким.