Как стать автором
Обновить
45
0
Отправить сообщение
EA не из тех контор, которые просто откроют исходники. Они очень переживают за свои IP, спасибо хотя бы на том, что не срубают на корню все моды, как некоторые другие конторы на букву N.
Отвечу за автора, заодно отвечу непосредственно автору.
Что такое OSU???
Google помог бы, но в целом — это такая игра.
Кого???
Beatmap, карту с расставленными нотами. Для игрока это очевидно, но автор поленился объяснить нормально, что за игра.
Вы упоротые? Очевидно, OSU! не запущена, вы же сами только что сказали из неё выйти.
Видимо, имелся ввиду внутриигровой аккаунт. Играть можно и без него.
И я так и не понял, что в результате дали все эти вот манипуляции?

Мы добились того, что реализовали уже давно реализованный в игре режим Relax. В osu! задача игрока под музыку навести курсор на кружочек и вовремя нажать кнопку, идея проста. Relax — это специальный режим игры, в котором нужно только наводить курсор на кружочки, щелкает игра сама. Т.е. автор, по сути, переизобрел режим игры, который уже итак есть в игре, но не через игру. Смысла в таком проекте просто ноль, что очень обидно, когда есть открытая реализация всей игры, и ей нужно немножко любви, чтобы привести ее в порядок. У текущего клиента куча проблем (впрочем, куча их и у альтернативного), но есть все шансы сделать альтернативный клиент удобнее и лучше, но вместо этого зачем-то изобретают то, что изобрел автор.
Это была шутка, но я забыл, что не все на хабре понимают юмор ^_^
Ну в таком случае в С++ уже давно рефлексия есть, кто запрещает сделать так:
class A
{
private:
    int a, b;
    ...
}

void main()
{
    A* a = new A();
    int a_b = *(((int*)(a))+1);
    ...
}
как я сказал выше, если реализация регулярных выражений сама строит префиксное дерево, то это готовый инструмент


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

тем, что встроенная реализация языка наверняка оптимизирована гораздо лучше, чем то, что напишу я.


А вы попробуйте прокачать скилл и писать крутые штуки на уровне крутых прогеров, почему бы и нет ;)

в данном случае оценка сложности одинакова, потому что алгоритм один и тот же: сравнение строки с префиксным деревом — на регекспе или на питоне


Не уверен, что это верно. Насколько мне известно, Python использует рекурсивный backtracking, откуда растет экспоненциальная сложность.

Вот тут есть хороший материал по поводу регулярок.
Контрпример. В моем движке есть
interface IFont
{
    void Draw(...);
}


Этот интерфейс реализован одним лишь классом
class SpriteFont : IFont
{
    public void Draw(...);
    ...
}


По вашим словам, он тут не нужен. Однако, все другие классы, которые как-то завязаны на шрифтах (например Label) используют не SpriteFont, а IFont. Догадаетесь, почему?

Ответ очень прост — чтобы человек, который решит поиспользовать мой движок, смог сам написать такую реализацию шрифта, которую сочтет нужной. Это если его моя реализация не устроит.

Вы рассказали о том, что интерфейсы создают гибкий код, но не сказали, почему. Потому что интерфейсы — это описание протокола взаимодействия между классами. И заявлять, что
если кроме этого проекта ваш класс нигде больше не существует, то и интерфейс не нужен
очень сомнительно.
Вы недооцениваете лапы геймеров :) Я протестировал себя, и, как выяснилось, могу тапать кнопки со временем нажатия 20мс, чего будет достаточно, чтобы проворонить нажатие при чуть меньше 50фпс (1000/20). Еще не забываем, что для многих игр выдавать всего 30 кадров в секунду (33,3мс) вполне нормально. Так что проблема более обширная, нежели вы думаете. Я еще и не самый адский мэшер в плане клавиатуры, многие наверняка могут и побыстрее.
Скриншот
image
В таком случае, подобный сценарий все еще возможен — из-за того, что сам код, опрашивающий киборду и джойстики, не успеет отреагировать на очень быстрый тап клавиши. Но это уже не проблема кода обработчика, это проблема кода, опрашивающего устройства.
Ну, еще есть небольшая вероятность того, что с проверкой состояний вы просто «проморгаете» нажатие, если оно произошло достаточно быстро, и стейты поменялись с «нажат» на «не нажат» быстрее, чем ваш код успел на это отреагировать :) С событиями, как только поменялось состояние — сразу же вызвался код, что гарантирует обработку нажатия.
И маленькое имхо: подход с событиями кажется более объектно-ориентированным, чем дёрганье состояний, которое выглядит как Сишный код.
А почему бы не сделать так?
typedef void ( __stdcall *btn_event_t)(param1, param2, ...)

А потом просто подписываться на сообщения и получать радость? Такой код получится компактнее и практичнее, имхо.
Еще Present Simple иногда используется для описания событий в будущем. Например, "The winner gets x". Или в расписаниях: "Lessons start at x:xx". Англоговорящие товарищи вообще очень редко используют навороченные времена типа Past Perfect Continuous и сводят все к Simple-временам х)
Времена и формы скачут, когда используется Indirect Speech. В заголовках и статьях обычно используется Indirect Speech, отсюда и путаница(?).
Я почти уверен, [некоторые] менеджеры и заказчики считают, что именно так оно и есть :)
А почему бы тогда просто не хранить переводы как Dictionary<AbstractKey, string>? И никаких сравнений не нужно делать (в идеальном, конечно же, случае)
Я, вероятно, не совсем точно выразился и был не совсем правильно интерпретирован. Знания это всегда хорошо, вот только многим людям образование уровня бакалавра вовсе не нужно. Есть очень много специальностей, которые не требуют степени. Поэтому переоценена сама необходимость поступать именно в ВУЗ, когда есть более специализированные колледжи.
Хотел бы добавить свое личное виденье.
Я считаю, что цена и значимость образования слишком переоценены. Сейчас каждый первый родитель стремится чуть ли не насильно запихнуть своего ребеночка в институт, а зачем — а просто так. В итоге имеем ситуацию, когда люди учатся в институтах, при этом сами не знают зачем.
Сам я не закончил институт. Сгорел на втором курсе и просто махнул рукой. За эти два курса я успел поменять целевую специальность (читай кафедру), но наблюдал абсолютно одинаковую ситуацию. Из 25 человек понимание своих жизненных целей было у троих, а реальные навыки и таланты были дай бог у двух. Начал со специальности «программирование», где код в лицо видели только я и еще один парень. Я молчу о серьезном коде, даже паскаль или HTML-разметку никто в глаза не видел. Сделав весь курс программирования за 15 минут, а потом получив автомат за выполнение курсовой 4-ого курса, я полностью разочаровался в инсте и понял, что делать мне там нечего. Начал открыто забивать, устроился на работу и планомерно после первого курса слетел на менее престижную кафедру — радиотехника. Там был вообще лютый трэш; там были все те, кто поступил ради корочки. Из всей кафедры был только 1(!) человек, которому реально было интересно и который реально учился.
Отсюда и проблема — в институтах учатся люди, которые там учиться не должны. Раньше это «чинилось» отчислением тех, кто не может; а сейчас не чинится ничем.
Где корень проблемы — не знаю. Может корень в том, что детей не приучают к чему-то; не способствуют развитию интересов. Может из-за пропаганды о том, что есть престижные профессии, а есть дно.
SDL нельзя считать движком, да и SDL себя не позиционирует как движок. Это как OpenGL называть движком, или WSAPI называть движком. Просто API, которое кроссплатформенно.
Встречался с похожей проблемой: Juiced отказывается работать, если на компьютере установлено больше 2х гигабайтов оперативной памяти. С двумя гигабайтами еще понятно — в int не влезли, а вот с 1 гигабайтом видеопамяти интересно получается.
Не подумайте, не имел умысла обидеть или оскорбить. Но среди матерых программистов я выгляжу просто смешно, в свои то 22. Да и тенденция есть, что двух-трех лет вполне достаточно, чтобы люди были будто из разных миров, с разными ценностями и разным восприятием мира.
Выскажу свое скромное мнение.

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

В целом весьма интересно смотреть, и я с радостью посмотрел бы другие видео, если они будут покороче :)
Чисто физически можно, потому что там есть определенное состояние автомобиля, когда он может проезжать сквозь траффик / соперников, но не стены.

В мультиплеере со столкновениями вообще никто не играл никогда.

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность