Vlad-Shcherbina / icfpc2014-tbd

fourth place
Do What The F*ck You Want To Public License
4 stars 0 forks source link

Vec2 #35

Open Vlad-Shcherbina opened 10 years ago

Vlad-Shcherbina commented 10 years ago

Писать в координатной форме - смерть. Код вдвое длиннее чем должен быть и постоянные ошибки вроде

x1 = x + dx
y1 = y + dx

Меня например это сильно тормозило в написании стратегий, а надо было не лениться и просто сделать namedtuple и переопределить сложение, вычитание и умножение. Причём использовать их сразу в интерфейсе (а может и в реализации) Game, чтобы было неповадно с отдельными координатами работать вообще.

Гостон и КП тоже должны поддерживать Vec2, или как встроенный тип, или через возможность определить тип (или хотя бы операции) в библиотеке.

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

Тут комплексные числа не подойдут потому что у нас пары интов, так что нужно было сесть и написать класс за 15 минут.

Почему мы этого не сделали в 2012 (supaplex) - тоже ума не приложу.

manpages commented 10 years ago

:thumbsup: