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


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

megainformatic - Музыкальные темы
             
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
проект портала Идеи Комфорта

megainformatic - игра Веселый Буквоежка

megainformatic - игра Веселый Буквоежка

megainformatic - Использование cron, crontab и планировщика задач

megainformatic - Совместное использование jquery и mootools или других js-фреймворков

megainformatic - Модуль content php performer для megainformatic cms

megainformatic - Пишем компактный слайдер

megainformatic - Что нужно знать для создания сайта ?

megainformatic - Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE

megainformatic - Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript

megainformatic - Что нужно знать для создания сайта ? Содержание

megainformatic - Что нужно знать для создания сайта ? css - стили

megainformatic - preg_match или Использование регулярных выражений в php

megainformatic - статьи Тимонина Андрея - Flash. Содержание

megainformatic - статья Тимонина Андрея - Flash. Подготовка к работе.

megainformatic - статья Тимонина Андрея - Flash. Hello world.

megainformatic - статья Тимонина Андрея - Flash. Экспорт SWC библиотеки.

megainformatic - Тимонин Андрей - Несколько слов о себе

megainformatic - статьи Тимонина Андрея - уроки из области веб программирования, создания казуальных игр

megainformatic - статья Тимонина Андрея - Обеспечиваем доступ к объекту из любой точки программы. Singleton

megainformatic - статья Тимонина Андрея - Хронология работы программы. Создаем Лог

megainformatic - статья Тимонина Андрея - Поиск файлов. Получаем список файлов каталога.

megainformatic - статья Тимонина Андрея - Исключения. Создаем класс обработки исключений.

megainformatic - статья Тимонина Андрея - States. Создаем менеджер состояний игры.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 1. Создаем страничку регистрации на сайте.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 2. Создаем обработчик, и заносим информацию о пользователе в Б.Д.

megainformatic - статья Тимонина Андрея - Таймер. Выводим время игры.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем основной класс обработки графики.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем первое приложение.

megainformatic - Что нужно знать для создания сайта ? float - использование в css - стилях

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 2 - пишем свою композицию COLD

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

megainformatic - Что нужно знать для создания сайта ? Стандартные шрифты для сайта

megainformatic - Что нужно знать для создания сайта ? ASC II Коды символов

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 4 - пишем первый вариант композиции COLD

megainformatic - Популяризация Современных Научных Знаний и Размышления на околонаучные темы. СОДЕРЖАНИЕ

megainformatic - Популяризация Современных Научных Знаний и Размышления на околонаучные темы. Энергетический кокон

megainformatic - Модуль галерей для любой cms

megainformatic - Портфолио выполненных проектов сайтов и приложений

megainformatic - Мои Музыкальные Миры - страница 2

megainformatic - megainformatic cms rs

megainformatic - модуль Падающий снег

megainformatic - проект Open Shop

megainformatic - Рисуем красивую девушку всего за 6 шагов

megainformatic - Галерея красивых рисованных девушек

megainformatic - НОВОГОДНЕЕ ОБРАЩЕНИЕ СОЗДАТЕЛЯ webinformatic К ЖИТЕЛЯМ ПЛАНЕТЫ интернет

megainformatic - Отзывы оставленные пользователями как впечатление о проделанной работе или что-либо понравившееся на сайте

megainformatic - Уроки css - атрибут position

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - СОДЕРЖАНИЕ

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 1 - Обычный день

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 2 - Начало (begin)

Новогодняя дискотека 2013 на megainformatic точка ru

megainformatic - Программируем на C++ с использованием MFC

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения - hello, world !

megainformatic - Как создать игру ? - Пишем игровой движок с нуля

подробнее


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

Таймер. Выводим время игры.

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

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

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

Эта статья будет посвящена такому понятию как игровое время, и как его выводить.


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

В этой статье мы коснемся, непосредственно, вывода этого времени на игровой экран. А будет у нас оно формироваться в строковом формате, например таком, как на скриншоте.

Время измеряется в часах, минутах, секундах, миллисекундах. Для нас интересны сейчас часы, минуты и секунды, составляющие формата.

Существует много способов определения времени. Мы рассмотрим один из них. Подходит он или нет для вашего случая, решать вам.

Графическую составляющую панели со временем я не рассматриваю. Это тема для другой статьи.

Итак, приступим к делу... Напишем класс, который имеет следующие возможности:

1) показывать текущее время;

2) сбрасывать в 0 время игры;

3) определять сколь времени прошло;

4) устанавливать счетчику время старта.

У меня получился такой интерфейс класса, который я назвал СTimerPanel

class СTimePanel
{
//мой класс для вывода текста
CStaticText* text;
public:
СTimePanel ();
~СTimePanel();
//сброс счетчика
void reset();

//возвращает время со старта
time_t getTime() const;

//устанавливает время старта
void setTime(time_t st);

//отрисовка

bool render();
private:

//закрытая переменная времени старта
time_t time_st;

};

Здесь мы используем время стандартной библиотеки time.

Посмотрим на мою реализацию класса

СTimePanel::СTimePanel()
{
//некий класс для вывода текста
text = new CStaticText(L"Time",L"Data/panel.png",208,57,CPoint(+128,-280));
//берем системное время
time(&time_st);

}

//вычисляем текущее время
time_t СTimePanel::getTime() const
{
time_t ctTime;
//берем системное время
time(&ctTime);
ctTime = ctTime - time_st;
return ctTime;
}

//устанавливаем время
void СTimePanel::setTime(time_t st)
{
time_t ctTime;
//берем системное время
time(&ctTime);
time_st = ctTime - st;

}

СTimePanel::~СTimePanel()
{
if( text )
{
delete text;
}
}
//сброс счетчика
void СTimePanel::reset()
{
//берем системное время
time(&time_st);
}

bool СTimePanel::render()
{
if( text )
{
struct tm *pTime;
time_t ctTime;
//берем системное время
time(&ctTime);
ctTime = ctTime - time_st;
//получим на указатель на структуру времени
//pTime = localtime( &ctTime );

//преобразуем время в часы, минуты, секунды
pTime = gmtime(&ctTime );
if (!pTime) return false;

//выведем в строку ширина 2 позиции заполнитель 0
std::ostringstream stime;
stime << 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
<< std::endl;

text->SetText(stime.str());

//рисуем
text->Draw();
}
return true;
}

Время в этой статье определяем с помощью стандартной библиотеки, которая подключается директивой

#include <time.h>

Для его определения я опираюсь на локальное время компьютера, которое определяется функцией

time_t ctTime;
//берем системное время
time(&ctTime);

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

Чтобы вывести время, мы преобразуем его к структуре tm, для более удобного использования в строковом потоке.

Функция gmtime преобразует наше время с учетом GMT (часового пояса).

 

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

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

подробнее

Creating game on fle game engine - DirectX 9c Draw Line - This can be helpful/ Создание игры на fle game engine - Рисование линий - Это может пригодиться.

read paper in english

Цель данного урока проста - показать как средствами directx 9c рисуются линии.

Иногда это бывает необходимо. Например в редакторе сцены Scene Editor этим способом рисуется сетка (grid), служащая для точного позиционирования игровых объектов в сцене.

Создание игры во fle game engine - Рисование линий - Это может пригодиться

В документации по directx 9c приводится интерфейс ID3DXLine, а также его методы, которые нужно использовать для рисования линий.

Однако нет полноценного примера как применяется это всё вместе.

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

Всё что вам нужно - это иметь базовый исходный код, для создания простого directx 9c приложения (его Вы тоже сможете скачать), а также несколько десятков строк кода, который потребуется чтобы выполнить рисование линий средствами directx 9c.

Суть состоит в следующем:

в модуле start.h внутри класса CD3DGameApp объявляем такие поля и методы:

//draw line
ID3DXLine* m_pLine;
void CreateLine(IDirect3DDevice9* pd3dDevice);
void LineOnLostDevice();
void LineOnResetDevice();
void FillPixel(int x, int y, int w, int h, DWORD color);
void FreeLine();
void DrawPoint(float x, float y, DWORD color);
void DrawLine(float x, float y, float x2, float y2, float width, DWORD color);

в модуле start.cpp реализуем их.


CD3DGameApp::CD3DGameApp()
{
//...
m_pLine = NULL;

void CD3DGameApp::CreateDeviceObjects(IDirect3DDevice9* pd3dDevice) { CreateLine(pd3dDevice); } HRESULT CD3DGameApp::RestoreDisplayObjects(IDirect3DDevice9* pd3dDevice) { //... LineOnResetDevice(); } HRESULT CD3DGameApp::DestroyDisplayObjects() { //... FreeLine(); } HRESULT CD3DGameApp::InvalidateDisplayObjects() { //... LineOnLostDevice(); } //draw line
void CD3DGameApp::CreateLine(IDirect3DDevice9* pd3dDevice)
{
D3DXCreateLine(pd3dDevice, &m_pLine);

}

void CD3DGameApp::LineOnLostDevice()
{
if ( m_pLine != NULL )
{
m_pLine->OnLostDevice();
}
}

void CD3DGameApp::LineOnResetDevice()
{
if ( m_pLine != NULL )
{
m_pLine->OnResetDevice();
}
}

void CD3DGameApp::FillPixel(int x, int y, int w, int h, DWORD color)
{
D3DXVECTOR2 vLine[2];

if ( m_pLine != NULL )
{

m_pLine->SetWidth( (float)w );
m_pLine->SetAntialias( false );
m_pLine->SetGLLines( true );

vLine[0].x = (float)(x + w/2);

vLine[0].y = (float)y;
vLine[1].x = (float)(x + w/2);
vLine[1].y = (float)(y + h);

m_pLine->Begin();
m_pLine->Draw( vLine, 2, color );
m_pLine->End();

}

}

void CD3DGameApp::FreeLine()
{
SAFE_RELEASE( m_pLine );
}

void CD3DGameApp::DrawPoint(float x, float y, DWORD color)
{
FillPixel((int)x, (int)y, 1, 1, color);
}

void CD3DGameApp::DrawLine(float x, float y, float x2, float y2, float width, DWORD color)
{
D3DXVECTOR2 vLine[2];

if ( m_pLine != NULL )
{

m_pLine->SetWidth( width );
m_pLine->SetAntialias( false );
m_pLine->SetGLLines( true );
vLine[0].x = x;
vLine[0].y = y;
vLine[1].x = x2;
vLine[1].y = y2;
m_pLine->Begin();
m_pLine->Draw( vLine, 2, color );
m_pLine->End();

}
}

void CD3DGameApp::DrawGameView() { //draw line DrawPoint(30.0f, 30.0f, 0xFFFF0000); DrawLine(10.0f, 50.0f, 300.0f, 50.0f, 1.0f, 0xFFFFFF00); DrawLine(80.0f, 210.0f, 400.0f, 120.0f, 2.0f, 0xFF00FF00); DrawLine(500.0f, 310.0f, 200.0f, 80.0f, 1.0f, 0xFFFFC017); }

Вот и всё ! Таким образом мы научились рисовать точки и линии произвольного цвета и положения. В коде цвета можно использовать и значение альфа - первая пара чисел, она будет задавать полупрозрачность изображаемого примитива. 0xFFFFC017 - FF - значение альфа, т. е. 255.

Объект линии - m_pLine проходит все те же стадии, что и любой другой directx 9c объект: создание CreateLine, сброс LineOnResetDevice, инвалидацию LineOnLostDevice, освобождение FreeLine, ну и конечно отрисовку DrawLine. Если Вы захотите анимировать линии, тогда вам еще будет нужно реализовать метод анимации, например AnimLine, вызываемый из метода CD3DGameApp::FrameMove вашего приложения.

Скачать пример Draw Line с полным исходным кодом (524 Kb).





Для нормальной сборки проекта вам потребуется DX SDK Aug 2008 и среда разработки MSVS 2005

Подробнее о настройках проекта читайте в приложенном внутри самораспаковывающегося архива файле readme.txt

к содержанию

подробнее

 

Система автоматизированной рассылки е-майл сообщений - megainformatic emailer

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

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

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

 
     
 

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

Список рассылки хранится в базе данных mysql являющейся составной частью сайта и системы рассылки.

Пополнить список рассылки можно

- прямым добавлением пользователей из админки;

- путем импорта таблицы в формате CSV;

- путем самостоятельной подписки пользователя на вашу рассылку.

 
     
 

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

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

 
     
  И наконец после выполнения пробной рассылки, которая прошла успешно, можно приступить к выполнению реальной рассылки.  
     
  Добро пожаловать в megainformatic emailer !  
     
  Требования к системе - система может быть установлена на хостинге, поддерживающем php/my sql последних версий (5.2 или выше).  
     
 

Особенности системы:

- простота установки и использования;

- открытый исходный код;

- простой и понятный функционал, возможности расширения;

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

Вы можете использовать megainformatic emailer как самостоятельную систему управления, часть системы megainformatic cms или встроить/настроить систему для использования в составе других систем управления сайтами.

 
     
  Оценить возможности megainformatic emailer можно на примере функционирования данного сайта.  
     
   
     
     
     
     

 

подробнее

Моё портфолио выполненных проектов сайтов и приложений



посмотреть портфолио в виде списка

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


адаптация шаблона для сайта про незамерзающую жидкость
разработка сайта под ключ http://m-dacha.ru/
дизайн шаблона, верстка интеграция
различные доработки функционала и контента http://smokoff.ru
контент-менеджмент mospf.ru
перенос сайта с самописной cms на joomla - http://my-english.org/
верстка http://bomond.by/
доработки функционала http://lider-in.ru/
сайт под ключ - http://continentalsingles.com
подключение системы рассылки megainformatic cms emailer - http://allcarport.ru/
внедрение карусели - http://www.flexyheat.ru/
http://blagoustroy.ru/ (редизайн и верстка)
http://odevaembebikov.ru/ (верстка, доработка функционала)
http://hino-samara.ru/ (доработка функционала, контент-менеджмент)
http://lr-zp.ru/ (подключение Робокассы)
доработки функционала http://imidzh-studiya.com/
http://technopro-3000.ru/ (сайт под ключ)
http://el-kalyan.ru/ (сайт под ключ)
http://petline.ru/ (верстка, интеграция в движок)
http://casino-zodiac.org/ (подключение платежной системы free-kassa.ru, интеграция в движок сайта, редизайн, верстка, мелкие доработки)
http://iwo-tech.ru/ (доработки, контент-менеджмент)
http://minilance.ru/ (подключение платежной системы РОБОКАССА)
http://kosmetologvmoskve.ru/ (исправлена ошибка в верстке вывода комментариев)
http://megainformatic.ru/webprojects/groupon/ (сайт коллективных покупок с нуля под ключ на базе megainformatic cms)
http://jado74.ru/ (сайт под ключ)
http://megainformatic.ru/webprojects_cms/ekstm/ (сайт под ключ)
     
 

Игра ВЕСЕЛЫЙ БУКВОЕЖКА

 
     
 
 
 


во втором видео - показ всей игровой локации (несколько игровых экранов)

 
 
 
 

 

 

 

150 руб.
 
 
 
 
Скачиваний : 5
 
 

Веселый Буквоежка, игра, интерактивный скриншот - наведите указатель мышки на нужный элемент скриншота игры и увидите подсказку по нему.



Веселый Буквоежка, игра, интерактивный скриншот - наведите указатель мышки на нужный элемент скриншота игры и увидите подсказку по нему.

Ниже представлены скриншоты из вступительного комикса, скрины и концепт-арт.

 
  поиски начинаютсяЛукьяныч гибнетночь  
     
  Жора, Щукин и Лукьяныч отправляются на поиски Гали. Они идут вглубь таинственного места, вслед за Лукьянычем. Лукьяныч гибнет. Героям удается найти Галю и вырвать его из рук Сольвейга - человека, ставшего опасным обитателем свалки.  
     
  последняя схваткавозникновение  
     
  Приближается ночь. Силы на исходе. Герои готовы погибнуть. Жора не желает сдаваться. Он вступает в последнюю схватку. Но тут в пламени огня появляется новый герой. Он вырывает друзей из плена опасных пауков и прячет в безопасном месте.  
     
  Веселый Буквоежка - ВПЕРЕД!в доме у Бабы Яги  
     
  Герои нашли убежище и долгожданный отдых. Но нашему герою - Веселому Буквоежке - пока рано успокаиваться. Ему предстоит много дел, касающихся расчистки и озеленения территории, борьбы с опасными существами, поиска вещей и находок и главное - оказание всяческой помощи спасенным.  
     
  дождьпоиск находок  
     
  Свалка хранит следы былых времен. Нужно сделать шаг и сдвинуть зону на путь перемен. И тогда герои найдут ответ на все свои вопросы и отыщут, наверное, таинственное Озеро Желаний.  
     
 

 

 

 

 
 
     
  Системные требования: Windows 98SE/2000/Me/XP/Vista/Seven/ DirectX9c / Pentium III 1000 MHz / 128 Mb RAM / 32 Mb Video RAM / около 130 Mb свободного места на HDD / DirectX-совместимая звуковая карта / клавиатура, мышь  
     
  ночные гости  
     
  с наступлением ночи опасность возрастает  
     
  расчистка территории  
     
  Веселый Буквоежка показывает что нужно делать с этим мусором  
     
  зелень требует полива  
     
  посаженные деревья нуждаются в поливе  
     
  сделаю-ка я из тебя доброго  
     
  Буквоежка борется с опасными злыми пауками, а добрые помогают ему  
     
  Баба Яга опять спорит со своим Котом  
     
  У Бабы Яги снова споры  
     
  Веселый Буквоежка - экран главного менюВеселый Буквоежка - начало  
     
  История создания проекта "Веселый Буквоежка"  
     
  Игра повествует о приключениях произошедших на заброшенной территории
завода игрушек, превратившейся в обширную городскую свалку и
получившую название "Зона". В Зоне пропадает девочка Галя,
а на её поиски отправляются несколько смельчаков и пропадают
сами. Параллельно этому возникает новая вероятностная цепочка,
частью которой является персонаж по имени Веселый Буквоежка.
Это и есть Вы, т. е. игрок, в лице главного героя.

Вам предстоит начать борьбу со свалкой и её порождениями.

 
     
  Веселый Буквоежка - экран загрузкиВеселый Буквоежка - ищем находки  
     
  Веселый Буквоежка - в хранилище вещейВеселый Буквоежка - все находки  
     
  Несколько слов об игре

Мы попадаем в увлекательный, живой мир, в котором постоянно что-то происходит, то появляются странные существа, то какой-то летающий мусор, или вдруг находим какую-нибудь вещь, либо находку в земле. Находки могут быть разные - пустые, с секретом, призом или антипризом, и с буквой. Буквы можно подбирать и укладывать на расчищенной территории, выкладывая простые слова. Слово может состоять из 2х, 3х или 4х букв, по вертикали, горизонтали или диагонали сверху-вниз-наискосок.

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

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

Нужно выйти из игры (ваша текущая игра будет сохранена) - нажав Esc или выбрав мышью кнопку меню на мини-панели, которая расположена в левом верхнем углу игрового экрана. Открыть папку, куда Вы установили игру (по-умолчанию C:\Program Files\Веселый Буквоежка\) и открыть подпапку Media, а внутри неё подпапку text. Здесь Вы увидите файл words_from_plates.txt - это обычный текстовый файл, представляющий из себя список возможных слов.

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

 
     
  Особенности игры:

- объемный 2D-мир, горизонтальный скроллинг в обоих направлениях;

- прямое управление главным героем, от третьего лица;

- вещи - специализированные предметы;

- находки - буквы и призы, спрятанные в недрах земли;

- секретные места - попасть туда можно при использовании секрета;

- явления природы: дождь - является одним из секретов;

- злые существа - пауки, атакующие мусором;

- Веселый Буквоежка, атакующий СМЕХОМ, бросающий пауков;

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

 
     
  Веселый Буквоежка - в лесуВеселый Буквоежка - возникновение  
     
  Веселый Буквоежка - дождьв доме Бабы Яги  
     
 

Сведения о технологиях

Веселый Буквоежка Версия 0.1 включает:

- Игровой процесс: находки, складывание слов, призы, атаки пауков,
отражение атак, секреты;

- Игровая оболочка: загрузчик, вступление, главное меню, описания, настройки;

- Инструменты: редактор сцен, сборщик локаций, утилита Coords2D;

Особенности:

полностью локализуемая логическая аркада без ограничений возраста,
написана на C++/DirectX 9c на собственном 2D-движке Fle_cpp DirectX Engine v. 0.1
от 12.06.2010

 
     
  Заметки разработчика - рисуем паука  
     
 

 

 

 

 
 
     
megainformatic live chat
Начать беседу
X
 

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



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


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