Как стать автором
Обновить
153
0.9
Григорий @bfDeveloper

Программист на C++, D, Brainfuck

Отправить сообщение
Не увидел физики вообще. Да, 3D движок красивый, но, во-первых это не имеет отношения к физическому моделированию, во-вторых не верю в то, что эта демка имеет схожие системные требования с её аналогами с классической демосцены.
Тогда покажите мне игру на флеше с уровнем физики хотя бы как в World of Goo. Таких нет. Есть множество синтетических тестов, показывающих разницу в скорости с native кодом в разы, а то и на порядки.
Ничего не имею против флеша, это отличная платформа для своих задач, но говорить о хоть каком то сравнении скорости флеша и компилируемого кода — бред.
Я правда не видел реализацию гугла, но x86 виртуальная машина может быть очень быстра и не сильно уступать нативным программам.
Интересно получилось. Как автор предыдущей статьи скажу, что у вас получилось гораздо красивее с точки зрения синтаксиса. Я, кстати, на той статье не остановился и немного развил идею . Красивее не стало, зато теперь намного безопаснее. К ваше реализации есть пара претензий:
1) Использование чисто майкрософтовских «фич», которые нарушают кроссплатформенность. В студии и так есть свои проперти.
3) Неявное задание сеттеров и геттеров, которое ещё и обязывает по-вашему называть методы.
2) Не смог до конца разобраться, но как создать readonly свойство?

У меня сейчас бродят идеи реализации на основе новшеств C++11. Лямбды вместе с std::function помогут сделать обьяления методов доступа красивее, а возможность вызывать конструкторы друг из друга — выделить инициализацию свойств в отдельный конструктор.
Нет не одному, вот человек тоже считает что это не надо. А по поводу того, что тысячу раз писалось, гуглится на эту тему не так много. А так, не плохое упражнение, а если дописать под себя, то и в реальных проектах можно использовать.
Почти по всем пунктам один вопрос: зачем? Всё что вы пишете, нужно очень небольшому числу программистов. Да и если уж вам так понадобилось всё это — реализуйте в сеттерах и геттерах, ну или расширяйте этот класс. А конкретно третий пункт, считаю не только бесполезным, но ещё и вредным. В C++ идеалогия строгой типизации, «само» приводится не должно. Компиляторы не зря варнинги кидают даже на неявное приведение float к int.
А у кого написано? У Property можно без проблем посмотреть, а у обычных полей с методами set и get кроме как по отсутствию этих самых методов ничего и не скажешь.
doc.crossplatform.ru/qt/4.6.x/properties.html
Система свойств есть, но заточена она по большей части под динамическое использование через мета-объектную систему.
Да, ничего хорошего не получится. Это даже не скомпилируется. Однако, странное желание взять указатель на свойство, ведь под свойством совсем не обязательно скрывается поле класса соответствующего типа. Поэтому даже логично, что такой код не компилируется.
С другой стороны, это мешает применять свойства как я описал комментарием выше;
Производительность тут действительно страдает, причем даже без вычислений. Два вызова функции вместо одного на пустом месте в критической ситуации сыграют роль.
На самом деле все это было написано и опубликовано исключительно в учебных целях. В жизни я вижу одно применение этой штуки: с вас есть море написанного кода, где происходят обращения и полям класса, а вам надо все переделать, хоть в целях дебага, на сеттеры и геттеры. Это может быть не лучший выход из такой ситуации, но выход.
Надо сказать, что и в C++ тоже есть нечто подобное — typedef. А в коде выше я на самом деле вообще бред написал, обращаясь к не статическому полю как к статическому через имя класса.
Да разруливают примерно так: MyGraphics::Point.x = MyPhysics::Point.x. По-моему удобнее так: mgPoint.x = mpPoint.x.
Не надо забывать и то, зачем префиксы придуманы: пересечение имён. Я встречал ситуацию, когда библиотека для моделирования физики реализует класс Point, и библиотека для отрисовки реализует свой класс Point. Без префиксов попытка использовать их вместе стала бы некоторой проблемой (пространства имён существенно загромождают код). В общем пару букв всегда писать проще по-моему.
Очень напоминает lightbot
armorgames.com/play/2205/light-bot
Хотя здесь явно больше намудрили.
Это не спортивно. Текстовый генератор что угодно вывести может. Вот честная реализация:

>++++++++++>+++++++++<[>>[-]++++++++++>>[-]++++++++++<<<<[>>->>->+<<<<
<-]>>>>>[<<<<<+>>>>>-]<<<<<>>>[-]++++++++++>>[-]++++++++++<<<<[>>->>->
+<<<<<-]>>>>>[<<<<<+>>>>>-]<<<<<>>>>>>>>>>+<<<<<<<<<<>>>[>+<-]>[>+<-[>
+<-[>--<-[>+<-[>+<-[>--<-[>+<-[>+<-[>--<-[>+<-[>+<-[>--<-[>+<-[>+<-[>-
-<-[>+<-[>+<-[>--<-]]]]]]]]]]]]]]]]]]>>+<[>-<[-]]>[>>>>[-]<<<<++++++++
++++++++++++++++++++++++++++++++++++++++++.[-]]<<<<<[>>+>+<<<-]>>>[<<<
+>>>-]<<[>>+>+<<<-]>>>[<<<+>>>-]+<----------[>-<[-]]>[>>>>>[-]<<<<<+++
++++++++++++++++++++++++++++++++++++++++++++.[-]]<<[-]<[>+>+<<-]>>[<<+
>>-]+<-----[>-<[-]]>[>>>>>>[-]<<<<<<++++++++++++++++++++++++++++++++++
+++++++++++++.[-]]>>>>>>[<<<<<<<<<++++++++++++++++++++++++++++++++++++
++++++++++++.>++++++++++++++++++++++++++++++++++++++++++++++++.>>>>>>>
>-]<<<<<<<<[-]<[-]<-[>+>+<<-]>>[<<+>>-]+<+[>-<[-]]>[<<++++++++++<->>>[
-]]++++++++++.[-]<<<] 

Она правда не слова выводит, а цифры. 3 если кратно 3, 0 если 5 и 30 если и то и то.
Как насчёт скорости работы? По идее очередной уровень абстракции должен замедлить работу с жёстким диском. Есть какие-нибудь исследования данного вопроса? Для меня LVM незнакомые буквы, поэтому и спрашиваю.
Действительно замечательное упражнение для изучения языка. Хотя сам алгоритм игры жизнь вы сделали не оптимально. Любые ветвления в коде шейдера — потеря производительности. Можно заменить все ветвления хеш-таблицей. Всего существует 16 вариантов состояния клетки и её окружения. Это совсем немного. Это ещё и неплохое упражнение и в новом языке, и вообще в программинге.
Объясните, пожалуйста, незнакомому с этой проблемой человеку, разве нет компиляторов нормальных языков под яблочные платформы? Я слышал, что есть компиляторы для c++, и что не обязательно изучать objective-c чтобы писать под мак, айфон и т.п.
Дольше похоже на Age of Empires 1 и по эпохе и по внешнему виду.

Информация

В рейтинге
1 677-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность