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


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
18 февраля 2019 7:03
Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Парсер сайтов Введение

megainformatic - Я пишу музыку для себя и для продажи

megainformatic - Статьи на околомузыкальные темы - осень 2014 часть 1

megainformatic - рассказ - Чужие воспоминания - автор Синицин Андрей - 24.09.2014

megainformatic - Сайты живущие вне поисковых систем. Есть ли такие и как их найти ?

megainformatic - Game craft - проект разработки игровых и мультимедийных проектов

megainformatic - Game craft - моделируем scv

megainformatic - Game craft - моделируем scv - шаг 1 (часть 2)

megainformatic - Game craft - моделируем scv - шаг 2 (часть 3)

megainformatic - Game craft - Наложение текстуры на модель робота scv (часть 4)

megainformatic - Game craft - Прорисовка текстуры робота SCV шаг 5

megainformatic - Game craft - Экспорт модели из 3ds max в формат X

megainformatic - Game craft - отображение scv модели в формате x в d3d9-приложении

megainformatic - Game craft - управление игрой от Direct Input в d3d9 - приложении

megainformatic - Game craft - игровая камера в d3d9 - приложении

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 1

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 2

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 3

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 4

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 5

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 6

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 7

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 1

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 2

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 3

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 4

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 5

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 6

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 7

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

подробнее

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

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

Жора, Щукин и Лукьяныч отправляются в глубь свалки, именуемую Зоной, на поиски Гали. Щукин размышляет. В пять тридцать мы вышли. Скоро сумерки. А ночь в Зоне еще никто не проводил. А если провел, уже не расскажет. Я шел в середине. Первым Жора Васюнин, легкий, худой, злой. Замыкал Лукьяныч. Лукьяныч робел, поминутно оглядывался. Директор соблазнил его большой премией. Впрочем на что Лукьянычу премия ? Удивительно несоизмеримы наши дела и их последствия ! Любопытно, а что если бы и я потребовал премию ? Я внутренне усмехнулся. Я понимал, что мы должны найти девочку до темноты. Директор взял с нас слово, что до темноты мы вернемся.

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

если кликать картинку она будет последовательно меняться в размерах от 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] 

подробнее

Онлайн-сервис для подсчёта статистики ключевых слов


Как всё это работает Вы можете увидеть здесь - Онлайн-сервис подсчёта ключевых слов

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

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

Это намного удобнее, чем выбирать слова вручную.

Что для этого нужно ?

Файл статьи в формате txt размером не более 5 Mb

Опишу пошагово что нужно сделать, чтобы получить статистику слов по вашей статье.

Вы обращаетесь на страничку сервиса - Онлайн-сервис подсчёта ключевых слов

Нажимаете кнопку ВЫБЕРИТЕ ФАЙЛ и указываете нужный файл статьи, расположенный на Вашем компьютере. Сразу скажу, что файл вашей статьи на сервисе не сохраняется, а обрабатывается и сразу же удаляется по понятным причинам.

В поле - предел (v) для частоты слов - Вы можете указать частоту, при которой слова будут выводиться в отчёт

После того, как это сделано - нажимайте кнопку ЗАГРУЗИТЬ ФАЙЛ КОНТЕНТА СТАТЬИ и если всё ОК, то Вы сразу же получите отчёт в виде таблицы.

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

Чтобы загрузить другую статью просто нажимаете ссылку Загрузить еще.

Дополнительные возможности


Кодировка

Внешний текстовый файл статьи по-умолчанию должен быть в кодировке windows-1251,
но сервис позволяет Вам использовать и файлы в кодировке utf-8. Если Вы явно не указали кодировку, то файл будет обработан в кодировке windows-1251. Однако если Вы при этом заметили, что в отчёте отсутствуют фразы, содержащие русские буквы - значит Вам надо выгрузить Вашу статью повторно, указав кодировку uft-8

Анализ демонстрационной статьи

Если у вас в данный момент нет ни одной статьи под рукой, но Вы хотели бы немедленно посмотреть как работает этот сервис - просто нажмите на эту ссылку - статистика слов по демо-статье

Загрузка контента прямо со страницы указанного сайта

Вы даже можете указать в качестве страницы сайта адрес страницы для анализа статистики ключевых слов.
Для этого введите адрес страницы сайта в поле загрузить статью с указанной страницы сайта, например http://webjob.megainformatic.ru/?rid=1

и нажмите ENTER или кнопку ЗАГРУЗИТЬ.

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

Анализ указанной страницы нужного сайта с заданным пределом встречаемости слов в тексте

Пример -

http://megainformatic.ru/games.php?gamename=kg&v=18&site=http://megainformatic.ru/?page=173

Где v - задает частоту встречаемости слов, site - адрес анализируемой страницы сайта

Что вы теперь можете

Таким образом у Вас есть на выбор несколько вариантов:

1) Загружать Ваши статьи прямо на страницу сервиса и получать по ним результаты.

2) Написать собственный модуль (аналогичный данному сервису) и поставить его у себя на сайте - описание находится здесь - описание модуля kg

3) Если у Вас еще нет своего сайта - Вы можете скачать пакет DENVER, установить его на своём компьютере и использовать модуль генератора ключевых слов локально на сервере localhost.

Как видите это уже не мало !!!

Более того, Вы можете создать подобный сервис на своём собственном сайте :))))

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

     
     
  Добро пожаловать в систему управления сайтом megainformatic cms !  
     
  [к содержанию] [назад] [далее]  
     
 

1) Создание эскиза и макета страницы сайта

 
     
  Возьмем за основу такой эскиз  
     
 

 
     
 

Подготовку макета для верстки называют нарезкой. Она заключается в разбиении всего изображения эксиза на изображения блоков.

Для этого мы возьмем программу Adobe Photoshop и выполним нарезку инструментом Slice Tool

 
     
   
     
   
     
  Подкорректируем расположение блоков  
     
   
     
  Дадим блокам более понятные имена  
     
   
     
   
     
   
     
  Т. е. наши нарезанные блоки надо назвать header, menu, content и footer соответственно.  
     
  Теперь осталось вывести созданный макет в файл html. Выбираем пункт меню File > Save for Web  
     
   
     
  В открывшемся окне нажимаем кнопку Save и указываем папку, куда хотим сохранить макет html  
     
   
     
  Теперь можно открыть через Проводник Windows папку, куда Вы сохранили макет html и попробовать открыть его в браузере.  
     
  В следующем нашем уроке Вы узнаете как сверстать созданный html-макет.  
     
  [к содержанию] [далее]  
     
 

Если у вас есть или остались вопросы напишите мне по одному из указанных контактов, я постараюсь помочь вам

Контакты

 
     
     
подробнее

Модуль подсчёта ключевых слов в статье


Доброго времени суток, Вам, читающим эти строки !!!

Как я и обещал в предыдущей статье - Быстрый подсчёт ключевых слов в статье

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

Как всё это работает Вы можете увидеть здесь - Онлайн-сервис подсчёта ключевых слов

На самом деле логика работы такого модуля достаточно проста и сводится к следующим основным шагам:

1.) Получить текст статьи из текстового файла

2.) Убрать из текста все символы кроме букв заменив их пробелами

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

Вот собственно и всё :))))

Ну а теперь код -

<?php

// 1.) Получить текст статьи из текстового файла

//имя файла статьи берем из значения параметра pf переданного по GET
$paper_file = substr($_GET['pf'], 0, 250);
if ( !$paper_file )
$paper_file = 'home.txt';

if ( file_exists($paper_file) )
{
$content = file($paper_file);
}

?>

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

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

Этот момент уже реализован в сервисе Онлайн-сервис подсчёта ключевых слов

Но не описан здесь.

Как реализовать выгрузку файла на сайт я уже описывал в статье - Выгрузка файла на сайт

Поэтому здесь я её касаться не буду.

<?php

// 2.) Убрать из текста все символы кроме букв заменив их пробелами

//заменяем спец. символы пробелами
function kg_replace_special_chars($line)
{
//определяем длину строки
$line_len = strlen($line);
//перебираем строку
for ( $i = 0; $i < $line_len; $i++ )
{
$symbol_code = ord($line[$i]);

//если символ - это буква -
if ( ($symbol_code > 63 && $symbol_code < 91) || ($symbol_code > 95 && $symbol_code < 122)
|| ($symbol_code > 190 && $symbol_code < 256) )
{
//ничего с ним не делаем
}
else {
//заменяем на пробел
$line[$i] = ' ';
}
}

return $line;
}

?>

Кстати, если вдруг Вам понадобится исследовать коды всех символов и спец символов из кодировки ASCII, то на всякий случай привожу небольшую функцию и для этих целей :)))

<?php

//выводим табличку кодов символов
function show_symbol_codes(&$view)
{
for ( $i = 0; $i < 256; $i++ )
{
$view .= '<span style="color: #0000ff;">' . chr($i) . '</span> --- '.$i.' ';
}
}
?>

И собственно последний шаг -

<?php

// 3.) Разбить полученный текст на массив, собирая статистику по каждому слову

$view = '';

//перебираем все строки статьи
$l = 0;
$words_statistic = array(); //найденные слова
$words_statistic_count = array(); //статистика найденных слов
foreach ( $content as $line )
{
//заменяем знаки препинания и прочие спец. символы пробелами
$line = kg_replace_special_chars($line);
//$view .= $line;

//разбиваем строку на слова
$words = explode(" ", $line);

//считаем количество слов
$words_count = count($words);
for ( $i = 0; $i < $words_count; $i++ )
{
//если слово уже есть в массиве - увеличиваем его статистику
if ( in_array($words[$i], $words_statistic) )
{
$words_statistic_count[$words[$i]] = $words_statistic_count[$words[$i]] + 1;
}
else {
//если слова еще нет в массиве слов - добавляем его туда
$words_statistic[] = $words[$i];
$words_statistic_count[] = $words[$i];
$words_statistic_count[$words[$i]] = 1;
}
}


$l++;

}


//show_symbol_codes(&$view);


//показать слова, у которых статистика больше заданного значения
$value = intval($_GET['v']);
if ( !$value )
$value = 1;

$count_words_statistic = count($words_statistic_count);
for ( $i = 0; $i < $count_words_statistic; $i++ )
{
if ( $words_statistic[$i] != '' )
{
if ( $words_statistic_count[$words_statistic[$i]] > $value )
$view .= $words_statistic[$i] . ' ' . $words_statistic_count[$words_statistic[$i]] . '|';
}
}
?>

Работать описанный код будет аналогично тому, как он работает тут - kg

И самое главное - после всех манипуляций не забудьте вывести значение переменной $view на страницу в нужном месте.

т. е. примерно так -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Keywords Generator</title>
</head>

<body>
<?php
echo $view;

?>
</body>
</html>

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

Желаю Вам удачи !!! :))))

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

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

Как создать игру ? - Программируем сами.

Рассмотрение программирования игр под DirectX 9c на C++ с использованием среды разработки MSVS 2005 или выше.

 
     
  [содержание] [назад] [страница 6] [далее]  
     
  Введение в 2d-игры - анимация и движение героя  
     
  Как нарисовать анимацию подробно описано в статье Рисуем волка из мультфильма  
     
  Как Выглядит анимированный персонаж Вы можете увидеть в деле скачав игру Веселый Буквоежка, либо в утилите Coords2D



Скачать Coords2D -

Размер sfx-архива: 36 Mb. Также содержит много примеров спрайтов и других
изображений из проекта fle, bol и др.

 
     
 

Осталось выяснить:

- как программировать анимированные спрайты;

- как перемещать их по экрану в ответ на действия пользователя;

 
     
  Если взять за основу ПОЛНЫЙ ИСХОДНЫЙ КОД игры, то всё, что связано с анимацией героя Вы найдете в модулях AdventureGame.h и .cpp  
     
  Так, например, метод void CAdventure::Anim(), вызываемый приложением, ответственен за всю анимацию игровой сцены, а метод void CAdventure::Draw() за её отрисовку.  
     
 

Поэтому искать нужный код следует внутри этих методов.

Последовательно просмотрев методы void CAdventure::Anim() > AnimState > AnimGameProcess

вы увидите вызов функции HeroMoveAnim

- это и есть тот самый метод анимации главного героя.

 
     
 

В ответ на нажатие клавиш стрелок Веселый Буквоежка перемещается по игровой сцене.

Вот кусок кода выполняющий рассчет координат x и y героя

 
     
 

float MoveAngle = 0.0f; // направление движения - задается углом в радианах
int SpriteIndex = 1;
bool Mirrored = false;

// в зависимости от направления движения определяемого нажатой клавишей, задаются // начальные параметры для рассчетов

switch ( m_dwFleHeroMoveState )
{
case FleHeroMoveState_MoveLeft: {
MoveAngle = D3DX_PI;
SpriteIndex = FleHero_MoveLeft;

m_bFleHeroLookLeft = true;
break;
}

case FleHeroMoveState_MoveDown: {

MoveAngle = -D3DX_PI * 0.75f;

SpriteIndex = FleHero_MoveRight;
Mirrored = true;

m_bFleHeroLookLeft = true;
break;
}

case FleHeroMoveState_MoveRight: {
MoveAngle = 0.0f;
SpriteIndex = FleHero_MoveRight;

m_bFleHeroLookLeft = false;
break;
}

case FleHeroMoveState_MoveUp: {

MoveAngle = D3DX_PI * 0.25f;

SpriteIndex = FleHero_MoveLeft;
Mirrored = true;

m_bFleHeroLookLeft = false;
break;
}

}

float x_step = 0.0f;
float y_step = 0.0f;

// вычисляем шаг перемещений по x и по y, если нет ограничений движению
x_step = FleHero_MoveSpeedX * g_fElapsedTime * g_fFleHero_MoveSpeed_Decrease;

float OldFleHeroXPos = m_vFleHeroPos.x;

m_vFleHeroPos.x += x_step * (float)cos(MoveAngle);

if ( m_vFleHeroPos.x <= SceneMoveLimitLeft )

m_vFleHeroPos.x = OldFleHeroXPos;

if ( m_vFleHeroPos.x >= SceneMoveLimitRight )

m_vFleHeroPos.x = OldFleHeroXPos;

g_fFleHeroPos_x = m_vFleHeroPos.x;

y_step = FleHero_MoveSpeedY * g_fElapsedTime * g_fFleHero_MoveSpeed_Decrease;

float OldFleHeroYPos = m_vFleHeroPos.y;

m_vFleHeroPos.y += y_step * (float)sin(MoveAngle);

if ( m_vFleHeroPos.y <= SceneMoveLimitDown )

m_vFleHeroPos.y = OldFleHeroYPos;

if ( m_vFleHeroPos.y >= SceneMoveLimitUp )

m_vFleHeroPos.y = OldFleHeroYPos;



TestHeroCollision();

/* Если препятствие слева и герой пытается идти в этом же направлении -
запрет движения
*/

if ( m_CollSide.fromRight && m_dwFleHeroMoveState == FleHeroMoveState_MoveRight )
{
m_vFleHeroPos.x = m_v2FleHeroPosBeforeCollision.x;
g_fFleHeroPos_x = m_vFleHeroPos.x;
x_step = 0.0f;
}
else {
if ( m_CollSide.fromLeft && m_dwFleHeroMoveState == FleHeroMoveState_MoveLeft )
{
m_vFleHeroPos.x = m_v2FleHeroPosBeforeCollision.x;
g_fFleHeroPos_x = m_vFleHeroPos.x;
x_step = 0.0f;
}
}

if ( m_CollSide.fromTop && m_dwFleHeroMoveState == FleHeroMoveState_MoveUp )
{
m_vFleHeroPos.y = m_v2FleHeroPosBeforeCollision.y;
y_step = 0.0f;
}
else {
if ( m_CollSide.fromBottom && m_dwFleHeroMoveState == FleHeroMoveState_MoveDown )
{
m_vFleHeroPos.y = m_v2FleHeroPosBeforeCollision.y;
y_step = 0.0f;
}
}


/*
Если сцена закрыта - запрет движения
*/


m_pGameSceneDataFile->m_fHeroXPosInLocation = g_fHorizontalScrollOffset;
m_pGameSceneDataFile->CalcCurrentSceneNumber();
if ( !CanEnterScene() )
{
x_step = 0.0f;
}


LPD3D9SPRITE spr = GetGameSprite( SpriteIndex, m_pTexArray );

//перемещение по Z сопряжено с перемещениями по Y
m_vFleHeroPos.z = CalcFleHeroZ(m_vFleHeroPos.y + FleHero_YCorrectorForZ,
spr->m_Scale.y, spr->Height);

if ( x_step != 0.0f || y_step != 0.0f )
{
CalcFleHeroScrPos2(Mirrored);

//для учета в других анимациях
m_bFleHeroXMirrored = Mirrored;
}

AnimGameSprite(SpriteIndex, -1, m_pTexArray);

 
     
 

Собственно рисование анимированного персонажа выглядит намного проще -

void CAdventure::DrawStateOfHero()
{

switch ( m_dwFleHeroMoveState )
{

case FleHeroMoveState_MoveLeft: {
DrawFleHero(FleHero_MoveLeft);
break;
}

case FleHeroMoveState_MoveDown: {

DrawFleHeroXMirror(FleHero_MoveRight);
break;
}

case FleHeroMoveState_MoveRight: {
DrawFleHero(FleHero_MoveRight);
break;
}

case FleHeroMoveState_MoveUp: {

DrawFleHeroXMirror(FleHero_MoveLeft);
break;
}

}

}

 
     
  Вопросы связанные со скроллингом игровой сцены, столкновениями, атаками героя, выбором и использованием игровых предметов и многие другие нюансы уже также решены и Вам не нужно ломать над ними голову - достаточно заказать ПОЛНЫЙ ИСХОДНЫЙ КОД игры Веселый Буквоежка  
     
     
  Если у Вас всё же остались вопросы - не стесняйтесь задавать их на форуме или по e-mail.  
     
  [содержание] [назад] [страница 6] [далее]  
     
megainformatic live chat
Начать беседу
X
 

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



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


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