|
•Хм... - Hruks, 03.06.2010 11:36:45 |
|
|
ладно, про эти массивы я может не разобрался. Но ИМХО такие объёмы лишнее.
Про текущего игрока: Конструкция вида mg_game.cur_plr встречается в проекте почти 500 раз!!! А ведь каждый раз это обращение к элементу. Для таких вещей нужно заводить переменную cur_plr_id и обновлять её, при загрузке и при смене игрока. Это же просто. Переменная в основном на чтение используется.
Поехали далее. Около 300 раз из тех 500 эта переменная используется в виде: mg_game.plr[mg_game.cur_plr] Такие вещи тоже можно и нужно выносить в переменную, например cur_plr. Обновлять её там же, где обновляется cur_plr_id. Тут экономия обращений будет ещё в 2 раза лучше. А код становится гораздо чище. Причём выполнить такую замену можно фактически автоматически. На чтение можно оставить возможность и короткую переменную использовать и полное обращение (если нужно). На запись делать аккуратно и лучше процедуркой: set_cur_player. Тогда внутри уже всю логику предусмотреть по синхронизации длинных и коротких переменных.
|
|
| |