C# Проект: Развитие интеллекта
Развитие интеллекта (позднее название изменится) - программа которая анализирует состояние ума человека через определенные тесты / игры и собирает данные, попутно анализируя их, сверяя и выдавая соответствующий анализ в виде: коэфициента ума, способностей, достатков и недостатков (и многого другого).
.
Платформа: Win XP / Win 7 - 10
Стадия выполнения: (не запущен проект).
Дата выпуска: (неизвестно).
Версия:Офлайновая
Версия приложения: 0.0 trailer
.
Постановка задачи:
Разработать программу, которая будет выполнять то, что было описано в описании (первичном). Программа должна будет в себя включать функционал, позволяющий пользователю максимально погрузиться в развитие вместе с этой программой, не отрываясь от неё и занимаясь в определенное отведенное время (к примеру не более N минут в день).
.
Программа должна будет включать в себя следующий функционал:
.
- Меню - Графическую меню которое будет являться частью дизайна и подключаться к библиотеке design.dll в которой будет происходить смена оформления при выборе соответствующей темы. В меню будут входить основные функции, в частности: "настройки", "профили", "дизайн", "работа с модами" и прочее.
- Настройки - Конфигурация благодаря которой можно манипулировать профилями (менять их по усмотрению), воздействовать на свою статистику (обнулять, ускорять её, или еще что-либо делать с ней). Возможность настраивать уведомления, менять значки, еще что-либо (и так далее).
- Трей - Рассмотреть возможность сворачивать приложение в трей и назначить соответствующий функционал в трее (настраивать уведомления, делать проверки, взаимодействовать с пользователем, если это было установлено заранее). У трея будет своя библиотека tray.dll, обеспечивающая ему полнофункциональную отдельную рабочую область.
- Уведомления - Возможность оповещать пользователя о чем-либо, относящаяся к трею и библиотеке tray.dll.
- Профили - Возможность менять пользователей (при многопользовательском использовании программы) (платная функция). Для этого будет создана отдельная библиотека Profiles.dll которая будет доступна при получении статуса VIP. У профилированной версии будет доступна общая статистика, соперничество.
- Дизайн - Отдельная библиотека по дизайну design.dll будет охватывать множество различных частей приложения, чтобы была возможность у пользователей не то, что бы самостоятельно выбирать дизайн, а даже самостоятельно менять его (добавляя свои "скины", "обложки", еще что-либо). Более успешные работы будут добавляться в официальные релизы.
- Модуль для загрузки тем - Отдельная часть глобальной библиотеки MODPACK.dll позволяющая загружать темы, проверяя их, добавляя в список существующих. Будет доступна в настройках "загрузка", "выгрузка",
"редактирование"(под вопросом пока еще), "удаление тем. Это развяжет руки креативным пользователям.
- Справка - Подпрограмма (точнее часть программы) в которой будет большое FAQ о самом приложении, разбитое на категории (для упрощения восприятия). Туда будет встроен поиск (интуитивный), предлагающий варианты. Для того, если пользователь запутался, чтобы мог почитать сопутствующую информацию. Будет отдельная библиотека help.dll
- Уровень - Чтобы пользователь ощущал подспорье развития (а не простое затирание своих извилин) будут созданы уровни, каждый из которых будет открывать новые горизонты перед пользователем. Планируется сделать 100 уровней с открытием 1 игры на каждый уровень. Уровни и опыт будут включены в библиотеку level.dll
- Опыт - Большинство рпг и игр где есть опыт работают криво, либо пользователь очень быстро получает все бонусы и порой теряется в них, либо как в ingress, для каждого уровня требуется получить в два раза больше опыта, что удурчает и приходится тратить больше и больше времени. Нужно будет разработать формулу которая будет равномерно распределять опыт и получаемые бонусы (от уровней), так, что бы пользователь старался, но не забрасывал из-за невозможности расти.
- Исследования - Чтобы пробудить небывалый интерес к игре будут добавлены исследования, открывающие определенные области и дающие поэтапное развитие (а не всё сразу). Пользователь будет изучать программу от её начала, до её конца. Крайне важная библиотека research.dll связывающая все библиотеки, создающая "уровень доступа".
- Монеты - Чтобы пользователь не скучал будет создана валюта, которая будет без особого труда зарабатываться выполнением определенных заданий, или путем ввода специальных кодов (специальная система криптографии встроенная в донат). Покупки будут осуществляться в магазине и привязаны к библиотеке magazine.dll.
- Магазин - Специальная часть программы, в которой можно открывать определенные вещи (от различных тестов, игр, до всякой-всячины). Будет разрабатываться сразу, но заполняться по ходу заполнения контента. Для магазина отведена специальная библиотека magazine.dll.
- Экзовалюта - Крайне редкая валюта, которую очень сложно получить, за неё можно купить практически всё, так как её вы можете обменять на большое количество монет, на особые бонусы (бустеры), на премиум и еще много чего другого. Является частью системы доната (пляшет от неё).
- Анализ данных + Лог + Статистика - Собирает все действия совершенные пользователем. log файлы будут храниться отдельно, статистика будет подгружаться в общую форму. log файл будет выглядеть следующим образом data-000000-05-2017.log где входит номер, неделя и год - соответственно анализ данных будет проводится за неделю. При загрузки статистики все файлы будут подгружаться выдавая отдельную статистику. Чуть позднее подумаю над созданием базы данных, а не лог файлов (чтобы упростить работу программы).
- Графики + Интерфейс интеллекта - Отдельное меню, собирающее и анализирующее данные о развитии. Своеобразный интеллект решающий, до чего пользователь развился и в каком направлении ему стоит развиваться. Будет частью отдельной библиотеке BRAIN.dll
- Игры - Суть всей программы - интеллектуальные игры, для которых будет посвещена отдельная библиотека GAMES.dll которая будет в свою очередь наследоваться от BRAIN.dll - т.е. игры, развивающие мозг. Так же будет адаптивный дизайн, который позволит подгружать игры из отдельных модов.
- Модуль для загрузки игр - Часть системы модуля глобальной загрузки благодаря которой можно будет загружать свои собственные игры (а возможно, если получится, даже разрабатывать внутри самой программы). Данный модуль будет частью библиотеки MODPACK.dll
- Статьи - Отдельная "фишка" программы, которая позволит отвлечься от игр. За прочтение статей (а возможно и за добавление вывода) будут присваиваться монетки, т.е. любое действие в программе будет поощряться. Статьи так же будут покупаться в магазине и открываться за счет исследований. У статей будет отдельная библиотека article.dll
- Модуль для загрузки статей - Соответственно можно будет так же подгружать свои статьи через меню, благодаря библиотеке MODPACK.dll. Подгружаемые статьи будут так же иметь свою цену и категорию (которая будет открываться за счет исследований).
- Тесты - Будут доступными при открытии в исследованиях и покупке за деньги тесты, которые пользователь сможет пройти, или пройти. Тесты будут браться из интернета, но переделываться для упрощения (как визуально, в плане текста и оформления, так и по смыслу), чтобы пользователь не скучал. Отдельная библиотека test.dll
- Модуль для загрузки тестов - Тесты так же можно будет СОЗДАВАТЬ (это точно), добавляя их в библиотеку, а после по желанию выгружая и передавая своим друзьям (а возможно и загружать в интернет для добавления в официальную версию), так же можно будет загружать тесты. Часть большой библиотеки MODPACK.dll
- Релаксация - Интересный функционал в виде фоновой мелодии играющей когда приложение в трее, или "по заказу" пользователя. Для данного события будет отдельная библиотека звуков, где будет отдельный класс для релаксации, библиотека звуков: sound.dll. Попутно будет возможность "выключаться" режиму релаксации при включении плеера, звука в браузере, или еще чего.
- Модуль для загрузки режимов релаксации - Отдельная часть большой библиотеки MODPACK.dll благодаря которой можно будет загружаться свои режимы релаксации (или создавать их).
- Модуль для загрузки глобальных модулей - Огромная библиотека MODPACK.dll благодаря которой будет осуществляться загрузка модулей. Будет существовать глобальная загрузка. Так же в планах будет попытка добавить загрузку из облака (т.е. через интернет подключение), когда можно будет скачивать "отдельные пакеты" модов (платных и бесплатных), в том числе и отдельных пользовательских.
- Бустеры - Платный пакет подпрограмм позволяющий быстрее развиваться, хвастаться какими-либо достижениями. Бустеры можно будет покупать так же за экзовалюту (что обеспечит всеми любимый F2P) с той разницей, что экзовалюту не очень просто-то добыть. Библиотека busters.dll
- Донат - будет разбросан по библиотекам во избежания взлома. Программа принимающая "коды" и выдающая значения, после чего значения передаются "продавцу", когда тот принимает заказ, или "оплату", быстро вводит значения в "подпрограмму", которая сверяет и выдает "обратный код". Пользователь вводит его и получает то, что ему нужно.
- ОТДЕЛЬНО: По ходу разработки приложения будут добавляться и другие функции, но о них стоит говорить и добавлять отдельно. Возможно будут какие-либо особые уведомления, подгрузка модов из интернета и так далее. Для начала нужно хотябы реализовать заданный потенциал.
- Достижения - Отдельная библиотека achivment.dll внутри которой будут подсчеты определенного количества действий пользователя. Будет представлять из себя ничто иное как определенные достижения, которые будут показывать чего пользователь достиг.
Разработка библиотек:
.
Глобальные библиотеки:
- SYSTEM.dll - библиотека распределяющая все ресурсы, устанавливающая взаимодействие между остальными.
- BRAIN.dll - важная библиотека для вычисления коэфициента ума и выдачи сопутствующей статистики.
- GAMES.dll - важная библиотека для обеспечения развития пользователя в виде определенных подпрограмм.
- MODPACK.dll - особая библиотека для возможность подгружать и выгружать различные модули.
.
Остальные библиотеки:
- design.dll - библиотека отвечающая за дизайн приложения.
- configuration.dll - библиотека отвечающая за настройки приложения.
- tray.dll - библиотека отвечающая за работу приложения в трее.
- Profile.dll - библиотека отвечающая за вип режим: "многопользовательская работа"
- busters.dll - библиотека для ускорения пользователей
- level.dll - библиотека для поэтапного развития пользователя
- research.dll - библиотека для исследований (пока под вопросом)
- magazine.dll - библиотека для подогревания интереса, магазин
- article.dll - библиотека для работы со статьями
- test.dll - библиотека для работы с тестами
- sound.dll - библиотека для работы с режимом релаксации
- achivment - библиотека для достижений пользователя
Модальные окна приложения:
На протяжении всей работы приложения должно быть видимым меню выполненное в стиле минимализма (кроме игр, чтения статей и выполнения модальных функций - отдельной области). Оно будет позволять быстро переключаться между определенными категориями выбираемыми пользователем.
- Титульный экран - Возможно будет отображать краткую статистику, что нового, чего не хватает. В целом основное окно выполненное в стиле минимализма, но тем не менее дающее определенную информацию пользователю, чтобы тот мог принять решение (чем заняться в приложении).
- Достижения - Часть титульного экрана, ссылка не входящая меню, но открывающее новое окно где пользователь может увидеть свои достижения из списка категорий: "игры", "развитие", "прогрессирование" и еще что-либо. Будет редактироваться позднее.
- Игры - Экран взаимодействия с играми и прохождения их. Каждая игра будет индивидуальна (иметь свой набор качеств): уровень сложности, время, еще что-либо, но влиять на развитие и общую статистику. Так что этот экран будет взаимодействовать с пользователем предлагая ему выбор игр из списков: "Востребованные" - так как мозг в этой сфере отстал, "Избранные" - в которые пользователь чаще играет и подобное.
- Исследования - Экран исследований будет представлять своеобразную лабораторию, в которой будут работать "ученые" (интерес в игре), они будут тратить определенное количество времени (пока программа работает, даже если она в трее) на изучение той, или иной технологии, игры, или еще чего-либо.
- Магазин - Экран который откроется после определенных исследований. В нем можно будет прикупать игры и еще что-либо (что может использоваться в тех же играх). В прочем это разожжет интерес у пользователя "активней работать и трудиться".
- Тесты - Экран тестов (о них сказано выше).
- Статьи - Экран статей (о них сказано выше).
- Релаксация - Экран настройки режима релаксации.
- Настройки - Экран настроек всего приложения.
Дополнительные подокна:
- Справка
- Статистика
- Графики
Критерий завершения
Критерий завершения будет формироваться исходя из потребности признать, что программа реализована успешна, выпущена версия, которая позволяет сказать "это готовая версия программы". А так же после выпуска было произведено множество тестовых работ (тестерами), были выявлены и исправлены ошибки и программа встала на промышленный рельс (обновляется и имеет спрос).
Личные ресурсы
WPF: C#
Экологичность цели
Саморазвитие как никак в приоритете.
-
Подготовка работы
-
Перепроверка данных информации круг 1 (все ли верно)
-
Перепроверка данных информации круг 2 (все ли верно)
-
Перепроверка данных информации круг 3 (все ли верно)
-
Перепроверка данных информации круг 4 (все ли верно)
-
Перепроверка данных информации завершающий круг
-
-
Подготовка плана работы
-
Создание чертежей и графиков (рабочие схемы)
-
Схема взаимосвязи библиотек
-
Схема взаимосвязи окон программы
-
Схема взаимосвязи интеллекта
-
Схема взаимосвязе модов
-
Схема взаимосвязи исследования и функций программы
-
Выгрузка каждой схемы в отдельный этап (где можно загружать фотографию).
-
-
Схема взаимосвязи библиотек
-
Схема взаимосвязи окон программы
-
Схема взаимосвязи интеллекта
-
Схема взаимосвязи модов
-
Схема взаимосвязи исследования и функций программы
-
Начал разработки, создание проекта
-
Запустить рабочую среду
-
Начать разрабатывать проект
-
Создать все запланированные библиотеки
-
Скомпилировать все библиотеки
-
Собрать все библиотеки в основном приложении
-
Скомпилировать приложение для версии x64 под .NET FrameWork 4.0
-
Скомпилировать приложение для версии x32 под .NET FrameWork 4.0 (сделав отдельную копию проекта)
-
Проверить работоспособность на виртуальной машине WinXp
-
Проверить работоспособность на виртуальной машине Win10
-
Передохнуть денек (если всё было сделано за раз).
-
-
Подготовка к созданию классов
-
Раскрыть все библиотеки
-
Оптимизировать код в каждой библиотеке
-
Перейти к следующему этапу
-
Попытаться поймать ошибку в случае отсутствия библиотек (чтобы выдавать пользователю)
-
-
SYSTEM.dll
-
Установить взаимосвязь всех библиотек исходя из схемы
-
(добавить дополнительные подцели, расширив этот шаг)
-
-
BRAIN.dll
-
Выделить основные способности ума (почитав статьи)
-
Создать соответствующие переменные, определяющие коэфициент ума (в т.ч. основную)
-
Создать алгоритмы, которые делают интуитивный подсчет и загрузить эскиз
-
Связать с GAMES.dll
-
-
GAMES.dll
-
Создать структуру кодом прохождения игры (от начала, до записи в BRAIN.dll)
-
Начало игры, таймеры, запуск таймера и отключение
-
Интеграция кода в BRAIN.dll (для подсчетов)
-
Завершение игры, выдача призов в magazine.dll (в виде монет)
-
-
MODPACK.dll
-
Продумать как реализовать подгрузку и выгрузку модов
-
(дополнить данные пункты меню)
-
-
Проработать остальные библиотеки
-
design.dll
-
configuration.dll
-
tray.dll
-
Profile.dll
-
busters.dll
-
level.dll
-
research.dll
-
magazine.dll
-
article.dll
-
test.dll
-
sound.dll
-
achivment.dll
-
-
Начать верстать адаптивный (временный) дизайн
-
Создать панели меню [главная, игры, исследования, магазин, тесты, статьи, релаксация, настройки]
-
Аккуратно укомплектовать их в шапку титульного экрана.
-
Создать отдельный GroupBox для титульного экрана (разместив туда меню).
-
Сделать GroupBox для титульного (под меню).
-
Сделать GroupBox'ы для каждого из подменю.
-
Организовать переключение между окнами.
-
Сделать элементы "резиновыми".
-
-
Создание резинового дизайна
-
Изначальный дизайн - ориентация на дефолтные мониторы (800х600)
-
Конечный дизайн - не ограничивается, но должны быть режимы переключения и режим FullScreen
-
Подумать внимательно как всё сделать, т.к. это долгий этап, работать с начальным адаптивным дизайном.
-
-
Игры
-
Разработать модальную систему подгрузки и выгрузки игр
-
Связать её с загрузкой данных в библиотеку
-
Связать игру с загрузкой данных в лог и статистику (то, что она изменила и что делал пользователь).
-
Создать первоначальный редактор игр (подпрограмма) (отдельный фрейм).
-
Попытаться добавить определенные функции в разработку игр под данное приложение.
-
(дополнить данный этап разструктурировав шаги).
-
-
Исследования
(доработать с этого пункта)
-
Магазин
-
Тесты
-
Статьи
-
Работа приложения в трее
-
Релаксация
-
Настройки
-
Справка
-
Статистика
-
Графики
- 1183
- 28 мая 2017, 19:35
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением