Про логическую оптимизацию ни чего не скажу, т.к. одному автору известно что он задумал, а вот про то как все это организовано могу сказать две вещи.
1. В процедуру fight передается слишком много параметров, поэтому нужно сделать новый тип при помощи оператора record, забить все параметры в этот тип, объявить переменную этого типа, и передавать в процедуру указатель на эту переменную
2. все вычисления которые можно вычислить заранее убери за тело цикла(ов), так как при каждом шаге цикла, у тебя вычисляется одно и тоже. Например:
в коде for i:=1 to 2*cos(2-3)/100/450*43 место, которое выделено нужно рассчитывать заранее, и подставлять в это место заранее вычисленное значение.
Если хотя бы по этим принципам оптимизации пойдешь, получишь видимый эффект!
|