Что выведет этот код?

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

public class VarArgs {
   
    public static void main(String[] args) {
        foo(0, 1);
        foo((int) 0, 1);
        foo((Integer) 0, 1);
    }

    public static void foo(int a, int b) {
        System.out.print("A");
    }

    public static void foo(int... args) {
        System.out.print("B");
    }

    public static void foo(Integer... args) {
        System.out.print("C");
    }

}

1 Comment

Форма регистрации на сайте Philips

Порадовал официальный сайт Philips. В форму регистрации встроен скрипт проверки ввода для поля “повторите ваш e-mail”. Если данные вставлены в это поле из буфера обмена, а не введены вручную, то поле очищается и выдается предупреждение.

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

No Comments

Цикл по элементам java.util.Map

Бывают случаи, когда нужно пройтись по всем парам ключ=значение в коллекции java.util.Map. Простая реализация этого:

Map<String, String> map = getMap();
for (String key : map.keySet()) {
    String value = map.get(key);
    // ...
}

Существует и другой способ, когда цикл проходит по парам, а не по ключам:

Map<String, String> map = getMap();
for (Map.Entry<String, String> entry: map.entrySet()) {
    String key= entry.getKey();
    String value = entry.getValue();
    // ...
}

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

Среднее время теста №1: 19568284 наносекунд
Среднее время теста №2: 17059243 наносекунд
Для объектов Map<String, String>, состоящих из 100000 элементов, где ключи являются случайной строкой длиной от 1 до 30 латинских символов. Среднее время выполнения полной итерации выбиралось по результатам 1000 тестов.

, ,

1 Comment

Разработчики Xenus снова облажались

Впервые это произошло при выпуске игры “Xenus: Точка Кипения” в середине 2005 года. Игра, в основе которой лежала очень хорошая задумка, была создана из рук вон плохо. Сейчас конец 2008 года. Вчера, 24 октября, поступила в продажу игра “Xenus 2: Белое Золото”. Разработчики снова облажались.

Read the rest of this entry »

,

2 Comments

The Unfinished Swan


The Unfinished Swan – Tech Demo 9/2008 from Ian Dallas on Vimeo.

The Unfinished Swan (вольный перевод “Незавершенный лебедь”) это сюрреалистичная игра-лабиринт, начинающаяся в полностью белом мире. К счастью, вы можете разбрызгать краску вокруг, чтобы найти путь из лабиринта.
Игра все еще находится на стадии разработки, и пока не планируется заявлять о релизе. “Наша задача получить почти завершенную версию к Марту 2009 года,” – пишут разработчики. Игра создана при помощи XNA.

Официальный сайт: http://iandallas.com/games/swan/

, , , , ,

No Comments

Denwer и EVEMon

На днях возникли проблемы с использованием Денвера. После запуска сервиса не выдавал никакого контента даже localhost. Как оказалось, через несколько секунд после запуска падал Apache HTTP Server.
Путем несложных манипуляций с контроллером типа “мышь” было выяснено, что Apache конфликтует с EVEMon. Это такая утилитка для игроков EVE-Online, очень полезная.
На форумах Денвера уже появлялись люди с подобной проблемой, правда в их случае виновниками падения Apache являлись Skype и Nod32. Теперь можно добавить в список несовместимых с Денвером программ и EVEMon.
Сейчас решаю проблему “влоб” – выгружая EVEMon перед запуском Денвера. В будущем, надеюсь, найдется решение поэлегантнее.

UPD: Проблема решается просто. EVEMon при запуске начинает слушать 80 порт. Это функционирует IGB (in-game browser) Mini-server. Для разрешения конфликта с Apache HTTP Server достаточно изменить порт на любой другой (например, 8080) или вовсе отключить эту функциональность. Найти эти настройки можно в главном меню програмы, выбрав Tools->Options, и в появившемся окне на закладке Network в разделе IGB Mini-server поменять значение порта или отключить опцию “Run IGB Mini-server on http://localhost/”.

В истории учавствовали:
1) Денвер 3 от 2008-01-13 – джентельменский набор разработчика. http://denwer.ru
2) Apache HTTP Server 2.2.4 в составе Денвера.
3) EveMon 1.2.5.1170. http://evemon.battleclinic.com
4) WindowsXP Pro SP2.

, , , ,

2 Comments

Футбол по-русски

Закончил работу над игрой на Flash. Незатейливая игрушка про сборную России по футболу. На поле тренируются 6 наших футболистов и постоянно норовят забросить тренировку и раслабиться. Задача игрока как можно быстрее заставить футболиста вернуться к тренировке (кликом мыши). Для “критичных” ситуаций предусмотрены 3 супер-удара заставляющих всех футболистов на поле возобновить тренировку: показать футболистам деньги, позвать на поле хорвата с наставлениями или пронзительно свистнуть в свисток. Игра написана на ActionScript 2. Позже я изучил и использовал AS 3.0 и вспоминаю AS 2 как страшный сон.

С разработкой связана интересная история. Первоначально идея возникла до начала чемпионата Европы. Поэтому слоганом к игре была фраза: “Натренируй наших к чемпионату”. По срокам выход игры был назначен на конец чемпионата, поэтому слоган поменялся на: “В этот раз не повезло. Натренируй наших к следующей игре!”. Тогда, по чести, только заядлые фанаты верили в победу нашей сборной. После того, как подопечные Гуса Хиддинга с триумфом вышли в полуфинал, слоган принял свой конечный облик: “Нашим не хватило совсем чуть-чуть! Натренируем команду мечты вместе!”.

Чтобы перейти на страницу с игрой, нажмите на изображение.

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

,

No Comments

КРИ 2008, день третий..

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

Read the rest of this entry »

,

4 Comments

о5 25..

Заметил только под вечер:

Ошибка в фамилии

Перов моя фамилия. Когда-же это закончится…

3 Comments

КРИ 2008, день второй

Сегодняшнее мое раннее пробуждение было посвящено именно этому мероприятию. КРИ 2008, конференция разработчиков игр, что проходит сегодня, проходила вчера и будет продолжаться еще и завтра в Москве, в просторных помещениях гостинцы Космос.

КРИ 2008КРИ 2008КРИ 2008

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

Что запомнилось? Думаю, каждый, кто посещал мероприятие, помнит этих девочек, что гуляли по выставочным залам топ-лесс, рекламируя некую игру Mass Effect. Не знаю, не играл, но девочки на 5+, стойко выдерживали напор неотстающих фотографов, потому достойны украсить собой этот обзорчик:

КРИ 2008КРИ 2008КРИ 2008КРИ 2008

Порадовали ребята из Creat Studios, отличный стенд с несколькими различными консолями, приветливые сотрудники, интересные игры. Рядышком с их большим павильоном был сооружен павильон поменьше, где сидели 3 привлекательных девочки, и показывали всем желающим хз_как_называется игру. Суть игры, прыгать по напольному коврику со стрелками, нажимая на те, которые в данный момент высвечиваются на экране. Жанр довольно древний в стране восходящего солнца, но в России я такое вижу впервые. Может поэтому сама игра сделана некачественно. Но девочки там сидели милые. (прим.: обязательно завтра запечатлею ^_^)

Собственно, почему я завел разговор о Creat Studios.. Ах да. Игра хз_как_называется_про_самолеты в их большом павильоне заинтересовала свой инновационностью. Картинка в игре генерится со стерео-эффектом, поэтому без специальных очков на экране все расплывчато и неприятно глазу. Но как только надеваешь очки, чувствуешь себя как в IMAX. Действительно, впечатляет. Только, как мне объяснили, для генерации такой картинки нужен специальный монитор, который показывает 2 изображения. Довольно странно, я о таком не знал. Плюс они что-то сделали с приставкой, уж не знаю, для работоспособности их инновационного эффекта в игре или по какой-то другой причине.

КРИ 2008КРИ 2008

Поразил своим размахом стенд небольшой провинциальной компании Elephant Games, сотрудником которой я не так давно являлся. Просторный стенд с огромным макетом приставки Nintendo DS посередине, двумя внушительныими ЖК телевизорами снаружи, думаю влетел в копеечку. Но, как бы красиво это не было снаружи, внутри ничего примечательного я не заметил. Ну нечего показать ребятам. 2 недоделанные игры для приставки Nintendo DS, одна недоделанная игра для PC. Да и на телевизорах крутились рекламные ролики от Nintendo.

КРИ 2008КРИ 2008

Последние фото с “Ярмарки проектов” – отдельное помещение выставки, где в углу кучно согнаны молодые разработчики, у которых перимущественно нет издателей. Смотреть на эти разработки подчас жутко. Жуткая концетрация беспорядочных идей и плохих реализаций взрывает мозг. Зачем мексиканец в самбреро на, простите если ошибаюсь, грибе мчится на огромной скорости по отсеченной сверху трубе и собирает знаки бакса?.. Надо будет спросить у ребят, сегодня они были заняты. Думаю, завтра я займусь этими ребятами вплотную и расскажу об их мега-разработках подробнее.

Странно, что на Ярмарке в уголке делали Saber Interactive и Vogster Entertainment со своими достаточно серьезными разработками. Первая компания представляла Time Shift, вторая хз_как_называется стратегию для Nintendo DS. Очень красиво, качественно. Ребятам даже ничего не надо говорить, рассказывать. Увидев такие игры сразу видно, сколько труда было в них вложено. Ведь одно дело собрать болванку своей мега идеи, что вылетает каждые 5 минут, пожирая последние мегабайты оперативной памяти и безбожно тормозит на любой системе, хотя там всего тыща полигонов.. И другое дело довести игру до конца, или хотя бы до альфа, бета, пре-релиз версии. Молодцы ребята, я тоже так хочу.

Завтрашнее мое раннее пробуждение снова будет посвящено КРИ 2008, уверен, там есть что еще увидеть, посетить и .. выпить.

,

1 Comment