Neonoviiwolf: Спасибо! Непосредственно для анимации персонажей мне программа Spriter приглянулась. Тем более, что почти бесплатная. Там тоже и скелетная анимация и прочее. А вот всё скомпоновать... Попробую что-нибудь из adobe.
CC и AnimeStudio для векторной анимации, как я понял по ютубу. Всё очень круто, но мне нужно аналогичное для спрайтовой графики.)
After Effects может и подходит, на ютубе в основном на спецэффекты упор сделан, но он какой-то излишне монструозный. Это как стрельба из пушки по тараканам... И я пока не понял, можно ли анимированные гифки в нём использовать или наборы кадров(спрайтшиты или отдельные файлы для каждого кадра), без их переключения вручную на каждом кадре анимации.
MisterN: Ну да, всё зависит от вариантов использования. Под мои нужны организация по папкам оказалась самой эффективной.
Кстати, в каждой папке лежит файл cover.jpg и плеер обложку показывает при выборе папки. Разумеется, только при переключении вручную, поиск по картинке не сделать.
Николай М: Да, нотификация должна появиться. Потом уже в маркете подтвердить обновление и подтвердить новый список разрешений. Т.е. лишь небольшое неудобство при обновлении.
abcd0x00: Всё, до меня дошло. Я описал ситуацию с перегруженным оператором, там ленивые вычисления не работают, потому что это уже совсем не то, на что похоже внешне.
devalone: В принципе, разные материалы не проблема. Если разбивать поверхность не на треугольники, а на тетраэдры, то можно даже вокруг разбрасывать реальные куски земли. Типа как в Red Faction. Т.е. "копаемые" материалы будут как бы твёрдотельными моделями.
AtomKrieg: Без полного определения типа невозможно узнать размер объекта, так что и рекурсии в принципе бы не случилось, потому что нельзя вставить неизвестно что. Рекурсия это уже вторая проблема, которая не успевает возникнуть, т.к. в первом классе ещё неизвестно определение второго класса. Думаю, в шаблонных классах проблема получилась бы именно с рекурсией, но в не шаблонных классах до рекурсивного определения даже не дойдёт.
Therapyx: предварительное объявление это как подсказка компоновщику, что в этом месте будет использоваться объект указанного класса, но кроме названия этого класса ничего неизвестно. Ни методов, ни размера объекта. Поэтому можно лишь создать указатель или ссылку, но не объект. А в файле реализации необходимо подключить инклюд, чтобы было полное определение класса, чтобы можно было обращаться к методам. Это почти то же самое, что предварительное объявление функции. Сообщаете, что "где-то" есть такая-то функция. Но пока в этом "кое-где" её не реализуете, использовать её будет нельзя.
Therapyx: Чтобы избежать зависимость от порядка следования инклюдов, проще в каждом из двух файлов предварительное объявление сделать. Это особенно заметным будет, когда классов будет не два, а несколько десятков и инклюдящихся в куче других файлов.
Therapyx: "Получается работая с указателями, деллать так можно?"
Чтобы стало можно, нужно сделать предварительное объявление классов. Просто написать "class Cellphone;" перед классов SimCard и можно будет создавать указатель на объект класса Cellphone. И "class SimCard;" перед классом CellPhone. Инклюды инклюдить всё-равно нужно, но при такой записи будет компилировать.
abcd0x00: Это не совсем то, о чём я говорил Я имел в виду код типа: "n = f(Func(A)) || f(Func(B));". Т.е., что Func(A) и Func(B) выполняются до вызова f(Func(A)).
Но теперь я не уверен на 100%, что это действительно возможно, а специально написать подобный код невозможно...
MiiNiPaa: Правая часть - это правая часть. А аргументы - это аргументы. Аргументы могут вычислиться в любом порядке, на усмотрение компилятора. А вот вторая функция выполнится только если первая вернёт false - именно это говорит стандарт языка.
Олег Смирнов: Ну да, включение оптимизации компилятором это первый шаг. Но 10 раз это пшик и не позволяет увеличивать глубину поиска. Про выбор ходов написано в упомянутой вами книге, там вообще много полезного написано, включая битборды и хэши. Но это уже оптимизации по памяти, по скорости, но на глубине поиска принципиально не скажутся. В первую очередь стоит пытаться увеличить глубину поиска, а для этого нужно отбрасывать заведомо проигрышные ходы. В книжке описано и про оценку позиции на доске и про порядок фигур и прочее. По хорошему, нужно делать оценку не только по положению исследуемой фигуры, но и по взаимному расположению других фигур, но это уже высший пилотаж и нужно хорошо в шахматы играть.
Лично от себя рекомендую сперва реализовать шашки, а уже потом браться за шахматы. Как раз и в алгоритмах разберётесь и в структурах данных и прочем.
Виталий Столяров: Элементарно. Можно отсудить название. Но это чисто теоретически, в реальности вряд ли проблемы у вас будут. Только если игра выстрелит и начнёт приносить миллионы долларов.
Виталий Столяров: А эту грань найдут юристы, если будет шанс нажиться.
Конкретно вашу проблемы обычно решают при помощи EULA, в которой чётко сказано, что разработчик не несёт ответственности за контент, добавляемый пользователем. По идее, при возникновении проблем, вы лишь должны сразу удалять спорный контент и фсё. Но, если целью будет вас прикрыть или отжать права на проект, то и купленная лицензия может не помочь.
Denis Zagayevskiy: "Википедия не согласна с документацией." Ваши слова? Ваши. При этом в этой самой статье, среди приёмов обфускации указано переименование понятных названий в непонятные (минификация - побочный эффект данного вида обфускации, когда назначаются короткие имена). Вместо одно-двухбуквенных имён можно назначать GUID'ы или 100 символьные имена, например. Никакой минификации не будет, Будет наоборот.
Denis Zagayevskiy: Вы сослались на википедию. Я сослался на эту же самую статью, которую вы дали. Это не моё, это Ваше мнение. Мнение, написанное в той самой статье, которую вы привели в качестве своего аргумента.