Это человек писал или какой-то препроцессор, развернувший все циклы?
SoulSharer
Как оно вообще работало
Объясняю ситуацию) Еще в 10-м классе решил попробывать написать игру, но постоянно стопорился на компиляции пустого проекта в Visual Studio (не понимал че подключать и т.д. и т.п.). Потом, когда в 11-м таки разобрался, скачал туториал hge и на радостях начал пилить код полтора года, изучив только основы. Т.е. я знал про существование классов, но решил тогда, что это лишнее)) И начал говнокодить без устали)
Работает, т.к. я как только добавлял новую фичу/ написал 20 строк кода - бегом начинал тестить (да и щас привычка).
В итоге имеем то, что имеем: все переменные глобальные (причем заметьте, там адовый момент: сначала идет ни***еский список переменных, а потом ф-ия Init() или-чето такое, где они все переинициализируются для рестарта игры), имена счетчиков цикла: i1, i2, i3 .... i107, i108 - я тогда боялся что циклы не будут работать, если это будет одна и та же i))) Потом когда сбился со счета пошли ii1, ii2,...iii1,iii2 и т.д.))
А множество условий...гы! В туториале так проверялась загрузка двух каких-то текстур, ну я думаю, ниче менять не буду - и при добавлении новых ресурсов дописывал их в это условие. Такие же щи творятся и в конце говнокода, где под них вручную освобождается память (тоже было в туториале).
Сейчас на втором курсе универа (учусь на программного инженера) с одногруппниками сидим и угараем с этого Грааля Говнокодерства.
зато оно работает и можно играть, это уже достижение!
Медленно скролля строчки кода вниз - можно войти в транс.
Такое ощущение, что это код уже в процессе компиляции должен открывать Врата Ада))
DaGGeR
> зато оно работает и можно играть, это уже достижение!
Бесспорно. Но исходник все равно шедеврален)
У вас if всем if-ам if o_O
я так понимаю, симуляция жестокости была вовсе не в самой игре, а его коде.
hostage[TEsT]
Симулятор жестокости - это название новой, переписанной версии). Не называть же так же, как и старую. Правда и тут есть немного, что показать, но лучше пока не буду пока не перепишу))
По балансу предложения есть? Кто-то пытался ее пройти?
if(( ( ( py<vragi3Objects[i80].ill1_y+200&&py>vragi3Objects[i80].ill1_y+105&&px<=vragi3Objects[i80].ill1_x&&px>vragi3Objects[i80].ill1_x-600*lag)|| ( p1d1y<vragi3Objects[i80].ill1_y+200&&p1d1y>vragi3Objects[i80].ill1_y+105&&p1d1x<=vragi3Objects[i80].ill1_x&&p1d1x>vragi3Objects[i80].ill1_x-600*lag)|| ( p1d2y<vragi3Objects[i80].ill1_y+200&&p1d2y>vragi3Objects[i80].ill1_y+105&&p1d2x<=vragi3Objects[i80].ill1_x&&p1d2x>vragi3Objects[i80].ill1_x-600*lag)|| ( p1d3y<vragi3Objects[i80].ill1_y+200&&p1d3y>vragi3Objects[i80].ill1_y+105&&p1d3x<=vragi3Objects[i80].ill1_x&&p1d3x>vragi3Objects[i80].ill1_x-600*lag)|| ( p1d4y<vragi3Objects[i80].ill1_y+200&&p1d4y>vragi3Objects[i80].ill1_y+105&&p1d4x<=vragi3Objects[i80].ill1_x&&p1d4x>vragi3Objects[i80].ill1_x-600*lag))&& aktivatorp==1&&x-55>vragi3Objects[i80].ill1_x&&vragi3Objects[i80].ubit!=1)|| ( ( ( p2y<vragi3Objects[i80].ill1_y+200&&p2y>vragi3Objects[i80].ill1_y+105&&p2x<=vragi3Objects[i80].ill1_x&&p2x>vragi3Objects[i80].ill1_x-600*lag)|| ( p2d1y<vragi3Objects[i80].ill1_y+200&&p2d1y>vragi3Objects[i80].ill1_y+105&&p2d1x<=vragi3Objects[i80].ill1_x&&p2d1x>vragi3Objects[i80].ill1_x-600*lag)|| ( p2d2y<vragi3Objects[i80].ill1_y+200&&p2d2y>vragi3Objects[i80].ill1_y+105&&p2d2x<=vragi3Objects[i80].ill1_x&&p2d2x>vragi3Objects[i80].ill1_x-600*lag)|| ( p2d3y<vragi3Objects[i80].ill1_y+200&&p2d3y>vragi3Objects[i80].ill1_y+105&&p2d3x<=vragi3Objects[i80].ill1_x&&p2d3x>vragi3Objects[i80].ill1_x-600*lag)|| ( p2d4y<vragi3Objects[i80].ill1_y+200&&p2d4y>vragi3Objects[i80].ill1_y+105&&p2d4x<=vragi3Objects[i80].ill1_x&&p2d4x>vragi3Objects[i80].ill1_x-600*lag))&& aktivatorp2==1&&x2-55>vragi3Objects[i80].ill1_x&&vragi3Objects[i80].ubit!=1))//просчёт урона {vragi3Objects[i80].ill1_active=0;} if( ( ( ( py<vragi3Objects[i80].ill2_y+200&&py>vragi3Objects[i80].ill2_y+105&&px<=vragi3Objects[i80].ill2_x&&px>vragi3Objects[i80].ill2_x-600*lag)|| ( p1d1y<vragi3Objects[i80].ill2_y+200&&p1d1y>vragi3Objects[i80].ill2_y+105&&p1d1x<=vragi3Objects[i80].ill2_x&&p1d1x>vragi3Objects[i80].ill2_x-600*lag)|| ( p1d2y<vragi3Objects[i80].ill2_y+200&&p1d2y>vragi3Objects[i80].ill2_y+105&&p1d2x<=vragi3Objects[i80].ill2_x&&p1d2x>vragi3Objects[i80].ill2_x-600*lag)|| ( p1d3y<vragi3Objects[i80].ill2_y+200&&p1d3y>vragi3Objects[i80].ill2_y+105&&p1d3x<=vragi3Objects[i80].ill2_x&&p1d3x>vragi3Objects[i80].ill2_x-600*lag)|| ( p1d4y<vragi3Objects[i80].ill2_y+200&&p1d4y>vragi3Objects[i80].ill2_y+105&&p1d4x<=vragi3Objects[i80].ill2_x&&p1d4x>vragi3Objects[i80].ill2_x-600*lag))&& aktivatorp==1&&x-55>vragi3Objects[i80].ill2_x&&vragi3Objects[i80].ubit!=1)|| ( ( ( p2y<vragi3Objects[i80].ill2_y+200&&p2y>vragi3Objects[i80].ill2_y+105&&p2x<=vragi3Objects[i80].ill2_x&&p2x>vragi3Objects[i80].ill2_x-600*lag)|| ( p2d1y<vragi3Objects[i80].ill2_y+200&&p2d1y>vragi3Objects[i80].ill2_y+105&&p2d1x<=vragi3Objects[i80].ill2_x&&p2d1x>vragi3Objects[i80].ill2_x-600*lag)|| ( p2d2y<vragi3Objects[i80].ill2_y+200&&p2d2y>vragi3Objects[i80].ill2_y+105&&p2d2x<=vragi3Objects[i80].ill2_x&&p2d2x>vragi3Objects[i80].ill2_x-600*lag)|| ( p2d3y<vragi3Objects[i80].ill2_y+200&&p2d3y>vragi3Objects[i80].ill2_y+105&&p2d3x<=vragi3Objects[i80].ill2_x&&p2d3x>vragi3Objects[i80].ill2_x-600*lag)|| ( p2d4y<vragi3Objects[i80].ill2_y+200&&p2d4y>vragi3Objects[i80].ill2_y+105&&p2d4x<=vragi3Objects[i80].ill2_x&&p2d4x>vragi3Objects[i80].ill2_x-600*lag))&& aktivatorp2==1&&x2-55>vragi3Objects[i80].ill2_x&&vragi3Objects[i80].ubit!=1))//просчёт урона
Все мы гавнокодили когда-то, но это - высшее :)
Надо сохранить и печатать в методичках.
ох, щи!
класс!!!
это шедевр говнокода!
я не мог поверить, что такое можно увидеть в работающем коде!
Мотивы автора к написанию сладко навеяли ностальгию о моих студенческих годах, когда хочется больше чем можется.
Я смутно догадываюсь теперь, кто именно должен сделать игру про Гнума...
;-)
Тема в архиве.