Кладовая программиста. Медиа-комбайн, часть 2. > Minecraft истории
истории Minecraft    

Кладовая программиста. Медиа-комбайн, часть 2.

Кладовая программиста. Медиа-комбайн, часть 2.

Самопал Кладовая программиста. Медиа-комбайн, часть 2. 019.05.2004 12:04  |  "В прошлый раз мы создали многофункциональный медиа-комбайн. Сегодня мы сделаем из него супермашину, способную если не по удобству, то по возможностям заткнуть за пояс такого гиганта, как Windows Media Player..." Самопал     В прошлый раз мы создали многофункциональный медиа-комбайн. Сегодня мы сделаем из него супермашину, способную если не по удобству, то по возможностям заткнуть за пояс такого гиганта, как Windows Media Player.
    Давайте немного помечтаем. Что сможет делать наш комбайн? Во-первых, он без лишних проблем откроет файлы форматов dib, jpg, bmp, ico, emf, wmf, avi, wav, mid и уникальный формат плейлистов list. Во-вторых, он все эти файлы может микшировать в плейлисты, которые, в свою очередь, без проблем можно будет сохранить на винчестере. Комбайн организует слайд-шоу и даже создает презентации с музыкой и видео. Всеми этими процессами несложно управлять с удобной панельки. Есть даже независимое чтобы перетаскивать с помощью мышки окошко вывода. Скорость пролистывания слайдов можно изменять.
    Доставайте из заначки исходники недоделанного комбайна и продолжим. Если по каким-то причинам вы не читали статью позапрошлого номера “Мании”, не отчаивайтесь материал ждет вас в разделе “ИнфоБлок” нашего CD- или DVD-диска. Там же разместились исходники комбайна.

Чтобы создать подобное
окошко, потребуется не более
трех минут.
   В дорогу дальнюю...
   
В прошлой статье мы остановились на пункте меню Запустить слайд-шоу. С него и продолжим. Допустим, пользователь желает запустить слайд-шоу. Создайте обработчик события для этого пункта меню (у меня он называется
TForm1.N11Click). Для начала введите глобальную переменную, которая показывает, запущено слайд-шоу или нет. Назовите ее is_show. В глобальный раздел Var добавьте описание этой переменной:
    is_show:boolean=false;
   
По умолчанию значение переменной установите в “ложь”, ведь изначально слайд-шоу отключено. Помните, в прошлый раз мы решили не вводить дополнительный пункт меню для остановки слайд-шоу? Вместо этого давайте сделаем так, чтобы при его запуске название пункта меню изменилось на Остановить слайд-шоу. Как это сделать? Сначала необходимо “переключить” переменную is_show. То есть если ее значение true, установить его в false и наоборот. Быстрее всего это сделать строчкой:
    Is_show:= not is_show;
   
Логический оператор not как раз переключает переменные. Теперь, в зависимости от значения переменной is_show, надо задать надпись пункту меню. Давайте создадим элементарную конструкцию выбора case с переменной is_show в качестве селектора. Вариантов всего два: true и false. Если значение переменной is_show равно true, то слайд-шоу уже запущено и его необходимо остановить. Если же false, то слайд-шоу надо, наоборот, запустить. Вот участок кода, который это реализует:
    case is_show of
    true:N11.Caption:=\'Остановить слайд-шоу\';
    false:N11.Caption:=\'Запустить слайд-шоу\';
    end;
   
Теперь, если слайд-шоу запускается, надо показать первый элемент в списке воспроизведения. Мы уже делали это, когда создавали обработчик для пункта меню Открыть... Зачем делать одну и ту же работу дважды? Скопируйте участок кода, который отвечает за загрузку:
    if form1.listbox1.ItemIndex<0 then form1.listbox1.ItemIndex:=0;
    s:=ExtractFileExt(opendialog1.FileName);
    if (s=\'.dib\') or (s=\'.jpg\') or (s=\'.jpeg\')
   
Плеер в действии.
Проигрывается трейлер к
популярной игре.
or (s=\'.bmp\') or (s=\'.ico\') or (s=\'.emf\') or (s=\'.wmf\') then
    begin
    Form2.Hide;
    Form3.image1.picture.loadfromfile(opendialog1.filename);
    Form3.Width:=Form3.image1.Picture.Width;
    Form3.Height:=Form3.image1.Picture.Height;
    Form3.image1.picture.loadfromfile(opendialog1.filename);
    Form3.Image1.Visible:=true;
    Form3.show;
    end;
    if (s=\'.avi\') or (s=\'.wav\') or (s=\'.mid\') then begin
    Form2.Show;
    Form3.Hide;
    if s=\'.avi\' then Form3.Show;
    Form3.Image1.Visible:=false;
    Form2.Mediaplayer1.Display:=Form3.Panel1;
    Form2.MediaPlayer1.FileName:=opendialog1.FileName;
    Form2.MediaPlayer1.Open;
    Form3.Width:=Form2.MediaPlayer1.DisplayRect.Right-Form2.MediaPlayer1.DisplayRect.left;
    Form3.Height:=Form2.MediaPlayer1.DisplayRect.Bottom-Form2.MediaPlayer1.DisplayRect.Top;
    Form2.MediaPlayer1.play;
    end;

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

    s:string;

   
Осталась лишь одна проблема: откуда брать имя файла, который требуется открыть? Ведь никакого оператора opendialog нет. Если пользователь запустит слайд-шоу, то начаться оно должно с текущей выделенной строки в ListBox1. Как получить индекс выделенной строки? Очень просто: listbox1.ItemIndex. Следовательно, как получить содержимое выделенной строки (по совместительству искомое имя файла)? Еще проще: listbox1.Items.Strings[listbox1.ItemIndex].

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

    If is_show then begin
    // ваш код
    end;

   
Почему условие выглядит так непривычно? Дело в том, что
для переменных типа boolean условие вида переменная=true можно сократить просто до имени переменной. Это очень удобно.
    Между операторами условия begin и end вставьте скопированный код. На протяжении всего кода замените функцию opendialog1.filename на listbox1.Items.Strings[listbox1.ItemIndex]. После этого скрипт заработает.

   Основные переключатели
   
Пришло время обеспечить переключение файлов во время слайд-шоу. К картинкам и активным файлам (видео и звук) подход различен. Если текущий файл картинка, перед запуском следующего пункта Listbox1 надо сделать время задержки (хранится в переменной M). С видео и звуками дело обстоит по-другому. Следующий файл надо запустить не через какое-то определенное время (откуда мы знаем, как долго длится клип?), а когда текущий клип завершится.
    Давайте рассмотрим эти два варианта по порядку. Начнем с картинок. Как организовать задержку? Для этого существует специальный невизуальный компонент Timer. Самый первый на вкладке System. Найдите его и поместите в любое место на форме. Соответствующий объект будет называться Timer1. Поначалу таймер должен быть отключен, поэтому его свойство Enabled установите в false. У таймера одно-единственное событие OnTimer, которое сpaбатывает, как только время, задающееся свойством Interval, истечет. Не забудьте, что время задается в миллисекундах (одна тысячная секунды). Как только пользователь включает слайд-шоу, нам надо запустить таймер. В обработчике N11Click найдите второе условие (текущий объект картинка) и после строчки Form3.show пропишите:
    Timer1.Interval:=M*1000;
    Timer1.Enabled:=true;

   
Почему “M*1000”? В миллисекундах время считают только совсем уж крутые программисты. А пользователь, скорее всего, будет
вводить время в привычных секундах. Отсюда это простое преобразование.
    Таймер запущен. Как только он сработает, мы должны его выключить (до поры до времени), выделить следующую строчку в списке и запустить этот файл стандартным куском кода.
    Создайте обработчик события таймера Timer1Timer и пропишите для него код:
    Timer1.Enabled:=false;
    if listbox1.Items.Count-1=listbox1.ItemIndex then
    listbox1.ItemIndex:=0 else listbox1.ItemIndex:=listbox1.ItemIndex+1;
   
Это еще не все содержимое обработчика Timer1Timer, но к нему мы вернемся после. У вас, скорее всего, возник закономерный вопрос: зачем нужно условие во второй строчке? Почему бы просто не присвоить единицу свойству ItemIndex? Представьте себе, что после нескольких слайдов указатель выделения списка дойдет до его конца. Очередной комaндой приращения указатель сдвинется... на несуществующую строку. Естественно, возникнет критическая ошибка, и программа вылетит. Поэтому перед приращением необходимо проверить, не добрался ли счетчик до конца списка. Если добрался, то указатель выделения (свойство ItemIndex) обнуляется, если нет увеличивается на единицу. Вот и все премудрости.

   Окольные дорожки

   
Перейдем ко второму варианту. Что, если очередной файл из списка воспроизведения не картинка, а звуковой или видеоклип? В этом случае необходимо дождаться его завершения, а потом открыть следующий в списке файл. Как узнать, что клип подошел к концу? Есть много способов. Но самый простой, на мой взгляд, воспользоваться обработчиком события компонента TmediaPlayer OnNotify. Это событие сpaбатывает, когда меняется режим работы медиа-плеера. Сам режим можно определить с помощью свойства Mode. Нам интересно только одно его значение mpStopped. Как вы уже догадались, оно показывает, что плеер
остановился, потому что клип закончился.
Все пять форм программы

    Когда клип не проигрывается, режимы тоже могут меняться. Поэтому появятся неизбежные ложные сpaбатывания обработчика. Эти ложные сpaбатывания надо как-то устранить. Самое простое ввести еще одну переменную и установить ее в положение true непосредственно перед началом воспроизведения. Внутри обработчика OnNotify необходимо проверить состояние переменной Mode и новой булевой переменной. Если обе проверки проходят воспроизведение точно прекратилось, и можно переключаться на следующий файл списка. Объявите эту вспомогательную глобальную переменную:
    video:boolean=false;
   
По умолчанию она “выключена”. Где ее включать? В нашем коде, который отвечает за последовательное воспроизведение. Вновь открывайте обработчик N11Click и во второй условной ветке после строчки Form2.MediaPlayer1.play пишите:
    video:=true;
   
Теперь предусмотрены почти все варианты действий пользователя, за исключением одного когда юзер кликает по пункту меню Остановить слайд-шоу. Так как программно этот пункт меню находится в N11Click, надо изменить первое его условие. Найдите предпоследний оператор end обработчика и удалите точку с запятой. Прямо после end пишите:
    else begin
    Timer1.Enabled:=false;
    video:=false;
    end;
   
Теперь, если переменная is_show не равна true (то есть равна false), слайд-шоу остановится. Выключите таймер и переменную video. Обработчик N11Click готов. В конечном варианте он выглядит так:
    procedure TForm1.N11Click(Sender: TObject);

    var
    s:string;
    begin
    Is_show:= not is_show;
    case is_show of
    true:N11.Caption:=\'Остановить слайд-шоу\';
    false:N11.Caption:=\'Запустить слайд-шоу\';
Код, обслуживающий форму
№ 4, запрашивающую у
пользователя время задержки

    end;
    if is_show then begin
    if
form1.listbox1.ItemIndex<0 then form1.listbox1.ItemIndex:=0;
    s:=ExtractFileExt(listbox1.Items.Strings[listbox1.ItemIndex]);
    if (s=\'.dib\') or (s=\'.jpg\') or (s=\'.jpeg\')
    or (s=\'.bmp\') or (s=\'.ico\') or (s=\'.emf\') or (s=\'.wmf\') then
    begin
    Form2.Hide;
    Form3.image1.picture.loadfromfile(listbox1.Items.Strings[listbox1.ItemIndex]);
    Form3.Width:=Form3.image1.Picture.Width;
    Form3.Height:=Form3.image1.Picture.Height;
    Form3.image1.picture.loadfromfile(listbox1.Items.Strings[listbox1.ItemIndex]);
    Form3.Image1.Visible:=true;
    Form3.show;
    Timer1.Interval:=M*1000;
    Timer1.Enabled:=true;
    end;
    if (s=\'.avi\') or (s=\'.wav\') or (s=\'.mid\') then begin
    Form2.Show;
    Form3.Hide;
    if s=\'.avi\' then Form3.Show;
    Form3.Image1.Visible:=false;
    Form2.Mediaplayer1.Display:=Form3.Panel1;
    Form2.MediaPlayer1.FileName:=listbox1.Items.Strings[listbox1.ItemIndex];
    Form2.MediaPlayer1.Open;
    Form3.Width:=Form2.MediaPlayer1.DisplayRect.Right-Form2.MediaPlayer1.DisplayRect.left;
    Form3.Height:=Form2.MediaPlayer1.DisplayRect.Bottom-Form2.MediaPlayer1.DisplayRect.Top;
    Form2.MediaPlayer1.play;
    video:=true;
    end;
    end
    else begin
    Timer1.Enabled:=false;
    video:=false;
    end;
    end;
Вместо того чтобы делать новое
окошко О программе..., модно
взять стандартное окошко
Delphi и лишь слегка отредакти-
ровать в нем надписи. В Delph
i 6 это делается через опцию
File/New/Other/Forms/About
box.
    В обработчиках не хватает только операции запуска плеера. У нас уже есть готовый кусок кода для этого действия. Скопируйте его из N11Click, начиная со строки s:=ExtractFileExt(listbox1.Items.Strings[listbox1.ItemIndex]) и заканчивая предпоследним end.
    Перейдите в обработчик таймера и после последней комaнды вставляйте скопированный код. Не забудьте в локальном операторе var объявить строковую переменную s. Перейдите в OnNotify и пишите:
    if video and (mediaplayer1.Mode=mpStopped) then begin
    end;
   
Это условие мы уже детально разобрали. Между begin и end вставляйте код. Не забудьте объявить локальную строковую переменную s.
    Код мы поместили в другой модуль, а ссылаемся мы из этого кода на некоторые объекты первого модуля. Значит, второй модуль надо связать с первым. Перед самым обработчиком добавьте строку:
    uses unit1;
   
Теперь перед всеми упоминаниями listbox1 и Timer1 поставьте выражение form1. (прописывается слитно). Во второе условие обработчика (которое отвечает за ветвь картинок) вставьте строку:
    video:=false;
   
Запускайте медиа-комбайн и слайд-шоу. Все должно функционировать.

   Штрихи к портрету
   
Пришло время придать законченный вид комбайну. У нас осталось два необработанных пункта меню: Справка и О программе. Когда пользователь кликает по пункту Справка, должен открыться справочный файл программы в формате hlp (стандартная) или chm (продвинутая). Создание самого файла справки остается на вашей совести. Для этого существует множество программ, например ориентированный на любителей HTM2CHM или профессиональный HTML Help Workshop. Задача программиста прописать в обработчике этого пункта меню открытие файла справки. Соответствующий обработчик выглядит так:
    procedure TForm1.N13Click(Sender: TObject);
    begin
    ShellExecute(Application.Handle,\'open\',PChar(extractfilepath(application.exename)+\' help.hlp’),nil,nil,SW_SHOWNORMAL);
    end;
Одна из самых длинных
процедур в медиа-комбайне.
Но не так страшен черт, как
его... исходники! Стоит
разобрать “монстра” по
строчкам, и он становится
милым и пушистым.

   
Он состоит из одной довольно сложной комaнды. Ее основа функция ShellExecute, которая позволяет открыть любую папку, документ (в том числе веб-страницу), выполнить некоторые системные комaнды, а также запустить программу или скрипт. Вот такая
функция-многостаночник. Рассмотрим ее поподробнее (не забудьте в текущий раздел uses добавить модуль ShellAPI, которому принадлежит функция).
    Первый параметр функции ShellExecute дескриптор программы, которая осуществляет вызов. Пока не будем детально изучать, что такое дескриптор, иначе мы рискуем углубиться в основы API и ядра Windows. Неподготовленный программист там просто потеряется. Но в ближайших номерах мы обязательно рассмотрим ядро и API. Без этих знаний программист никогда не сможет стать профессионалом. Пока же вам будет достаточно знания, что дескриптор это своеобразный индекс, который указывает на конкретную программу. Зная дескриптор программы, с ней несложно совершить пpaктически любое действие. Получить дескриптор программы можно через свойство Application.Handle.
    Второй параметр текстовая строка, содержащая один из трех стандартных методов работы с файловыми объектами: open, print и explore. Open и print работают почти со всеми файлами, а explore только с папками. Open открывает документ, запускает другую программу или исполняет системную комaнду, print печатает документ, а explore открывает папку в окне Проводника. Сейчас нам нужно открыть файл справки как документ, поэтому выбираем метод open.
    Третий параметр это путь к открываемому документу. Выражение extractfilepath(application.exename) вам уже знакомо оно возвращает путь до конкретной программы, чтобы можно было адресоваться к файлам, которые лежат в той же папке.
    Далее следует указание на имя конкретного файла. Почему все выражение упрятано в скобки и перед ним стоит странный операнд Pchar? Дело в том, что Object Pascal (Delphi) не “родной” язык программирования для Windows. Традиционно программы для него писались на C++. Само ядро
Программа с заполненным
плейлистом
и API также написаны по большей части на С++, поэтому унаследовали особенности этого языка.
    В С++ нет переменных типа String. Зато есть массивы символов (тип Char). Каждая строка оканчивается так называемым терминатором (знаком #0). Поэтому при вызове функций ядра все строки приходится конвертировать в тип PChar (указатель на область памяти, занятый массивом типа Char). Для этого служит комaнда Pchar, которой мы воспользовались.
    В четвертом параметре хранятся параметры запуска. Так как мы запускаем не программу, этот параметр надо забить нулем nil.
    Пятый параметр также забиваем nil, потому что в нем должен храниться путь к рабочей папке программы.
    Последний параметр переменная, которая показывает, как должно отображаться на экране окно программы или документа после запуска. Нам нужен стандартный запуск, поэтом ставим сюда значение SW_SHOWNORMAL.
    Код для пункта меню О программе вы уже сможете написать самостоятельно действуя по аналогии.

    * * *

   
В вашем распоряжении мощнейший медиа-комбайн, который разве что носки не стирает и кашу не варит. Это и мощный слайд-шоу-генератор, и утилита для создания презентаций. Вы ждете домашних заданий? Их есть у нас. В комбайне во многих местах не проверяются вводимые значения. Например, если в окошке задания задержки для слайдов ввести не число, а букву, программа вылетит. Или, если открыть файл не того типа, появится сообщение об ошибке. Перехватить все эти ошибки и поставить надежную “защиту от Дypaка” ваша главная задача. Также можете несколько усовершенствовать комбайн, например добавить поддержку формата mp3. Но для этого вам придется обращаться к сторонним компонентам, так как в Delphi такой поддержки нет.
    В следующей статье, посвященной Delphi, мы займемся программированием оболочки для компакт-диска.


Играем. R2: Reign of Revolution

игра прекрасно справляется с главным — она позволяет полностью расслабиться и погрузиться в хорошо отточенный PvP. Поклонникам же PvE-режима лучше тихонечко прошмыгнуть мимо, в R2 им делать нечего.P.S. Клиент игры можно взять с нашего диска...

25 04 2024 17:36:11

Ace Attorney: Dual Destinies

«…В яркой и легкомысленной игре, пускай и про расследование изобретательных убийств, скрывается отсылка к японской судебной системе — работу адвокатом в Стране восходящего солнца легче всего описать выражением «сизифов труд»: человека обычно судят, имея н...

24 04 2024 18:20:13

Ковровая бомбардировка. Тестирование компьютера Meijin Core i7-860

«…Компьютер сделали с прицелом на работу с любыми задачами. Дорогая материнская плата, мощнейший процессор, две видеокарты GTX 460, емкий жесткий диск — все вместе это стоит приличных денег. В итоге на Meijin Core i7-860 можно заниматься графикой и монтаж...

23 04 2024 3:22:14

Горячая линия: железо

&#8226; &#8226; &#8226; Здравствуйте. Подскажите, пожалуйста, существует ли программа, которая превращает формат SMO во что-то более понятное?Сначала расскажу, что это, собственно, за формат. В природе существует компания SealedMedia…|Игромания...

22 04 2024 17:30:33

Обзор Monster Hunter Stories 2: Wings of Ruin. Ведьмак ловит яйца

Признаюсь честно, я не фанат японского гeймдева в целом (если речь не о хоррорах) и серии Monster Hunter в частности. Однако приобщиться к спин-оффу Stories хотел давно: уж больно интересной выглядела концепция пошаговых битв с огромными монстрами.…|Игромания...

21 04 2024 2:57:30

В центре внимания. Neverwinter Nights

“Главное требование к компьютеру для игры в NWN — это полная поддержка OpenGL. Сейчас большая часть игр использует драйверы Direct 3D, но вы можете проверить, поддерживает ли ваш компьютер OpenGL. Для этого запустите Half-Life в OpenGL-режиме или Quake 2...

20 04 2024 23:23:14

Disgaea 2: Dark Hero Days

Серия тактических ролевых игр Disgaea создается с 2003 года японцами для японцев, но это не помешало ей заслужить признание сначала в Штатах, а затем и в Европе. На примере самого успешного сериала студии Nippon Ichi можно проследить и за ростом…|Игромания...

19 04 2024 19:29:26

Краткие обзоры. Breath of Fire IV

   Неожиданная инициатива компании Capcom — порт предпоследней части популярного консольного сериала Breath of Fire.    Как и во всякой приличной, выполненной в соответствии с канонами жанра японской ролевке, на первое...

18 04 2024 6:26:17

Обзор фильма «Соник в кино». Лучше, чем в играх

Соник был маскотом Sega ещё с момента своего появления в начале 90-х, но компания всегда относилась к нему без должной щепетильности. Качество что игр, что мультиков, что комиксов с участием синего ежа было дико непостоянным: можно было встретить как…|Игромания...

17 04 2024 6:40:22

Разумный компьютер за разумные деньги II. Испытание временем... Часть I

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

16 04 2024 12:40:54

Содержание диска №7/2016

&#9658; Передачи Во что поиграть в этом месяце Время: 15:30 Главные релизы этого месяца: первый сетевой боевик от Blizzard, Warhammer в Total War, черепашки-ниндзя от Platinum Games и многое другое. Игровая культура …|Игромания...

15 04 2024 18:55:20

Rulezz&Suxx: вердикт. ОТЕЧЕСТВЕННЫЕ ЛОКАЛИЗАЦИИ

Представляем вашему вниманию новейшую сводную таблицу отечественных локализаций. Возможные сокращения: B — Box (коробка), Db — DVD-box (коробка из-под DVD), J — Jewel (обычный футляр для CD). Данная таблица состоит из трех…|Игромания...

14 04 2024 0:26:52

MacGuffin’s Curse

«…Страшный молодой человек Лукас Макгаффин решает стащить из музея древний амулет в виде волчьей морды — Lupine Twine (лат. Lupus — волк). Разумеется, все идет не так: драгоценность оказывается проклятой и превращает воришку в оборотня, и еще он непонятн...

13 04 2024 0:50:48

10 консолей, о которых вы не слышали. Вспоминаем забытые легенды игромира

Мы так привыкли к нашим прекрасным консолям, всем этим PlayStation 4, Xbox One, Nintendo Switch и прочим удобным и красивым штуковинам, которые нас развлекают. Что даже, возможно, не задумываемся, сколько проектов и идей пали cмepтью храбрых в…|Игромания...

12 04 2024 5:20:37

Сфера. MMORPG по-русски!

Ни фанфар, ни многоголосого хора небесных пристолов. Ни грома, ни молний. О том, что работы над игрой ведутся, стало известно, когда они — работы — были уже в самом разгаре. Первая в России MMORPG — "Сфера" — зарождалась тихо. На приступ жанра, жизнь кото...

11 04 2024 4:14:19

Максимум из минимума. Как оптимизировать Windows XP, приложив минимум усилий

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

10 04 2024 19:16:37

Демиурги возвращаются за карточный стол

Москва. Комната для переговоров в уютном офисе "Нивала". Пришельца из "Игромании" усаживают на почетное место во главе стола. Группа контактеров уже здесь. Тремя парами внимательных глаз они разглядывает новую деталь обстановки, не по погоде одетую в стр...

09 04 2024 13:34:17

Star Wars: The Old Republic Blood of the Empire

«…Сценарист Александр Фрид не только позволил нам впервые заглянуть за кулисы древней Империи ситхов, но и создал действительно смачных и необычных героев. Противостояние беззаветно преданного Империи Кела и отчаянно стремящейся к свободе Экзал вызывает н...

08 04 2024 0:54:52

Бананы в ушах. Новые наушники от Ritmix

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

07 04 2024 11:12:20

Интересное в Сети

   www.bootdisk.com   Загрузочная дискета — священный предмет. Один экземпляр должен храниться в личном сейфе в швейцарском банке, второй надлежит носить с собой поближе...

06 04 2024 5:43:38

Dark Pictures это «Чёрное зеркало» от мира видеоигр

В 2019 году (пока без точной даты) должно выйти следующее детище студии Supermassive Games, создательницы интеpaктивного ужастика Until Dawn. Новая игровая хоррор-антология получила красноречивое название Dark Pictures, а издавать её станет компания…|Игромания...

05 04 2024 19:19:41

Софтверный набор

Гвоздь номераOpenOffice.org 2.1.0 Разработчик: CollabNet, IncЯзык: русскийТип распространения: бесплатноСайт: http://ru.openoffice.orgOpenOffice.org — полноценная и абсолютно бесплатная замена Microsoft Office. По некоторым параметрам…|Игромания...

04 04 2024 4:32:42

Разумный компьютер за разумные деньги

Как всегда - конфигурации "Дешево и сердито... Категория меньше 500$", "Cмepть тормозам... Категория меньше 1000$" и "Тебя я видел во сне... Категория больше 1000$" на процессорах AMD и Intel....

03 04 2024 20:43:15

The Club

...забег в стиле Unreal Tournament, добавив действию элементы... Manhunt. Победа здесь зависит не столько от количества набранных фрагов, сколько от того, насколько жестоко вы расправились с оппонентом. Массовые убийства (например, подрыв школьного автобу...

02 04 2024 18:50:30

Игровые миры: The Dark Eye, или Повесть о фэнтезийном реализме

Не так давно в ходе обсуждения одной из статей, в комментариях, возникла идея рубрики об игровых мирах. Причем в первую очередь не о тех, которые и так всем известны, — как, например, миры Dungeons &amp; Dragons или Warhammer (подобных…|Игромания...

01 04 2024 5:18:23

Обзор Guilty Gear Strive. Файтинг, жгущий напалмом

Обидно, что среднестатистический гeймер скорее всего знает студию Arc System Works по Dragon Ball FighterZ, а не Guilty Gear. Хотя, конечно, понятно, почему так сложилось: DBFZ &mdash; отличная игра по легендарной франшизе, которая разошлась…|Игромания...

31 03 2024 4:34:42

Коды по "BANDITS – Phoenix Rising" (ресурсы)

Гонки со стрельбой? Хит! В корневом каталоге игры лежит файл bindings.xml, который при открытии стандартным "Блокнотом" дает информацию о предустановленных клавишах и их функциях. Все последующие файлы с данным расширением тоже открываются стандартными ср...

30 03 2024 6:28:28

Руководство и прохождение по "Mirror's Edge"

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

29 03 2024 3:38:51

Игры полюбили тратить время впустую

В рубрике &laquo;Прямым текстом&raquo; автор выражает исключительно собственное мнение, которое может не совпадать с мнением редакции. Он волен это делать как угодно и в любом удобном для себя формате. Здесь можно всё. «Мне не…|Игромания...

28 03 2024 7:30:36

Интересное в Сети

В этом выпуске: киноперсоналии, английский с кино, субтитропоиск, онлайновое файлохранилище, PDF-конвертер, удаленный доступ и ежемecячная подборка флэш-пожирателей времени...

27 03 2024 22:43:30

Обзор Everspace. Яркий и жестокий

На сегодняшний день рынок космосимов предлагает огромное количество проектов на любой вкус и цвет. Тут вам и сессионная Star Conflict, и хардкорная Elite: Dangerous. А также ворох аркадных леталок в духе Galaxy on Fire. Но что делать, если вам…|Игромания...

26 03 2024 17:25:24

The Misadventures of P.B. Winterbottom

Много рычагов, двери, ловушки, платформы. Повсюду разбросаны кусочки пирога &mdash; их нужно собрать. Наметанный глаз мгновенно определяет: возни тут минут на десять, сначала нажму вон ту кнопку, полезу вон туда&hellip; Как вдруг —…|Игромания...

25 03 2024 3:53:56

Алфавитный список игр в номере

A Valley Without Wind Ace Combat: Assault Horizon Air Mail Alan Wake&rsquo;s American Nightmare Alice: Madness Returns Aliens: Colonial Marines Anarchy Reigns Anno 2070 ArmA 3 Assassin’s Creed: Revelations Assassin's Creed 3 Avernum: Escape…|Игромания...

24 03 2024 18:24:51

Gangland

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

23 03 2024 11:19:22

The Bureau: XCOM Declassified

Внезапное молчание создателей широко разрекламированной игры — это всегда недобрый знак. В последний раз об XCOM, боевике от первого лица, мы слышали на E3-2011. До того игра успела заинтриговать смелым шагом: рестартом в стиле 1950-х одной из…|Игромания...

22 03 2024 14:53:10

Beat The Beat: Rhytm Paradise

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

21 03 2024 2:50:20

Руководство и прохождение по "Midtown Madness 2"

Не тратя времени зазря, сразу перейдем к делу. Тачки Естественно, не простые, а скрытые. Чтобы их открыть, как правило, нужно пройти определенное количество трасс в определенных режимах. Все это объяснено и показано ниже. LTV (Light Tacticle Vehi...

20 03 2024 2:56:50

Прострaнcтвенное моделирование. Нестандартный подход к работе в 3D Studio MAX. Часть 4

"...Слепленный нами из пластилина макет головы был разрезан на тонкие ломтики, которые затем были оцифрованы в "Максе" и полностью подготовлены для наложения текстур. Текстурирование объемных моделей — это отдельный и чуть ли не самый сложный этап моделир...

19 03 2024 20:24:19

Свет в оконце. Обзор Windows Vista

...быстрая, стабильная и красивая система. Но она слегка опередила время. То же самое было с WinXP: весь свой потенциал ОС раскрыла спустя примерно год после выхода. Так же, вероятно, будет и с Windows Vista. Для гeймеров вопрос уже давно решен: переходит...

18 03 2024 9:43:52

Switch it! Первое знакомство с новой консолью Nintendo

Nintendo Switch появится в продаже 3 марта, но я получил новую консоль за неделю до релиза. И вот что удалось узнать за несколько часов, проведенных наедине с устройством. Disclaimer: фотографии не самого лучшего качества, да и дома бардак, простите…|Игромания...

17 03 2024 6:39:16

Crusaders: Thy Kingdom Come

Crusaders: Thy Kingdom Come — попытка если не перегнать серию Total War, то хотя бы сделать ненамного хуже. Учитывая, что прямых последователей у именитой серии, несмотря на популярность, пpaктически нет (разве что «XIII век» от Unicorn Ga...

16 03 2024 22:55:10

Трехмерное пришествие. О прошлом, настоящем и будущем Nintendo 3DS

«…Все крупные производители техники как будто слетели с катушек. «3D, 3D, 3D!» — скандируют они, стараясь впарить несчастным обывателям очередной телевизор за три тысячи долларов. Получается кисло, а меж тем Nintendo без лишней суеты запускает недорогое у...

15 03 2024 10:49:22

Strong Bad’s Cool Game For Attractive People. Episode 4  Dangeresque 3: The Criminal Projective

Интеpaктивный сериал Strong Bad’s Cool Game for Attractive People каждую серию бросает из крайности в крайность, не отступая при этом от механики классического point & click квеста. Здесь уже была бархатная революция с намеком на Че Гевару,...

14 03 2024 20:45:30

Bulletstorm

Есть определенная ирония в том, что Bulletstorm вышел за несколько месяцев до премьеры Duke Nukem Forever. Ведь почти все, чего ждут от нового Дюка, уже реализовано в новой игре People Can Fly и Epic Games. Главный герой Bulletstorm &mdash;…|Игромания...

13 03 2024 9:24:41

Ninja Gaiden 3

«…На экране творится форменный содом — Рю буквально рвет врагов (какую-то обезличенную солдатню) на части, подбрасывает в воздух, рубит своим адским клинком и даже глазом не моргнет при виде фонтанов крови, вырывающихся из поломанных тел…»...

12 03 2024 18:33:22

Магнитные хроники. История жестких дисков

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

11 03 2024 9:50:39

Patchwork Heroes

Последние десять лет студия Acquire была занята воспитанием самураев и ниндзя — вы можете не помнить названия самой компании, но вполне возможно, что вы играли хотя бы в одну часть Tenchu, Way of the Samurai или Shinobido. Но в конце 2007-го…|Игромания...

10 03 2024 16:14:14

Аналитика: Все, что надо знать о Guild Wars, часть 1

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

09 03 2024 22:54:31

Руководство и прохождение по "Aura: Fate of the Ages"

Я думаю, после венценосного URU: Ages Beyond Myst мало кто из вас, дорогие читатели, мог представить себе квест с большим количеством всяческих механизмов, рычагов и грузоподъемных лифтов. Казалось бы, куда уж больше? Но пути разработчиков...

08 03 2024 16:33:10

ilomilo

Шведы из SouthEnd, разработавшие когда-то стильный шутер XIII (довольно жестокий и кровавый, кстати), вдохновились советскими мультфильмами, «Алисой в Стране чудес» Льюиса Кэрролла и картинами Мориса Эшера и делают сейчас плюшевую…|Игромания...

07 03 2024 22:44:43

Еще:
Игры -1 :: Игры -2 :: Игры -3 :: Игры -4 :: Игры -5 :: Игры -6 :: Игры -7 :: Игры -8 :: Игры -9 :: Игры -10 :: Игры -11 :: Игры -12 :: Игры -13 :: Игры -14 :: Игры -15 :: Игры -16 :: Игры -17 :: Игры -18 :: Игры -19 :: Игры -20 :: Игры -21 :: Игры -22 :: Игры -23 :: Игры -24 :: Игры -25 :: Игры -26 :: Игры -27 :: Игры -28 :: Игры -29 :: Игры -30 :: Игры -31 :: Игры -32 :: Игры -33 :: Игры -34 :: Игры -35 :: Игры -36 :: Игры -37 :: Игры -38 :: Игры -39 :: Игры -40 :: Игры -41 :: Игры -42 :: Игры -43 :: Игры -44 :: Игры -45 :: Игры -46 :: Игры -47 :: Игры -48 :: Игры -49 :: Игры -50 :: Игры -51 :: Игры -52 :: Игры -53 :: Игры -54 ::