{{notification.text}}

MirGames

MeF Dei Corvi

MirGames Dev
Питер
Зарегистрирован 20.03.03 20:12
Последний раз был в сети 26.04.20 14:52
200 
Text Elite
08.04.14 13:50

Тоже не смог найти в интернете. Как вариант, можно попробовать сконвертировать исходники на C в Pascal. Если в оригинальных исходниках не очень много магии, то должно конвертироваться более-менее полностью.

Sunspire
02.03.14 14:54

С издательством вообще все плохо) всякие там алавары рефлексивы такой жанр не берут, да и требований у них очень много, а я планирую оставаться свободным художником) myplaycity пердлагали (игра бесплатна для скачивания, вмонтирована реклама, я получаю копеечку со скачки)

А почему не Steam?

Sunspire
01.03.14 18:28

Выглядит круто) А как издаваться планируете?

Youtube-каналы
19.02.14 14:41

А ешё я на эту деваху подписан. После просмотра клипа на тему Skyrim :-)

Skyrim - Lindsey Stirling & Peter Hollens

Said, с Днём Рождения!
19.02.14 14:39

Похоже, что у нас будет сайт с поздравлениями :-) У Said'а, если мне не изменяют напоминалки, и предыдущие поздравительные темы, вчера был день рождения. Собственно, Said, поздравляю с прошедшим Днём Рождения, и желаю успешных проектов, вагон денег, ну и чтобы в семье всё хорошо было. Ты - тот человек, который создавал движуху на этом форуме, и задавал определенную атмосферу. Ну, в те дни, когда ты не был забанен Рз :-)

WIP: MirGames
19.02.14 01:03

19.02.2014

  1. В настройках можно отключить использования веб-сокетов в качестве транспорта. Мне пока не удается воспроизвести проблему Dan'а, поэтому такой вот workaround.
  2. Изменен механизм отправки писем. Теперь они должны реже попадать в спам и, соответственно, чаще доходить :-)
  3. Для неактивированных пользователей выводится уведомление о том, что им нужно активировать профиль. Также для них добавлена возможность запросить повторную отправку активационного кода.
WIP: MirGames
16.02.14 21:22

16.02.2014

  1. Переезд на другой сервер. Сервер находится в Москве, поэтому ответы должны быть быстрее примерно на 50мс.
  2. Переезд на MS SQL. MS SQL под Windows работает всё же на порядок стабильнее и быстрее MySQL. Планировщик запросов в MySQL какой-то уж слишком тупой.
  3. Добавлена стартовая страница. Над её содержанием я ещё думаю.
  4. Минорные баг фиксы в чате.
  5. Вновь включены веб-сокеты. Надеюсь, что у Dan'а они заработают)
Вызов методов суперкласса в методах его подкласса
13.02.14 01:50

А можно подробнее, почему так? Я всегда думал, что это краеугольный камень ООП.

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

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

Кроме того, неправильное использование наследование может приводить к нарушению инкапсуляции: дочерний объект начинает знать слишком много об особенностях реализации базового. К примеру, если взять изначальный вопрос про вызов методов базового класса, то каким образом нам понять, вызывать метод базового класса или нет? Без знания о том, что конкретно делает тот метод, есть риск что-то не сделать в своём переопределенном методе, тем самым сломать что-нибудь. Также есть риск того, что изменив базовый метод, мы ожидаем изменения поведения всех наследников, но если наследник переопределяет что-то по-своему, то мы получаем баг.

Вообще, это холиварный вопрос. Я сужу, исключительно исходя из своей практики, и в огромном большинстве случаев, реализация без использования наследования была бы гибче, проще и понятнее. С другой стороны, есть и правильные случае наследования. Скажем, я не вижу ничего плохого в том, чтобы UI контрол унаследовать от базового Control. Но вот создавать иерархию типа BigRedButton > RedButton > Button я бы не стал)

Ну я ж говорю, читал книгу, из которой мне автор вещал мол "используй с умом"

Код вообще надо с умом писать)

Если речь идёт о прилагательных, то я их делаю интерфейсами

Интерфейс - это прежде всего контракт. Т.е. это соглашение об ответственности. Я бы сказал, что это семантическая единица)

Вызов методов суперкласса в методах его подкласса
12.02.14 19:15

Поведенческие шаблоны проектирования

В частности, Цепочка обязанностей

Плюс The Open Closed Principle

Идея в том, чтобы иметь абстрактный Behaviour, который может иметь доступ к какой-то внутренней информации Widget. Причем на каждый Widget может быть навешано произвольное количество Behaviour. Ну или даже Components. Ну т.е. Button - это такой Widget, который обладает ClickHandlerBehaviour (позволяет обрабатывать клики), BoundaryBehaviour (определяет размеры элемента) и, например, ButtonRenderBehaviour (рисует кнопочку).

Вызов методов суперкласса в методах его подкласса
12.02.14 18:42

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

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

Вызов методов суперкласса в методах его подкласса
12.02.14 18:26

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

Вызов методов суперкласса в методах его подкласса
12.02.14 18:13

А в чем проблема? Все ООП языки из числа тех, что я знаю, позволяют вызывать методы родительского класса в переопределенных дочерних. В целом, на мой взгляд это немного не согласуется с принципом открытости/закрытости, да и вообще наследование - зло. Я стараюсь обходится без виртуальных методов, но с точки зрения классического ООП - это нормально.

WIP: MirGames
07.02.14 00:01

Включил лонг-поллинг вместо сокетов. Попробуй страницу обновить.

WIP: MirGames
06.02.14 23:57

Странно, причем проблема похоже только в твоём окружении возникает.

WIP: MirGames
06.02.14 23:56

It's a magic. У меня такая же.

WIP: MirGames
06.02.14 23:52

А версия браузера какая?

WIP: MirGames
06.02.14 23:43

06/02/2014

  1. Добавлена настройка для отправки сообщений в чате по нажатию enter.
  2. Добавлен вывод служебных нотификаций о подключении/отключении от сервера в чате.
  3. Сообщения, которые были отправлены в то время, пока браузер переподключался к серверу, должны подгружаться.
  4. Добавлено дополнительное логирование для клиент-сайда для обнаружения ошибок подключения.