ria pc game
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
18 февраля 2019 7:27
Вход Регистрация Забыли пароль ?

megainformatic - Создание сайта бесплатно или под заказ
Создание сайта бесплатно или под заказ Для чего Вам нужнен собственный сайт ? Это ваш собственный выбор. Для меня сайт - это средство самовыражения, а также возможность предложить свои программные продукты и услуги. Итак, что я Вам хочу и могу предложить ? Это полный спектр решений от бесплатных до сайтов за вполне умеренную цену и имеющих широкий набор возможностей.
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 1

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 2

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 3

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 4

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 5

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 6

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 7

megainformatic - Веселый Буквоежка - онлайн комикс - страница 1

megainformatic - Веселый Буквоежка - онлайн комикс - страница 2

megainformatic - Веселый Буквоежка - онлайн комикс - страница 3

megainformatic - Веселый Буквоежка - онлайн комикс - страница 4

megainformatic - Веселый Буквоежка - онлайн комикс - страница 5

megainformatic - Веселый Буквоежка - онлайн комикс - страница 6

megainformatic - Веселый Буквоежка - онлайн комикс - страница 7

megainformatic - Веселый Буквоежка - онлайн комикс - страница 8

megainformatic - Веселый Буквоежка - онлайн комикс - страница 9

megainformatic - Веселый Буквоежка - онлайн комикс - страница 10

megainformatic - Веселый Буквоежка - онлайн комикс - страница 11

megainformatic - Веселый Буквоежка - онлайн комикс - страница 12

megainformatic - Веселый Буквоежка - онлайн комикс - страница 13

megainformatic - Веселый Буквоежка - онлайн комикс - страница 14

megainformatic - Веселый Буквоежка - онлайн комикс - страница 15

megainformatic - Веселый Буквоежка - онлайн комикс - страница 16

megainformatic - Веселый Буквоежка - онлайн комикс - страница 17

megainformatic - Веселый Буквоежка - онлайн комикс - страница 18

megainformatic - Веселый Буквоежка - онлайн комикс - страница 19

megainformatic - Веселый Буквоежка - онлайн комикс - страница 20

megainformatic - Веселый Буквоежка - онлайн комикс - страница 21

megainformatic - Веселый Буквоежка - онлайн комикс - страница 22

megainformatic - Веселый Буквоежка - онлайн комикс - страница 23

megainformatic - Эмулятор ZX-Spectrum, БК-0010.01 и их работа в эмуляторе DosBox 0.74

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 1

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 2

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 3

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 4

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 5

megainformatic - первый независимый онлайн-журнал комиксов ККК Костя Коробкин Комикс номер 1 март 2016

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 6

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 7

megainformatic - Эмулятор БК-0010.01 версия 2.6 для Windows 9x/Me/2000/XP автор Юрий Калмыков 2002 год

megainformatic - api получения готового решения для решения различных задач возникающих при создании сайта

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 8

роман Eternity Вечность - автор Синицин Андрей megainformatic

роман Eternity Вечность - автор Синицин Андрей megainformatic - страница 2

роман Eternity Вечность - автор Синицин Андрей megainformatic - страница 3

роман Eternity Вечность - автор Синицин Андрей megainformatic - Windows Sockets 2, ping, Windows SDK 7, чем открыть hxs файл - страница 4

megainformatic - Размещение Вашей рекламы на нашем сайте

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 9

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 10

роман Eternity Вечность - автор Синицин Андрей megainformatic - В чём отличие в применении символов & и * в языке c++ ? также продолжаем изучать Windows Sockets 2 и пример simple - страница 5

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 11

megainformatic - игра Шарики на лифте Серия 1 Разгони Лифт / Balls on Lift Level 1 Run The Lift версия 0.9.2 05.10.2016 / version 0.9.2 05.10.2016

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 12

роман Eternity - страница 6 + решение по анимации закрывающихся дверей лифта

megainformatic - Сообщить об ошибке

Balls on Lift Table of Records / Шарики на лифте Таблица рекордов

подробнее

Как работают антивирусы ?

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

Вся загвоздка в том, что задумать сделать антивирус легко, а вот сделать - трудно.

Попробуем всё-таки разобраться как можно подойти к созданию антивируса.

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

Основные типы вирусов

- вирусы, поражающие объекты - файловые, загрузочные, скриптовые, макровирусы, вирусы поражающие исходный код;

        - файловые вирусы делятся по механизму заражения: паразитирующие, которые добавляют себя в исполнимый файл и перезаписывающие, которые невосстановимо портят зараженный файл, "спутники", которые идут отдельным файлом.

- по поражаемым операционным системам и платформам - DOS, Windows, Unix, Linux;

- технологии, применяемые вирусом (полиморфные, стеллс, руткит);

- по языку, на котором написан вирус ( ассемблер, высокоуровневый язык программирования, скриптовый язык );

- по дополнительной вредоносной функциональности ( бэкдор, кейлоггер, шпион, ботнет);

Как распространяются вирусы ?

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

Вирусом или его носителем могут быть не только программы, содержащие машинный код, но и любая информация, содержащая автоматически исполняемые команды - например, пакетные файлы и документы MS Word, Excel, содержащие макросы. Кроме того, для проникновения на компьютер вирус может использовать уязвимости в популярном программном обеспечении ( например, Adobe Flash, Internet Explorer, Outlook ). При этом распространители внедряют его в обычные данные (картинки, тексты и т. д.) вместе с эксплоитом, использующим уязвимость.

Каналы распространения компьютерных вирусов

ДИСКЕТЫ. Самый распространенный канал заражения в 1980 - 1990-е годы. Сейчас практически отсутствует из-за появления более распространенных и эффективных каналов и отсутствия флоппи-дисководов на многих современных компьютерах.

ФЛЕШ-НАКОПИТЕЛИ. В настоящее время USB-флешки заменяют дискеты и повторяют их судьбу - большое количество вирусов распространяется через съёмные накопители, включая цифровые фотоаппараты, цифровые видеокамеры, портативные цифровые плееры, а с 2000-х годов всё большую роль играют и мобильные телефоны, особенно смартфоны (появились мобильные вирусы). Использование этого канала ранее было преимущественно обусловлено возможностью создания на накопителе специального файла autorun.inf, в котором можно указать программу, запускаемую Проводником Windows при открытии такого накопителя. В Windows 7 возможность автозапуска файлов с переносных носителей была отключена.

ЭЛЕКТРОННАЯ ПОЧТА. Обычно вирусы в письмах электронной почты маскируются под безобидные вложения: картинки, документы, музыку, ссылки на сайты. В некоторых письмах могут содержаться действительно только ссылки, то есть в самих письмах может и не быть вредоносного кода, но если открыть такую ссылку, то можно попасть на специально созданный веб-сайт, содержащий вирусный код. Многие почтовые вирусы, попав на компьютер пользователя, затем используют адресную книгу из установленных почтовых клиентов таких как Outlook для рассылки самого себя дальше.

СИСТЕМЫ ОБМЕНА МНГНОВЕННЫМИ СООБЩЕНИЯМИ. Здесь также распространена рассылка ссылок на якобы фото, музыку, либо программы, в действительности являющиеся вирусами, по ICQ и через другие программы мнгновенного обмена сообщениями.

ВЕБ-СТРАНИЦЫ. Возможно также заражение через страницы Интернета, ввиду наличия на страницах всемирной паутины различного "активного" содержимого: скриптов javascript, flash, Active-X компонентов.

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

ИНТЕРНЕТ и ЛОКАЛЬНЫЕ СЕТИ (черви). Черви - вид вирусов, которые проникают на компьютер-жертву без участия пользователя. Черви используют так называемые "дыры" (уязвимости) в программном обеспечении операционных систем, чтобы проникнуть на компьютер. Уязвимости - это ошибки и недоработки в программном обеспечении, которые позволяют удаленно загрузить и выполнить машинный код, в результате чего вирус-червь попадает в операционную систему и, как правило, начинает действия по заражению других компьютеров через локальную сеть или Интернет. Злоумышленники используют зараженные компьютеры для рассылки спама или для DDos-атак.

Противодействие обнаружению

Во времена MS-DOS были распространены стелс-вирусы, перехватывающие прерывания для обращения к операционной системе. Вирус таким образом мог скрывать свои файлы из дерева каталогов или подставлять вместо зараженного файла исходную копию.

С широким распространением антивирусных сканеров, проверяющих перед запуском любой код на наличие сигнатур или выполнение подозрительных действий, этой технологии стало недостаточно. Сокрытие вируса из списка процессов или дерева каталогов для того, чтобы не привлекать лишнее внимание пользователя, является базовым приемом, однако для борьбы с антивирусами требуются более изощренные методы. Для противодействия сканированию на наличие сигнатур применяется шифрование кода и полиморфизм. Эти техники часто применяются вместе, поскольку для расшифрования зашифрованной части вируса необходимо оставлять расшифровщик незашифрованным, что позволяет обнаруживать его по сигнатуре. Поэтому для изменения расшифровщика применяют полиморфизм — модификацию последовательности команд, не изменяющую выполняемых действий. Это возможно благодаря весьма разнообразной и гибкой системе команд процессоров Intel, в которой одно и то же элементарное действие, например, сложение двух чисел, может быть выполнено несколькими последовательностями команд.

Также применяется перемешивание кода, когда отдельные команды случайным образом разупорядочиваются и соединяются безусловными переходами. Передовым фронтом вирусных технологий считается метаморфизм, который часто путают с полиморфизмом. Расшифровщик полиморфного вируса относительно прост, его функция — расшифровать основное тело вируса после внедрения, то есть после того, как его код будет проверен антивирусом и запущен. Он не содержит самого полиморфного движка, который находится в зашифрованной части вируса и генерирует расшифровщик. В отличие от этого, метаморфный вирус может вообще не применять шифрование, поскольку сам при каждой репликации переписывает весь свой код.

Профилактика и лечение

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

1. Не работать под привилегированными учётными записями без крайней необходимости.

2. Не запускать незнакомые программы из сомнительных источников.

3. Стараться блокировать возможность несанкционированного изменения системных файлов.

4. Отключать потенциально опасный функционал системы (например, autorun-носителей в MS Windows, сокрытие файлов, их расширений и пр.).

5. Не заходить на подозрительные сайты, обращать внимание на адрес в адресной строке обозревателя.

6. Пользоваться только доверенными дистрибутивами.

7. Постоянно делать резервные копии важных данных и иметь образ системы со всеми настройками для быстрого развёртывания.

8. Выполнять регулярные обновления часто используемых программ, особенно тех, которые обеспечивают безопасность системы.

Итак, Мы познакомились с основными типами компьютерных вирусов и методам профилактики, теперь рассмотрим какие бывают антивирусные программы.

Классификация антивирусных программ

По используемым технологиям антивирусной защиты:

Классические антивирусные продукты (продукты, применяющие только сигнатурный метод детектирования)

Продукты проактивной антивирусной защиты (продукты, применяющие только проактивные технологии антивирусной защиты);

Комбинированные продукты (продукты, применяющие как классические, сигнатурные методы защиты, так и проактивные)



По функционалу продуктов:

Антивирусные продукты (продукты, обеспечивающие только антивирусную защиту)

Комбинированные продукты (продукты, обеспечивающие не только защиту от вредоносных программ, но и фильтрацию спама, шифрование и резервное копирование данных и другие функции)



По целевым платформам:

Антивирусные продукты для ОС семейства Windows

Антивирусные продукты для ОС семейства *NIX (к данному семейству относятся ОС BSD, Linux, Mac OS X и др.)

Антивирусные продукты для мобильных платформ (Windows Mobile, Symbian, iOS, BlackBerry, Android, Windows Phone 7 и др.)



Антивирусные продукты для корпоративных пользователей можно также классифицировать по объектам защиты:

Антивирусные продукты для защиты рабочих станций

Антивирусные продукты для защиты файловых и терминальных серверов

Антивирусные продукты для защиты почтовых и Интернет-шлюзов

Антивирусные продукты для защиты серверов виртуализации



Лжеантивирусы

В 2009 началось активное распространение т.н. лжеантивирусов — программного обеспечения, не являющегося антивирусным (то есть не имеющего реального функционала для противодействия вредоносным программам), но выдающим себя за таковое. По сути, лжеантивирусы могут являться как программами для обмана пользователей и получения прибыли в виде платежей за «лечение системы от вирусов», так и обычным вредоносным программным обеспечением. В настоящий момент это распространение приостановлено.

Работа антивируса

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

поиск в базе данных антивирусного ПО сигнатур вирусов

если найден инфицированный код в памяти (оперативной и/или постоянной), запускается процесс карантина, и процесс блокируется

зарегистрированная программа обычно удаляет вирус, незарегистрированная просит регистрации и оставляет систему уязвимой.

Базы антивирусов

Для использования антивирусов необходимы постоянные обновления так называемых баз антивирусов. Они представляют собой информацию о вирусах — как их найти и обезвредить. Поскольку вирусы пишут часто, то необходим постоянный мониторинг активности вирусов в сети.

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

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

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

Но по-прежнему существует угроза от вирусов, написанных на низкоуровневых машинных кодах наподобие ассемблера. Сложные вирусы заражают операционную систему, после чего она становится уязвимой и нерабочей.

ПОДВОДИМ ИТОГ

Написать свой собственный антивирус - сложно, по многим причинам. Кроме того, у нового антивируса не будет своей собственной антивирусной базы - её надо будет составлять, а на это потребуется время.

Однако не всё так печально. Было бы желание, добиться можно чего угодно. Главное - поставить задачу и приступить к её решению.

В следущих наших статьях мы рассмотрим с чего можно начать разработку собственного антивируса.

Удачи Вам !

Надеюсь описанная информация помогла Вам лучше защититься от компьютерных вирусов.

далее - Разработка программ на c++, в том числе антивирусов

подробнее

       
  Урок 2: Синтез звука (часть 2)    
       
 

Продолжаем наш урок. Рассмотрим остальные параметры окна FM-синтеза.

Total output waveform length - как раз то, что определяет продолжительность Вашего сэмпла - в секундах. Можете задавать и доли секунды.

Длительность вашего сэмпла
 
       
 

Теперь посмотрите на переключатели 1-2-3-4 и в поле Configuration ниже. Переключатели позволяют переходить в окно параметров каждого из 4-х операторов FM-синтезатора, а конфигурация задает схему взаимодействия операторов, что непосредственно влияет на качественный состав синтезируемого звука. Операторы представляют краеугольный камень FM-синтеза. Каждый оператор - это набор параметров для генерации составляющей звука. Схема взаимодейтсвия определяет количество участвующих в синтезе операторов (от 1 до 4) и тип взаимовлияния. Попробуйте перемещать ползунок под схемой конфигурации - вы увидите все возможные схемы, всего их 13. И этого хватает с избытком.

Настройка операторов FM-синтезатора
 
       
 

Каждый оператор имеет свой набор параметров. Текущий оператор параметры которого вы можете настраивать в данный момент определяется включением соответствующего переключателя 1-2-3-4.

Попробуйте установить самую первую схему, в которой учавствует всего 1 оператор и мы займеся рассмотрением параметров настройки оператора.  
       
 

Самый заметный параметр оператора - это окно настройки формы огибающей. Огибающая определяет следующие фазы звука: Нарастание (Attack), Спад (Decay), Удержание (Sustain), Затухание (Release).

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

Минимальное число узлов естественно 2 - это начало и конец графика. Максимальное 8 - обусловлено пределом аппаратных возможностей звуковой карты.

Поле окна настройки огибающей
 
 

Попробуем создать форму огибающей следующего вида:Здесь четко прослеживаются все 4 базовые фазы звуковой волны: Нарастание-Спад-Удержание-Затухание. Исходя из формы графика и названий данных фаз Вам все должно стать понятно. Т.о., нарастание - фаза подъема звука от нулевого значения амплитуды до некоторого максимума; спад - снижение амплитуды от максимума (конец фазы нарастания) до некоторого минимума; удержание - фаза примерно постоянной, неизменной амплитуды; и наконец, затухание - переход звука в тишину. Данные фазы введены условно, для облегчения выделения основных составляющих звука. У различных звуков, которые Вы будете синтезировать отдельные фазы могут находиться в различных причудливых сочетаниях или отсутствовать вообще.

Настройка огибающей звука для оператора 1.
 
       
 

Почему? Да потому что различные звуки имеют различные огибающие. Кроме того, Вы можете расставить (см. выше) до 8 точек огибающей у каждого из операторов, а это уже дает заведомо больше 4 рассмотренных нами фаз. Если использовать все 8 узлов огибающей то можно создать до восьми! фаз огибающей звука. На рисунке показаны примеры огибающих.

Примеры огибающих - вверху простая прямая; внизу - сложная 8-ми фазная
 
       
  Потренировавшись немного Вы сможете теперь настроить любую форму огибающей. Рассмотрим остальные параметры оператора. Они достаточно просты: Amplitude - громкость звуковой частоты генерируемой оператором; Waveform - форма звуковой волны (синусоида, Квадрат, Пилообразный и т.п.); Frequence - частота звука (Гц); Feedback - процент обратной связи, определяющей взаимовлияние частоты на саму себя. Вообщем-то это всё! Этих знаний Вам уже вполне достаточно для самостоятельного синтеза практически любого звука (сэмпла). Давайте-ка попрактикуемся!  
       
  Мы еще так и не создали сэмпл ударный "бочка". Попробуем сделать это. Несмотря на то, что технология синтеза сэмплов вроде бы достаточна проста, на самом деле создание новых сэмплов - целое искусство. Вы сами в этом скоро убедитесь. Дело в том, что синтезировать новый звук на основании любых заданных параметров достаточно просто. А вот попробуйте-ка добиться, чтобы Ваш сэмпл стал похож на какой-то музыкальный инструмент! А, то-то же! Дело в том, что технология обратного синтеза (или ресинтеза), задача не тривиальная. Поэтому, чтобы создать действительно что-то стоящее Вам придется изрядно по-потеть. Во-первых, можно оцифровывать и анализировать имеющиеся в вашем распоряжении звуки и использовать их как готовые сэмплы. Во-вторых, можно попробовать воссоздать при помощи FM-синтеза тот или иной звук. Это уже гораздо труднее. Хотя нет ничего невозможного! Итак, вперед, за дело!  
       
 

Чтобы синтезировать сэмпл ударный "бочка" (а мы с Вами попробуем сейчас создать свою собственную "новую"! бочку) Вам нужно задать следующие параметры:

Preset - нет; Configuration 2->1, т.е.

Length - 0,5 секунд; Параметры 1-го оператора: форма огибающей - см. рисунок ---->

Громкость - на ваш вкус; waveform - Sinus; Frequence - 5Hz;

Общие параметры и параметры первого оператора
 
 

Параметры 2-го оператора: форма огибающей - см. рисунок ---->

Громкость - на ваш вкус; waveform - Sinus; Frequence - 20Hz;

Теперь смело жмите Preview и слушайте что получается. Можете поэкспериментировать меняя различные параметры по своему вкусу. В дальнейшем чтобы делать свои эффектные сэмплы Вам придется много много экспериментировать! Заметим, что параметры FM-синтезатора достаточно мощные и могут генерировать не только слышимые, но и ультра и инфра звуки (вспомните, что человеческое ухо воспринимает лишь диапазон частот от 20 до 20000Hz).

Общие параметры и параметры 2-го оператора
 
  Поэтому следуйте в своих пробах такому правилу: если после установки новых параметров никакого звука нет, значит полученный Вами звук выпадает из слышимого диапазона. Просто уменьшайте предельные значения установленных Вами параметров (например, частоты, обратной связи и т.п.) до тех пор, пока звук не появится вновь!    
       
  Итак, если у Вас всё получилось, и Вам всё понятно, то жмем ОК и получаем новый сэмпл! Сохраните полученный сэмпл в формате wav. Далее мы рассмотрим как использовать созданный сэмпл для создания музыки в программе Impulse Tracker.  
       
  [Предыдущий урок] [Следующий урок] [Все уроки]  
       
подробнее

Веселый Буквоежка - онлайн комикс - страница 21

представляем Веселый Буквоежка - онлайн комикс.

Я давно уже сам собирался его поменять, да всё времени не было.

Веселый Буквоежка - онлайн комикс - страница 21

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1]  [страница 2]  [страница 3]  [страница 4]  [страница 5]  [страница 6]  [страница 7]  [страница 8]  [страница 9]  [страница 10]  [страница 11]  [страница 12]  [страница 13]  [страница 14]  [страница 15]  [страница 16]  [страница 17]  [страница 18]  [страница 19]  [страница 20]  [страница 21]  [страница 22]  [страница 23] 

подробнее


[к содержанию] [другие статьи Тимонина Андрея]

Хронология работы программы. Создаем Лог

автор: Тимонин Андрей

дата публикации на сайте Мега Информатик: 17.11.2012

Добро пожаловать в цикл моих уроков посвященных программированию.

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


В любой программе присутсвуют баги, которые, подчас сложно отследить и исправить. Выпуская ваш продукт на рынок, вы гарантируете, что ваша программа работает без сбоев. А если что-то случаеца, единственный способ определить, что пошло не так, оценить содержание лога.

Что из-себя представляет лог? Обычный текстовый файл с расширением log (оно может быть любое). Каждая строчка такого файла содержит штамп времени и некий текст. Это может быть строка ошибки или сообщение о том, что некий ресурс успешно загрузился. Смотрим пример лога:


08:43:32: Creating resource group General
08:43:32: Creating resource group Internal
08:43:32: Creating resource group Autodetect
08:43:32: SceneManagerFactory for type 'DefaultSceneManager' registered.
08:43:32: Registering ResourceManager for type Material
08:43:32: Registering ResourceManager for type Mesh

А теперь ближе к делу. Создадим простейший класс лога:

//log.h

#pragma once
#include <string>
#include <fstream>

class Log
{
protected:
std::ofstream mfpLog; //файловый поток
std::string mName;
public:
Log( const std::string& name); //Конструктор
~Log(); //деструктор
void logMessage(const std::string& message); ///для записи строки
};

А вот так будет выглядеть реализация класса

//log.cpp
#pragma once
#include "Log.h"
#include <time.h>
#include <iomanip>
Log::Log( const string& name )//конструктор
: mName(name)
{
mfpLog.open(name.c_str(),ios::out); //откроем файл лога
}
//-----------------------------------------------------------------------
Log::~Log()//деструктор
{
mfpLog.close(); //закроем файл лога
}
//-----------------------------------------------------------------------
void Log::logMessage( const string& message )
{ struct tm *pTime;
time_t ctTime;
//берем системное время
time(&ctTime);
//получим указатель на структуру времени
pTime = localtime( &ctTime );
//выведем в строку ширина 2 позиции заполнитель 0
mfpLog << std::setw(2) << std::setfill('0') << pTime->tm_hour
<< ":" << std::setw(2) << std::setfill('0') << pTime->tm_min
<< ":" << std::setw(2) << std::setfill('0') << pTime->tm_sec
<< ": " << message << std::endl;
}

Пример использования класса:

//где-то в недрах программы :)
Log mLog ("game.log");
//так пишем сообщения
mLog.logMessage("Ваше сообщение");

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

[к содержанию] [другие статьи Тимонина Андрея]

     
 
 Моделирование обстановки помещения
 
[Все уроки 3ds max] [Галерея моделей] [далее]
 

Выполните сброс рабочей среды (File>Reset). 

Откройте созданный Вами ранее макет комнаты (my_room1.max).

Чтобы легче было обозревать обстановку комнаты попробуем удалить одну из стен. Я думаю это не будет для Вас чем-то новым - вы это уже делали удаляя внутренний объект у большего box'a - мы применим

операцию логического вычитания для удаления одной из стен:

-         Создайте объект Box таких размеров и в таком месте, чтобы он пересекал одну из стен

 
подготовка к удалению стены - создание вспомогательно объекта
 

-         Выберите объект room и откройте панель Create;

-         Выберите из списка объектов Compound Objects;

-         Тип объекта - Boolean;

-         На панели Parameters задайте тип операции Subtraction (A-B)

-         В группе Pick Boolean нажмите кнопку Pick Operand B и укажите на пересекающий стену box;

Аналогичным образом можно создать подходящие блоки для дверного проема и оконных проемов и выполнить логическое вычитание - см. окончательный вариант комнаты. 

ПОДГРУЗКА СОЗДАННЫХ РАНЕЕ ОБЪЕКТОВ ОБСТАНОВКИ 

Используя команду File>Merge подгрузите объекты: стул, табурет и стол.

Если требуется отмасштабируйте объекты и разместите их внутри комнаты.

Путем клонирования можете создайть еще стулья и табуреты.

Окончательный вариант того, что у Вас должно получиться - здесь.

 

Небольшое дополнение.

Команда File > Merge создает в сцене копии моделей из указанных файлов. Таким образом изменение моделей в этих файлах не повлияет на данную сцену.

Есть еще другая команда - File > XRef Objects - она создает в сцене связи с указанными файлами. Эти связи таковы, что изменения связанных моделей будут вызывать и изменения моделей вставленных таким способом в данную сцену.

Таким образом первый тип внедрения (командой Merge) - это создание независимых копий моделей в сцене, второй тип (XRef) - создание зависимых копий, изменения в оригинальном файле внедренной модели вызовут изменения этой модели внутри файла сцены в которую была внедрена данная модель.

Иными словами первый тип внедрения - по значению, второй - по ссылке (если проводить аналогию с переменными и программированием).

 
     
  [Все уроки 3ds max] [Галерея моделей] [далее]  
     
     
     
     
     
megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 0,0911