bash.im ithappens.me zadolba.li
7340

Кулером кручу, повернуть хочу

23 сентября 2011, 15:45

На втором семестре первого курса универа у нас была курсовая по программированию. Это была первая хоть сколько-нибудь сложная работа на тот момент. У каждого своё задание, пишет кто на чём хочет.

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

Все, кто изучал линейную алгебру, должны помнить преобразования поворота для точки. Но как повернуть картинку 256×256 точек? Решение было найдено быстро:

for y := 0 to roulette.height − 1 do begin
for x := 0 to roulette.width − 1 do begin

// Громоздкий код поворота одной точки

end;
end;

Тормозило даже на моём домашнем компе!

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