rainautumn / ttytanks

10 stars 1 forks source link

Optimized performance #7

Closed DmitryHetman closed 8 years ago

DmitryHetman commented 8 years ago

A lot of old code commented.

DmitryHetman commented 8 years ago

Тут проблема в том что постоянно обновляется весь экран, так делать нельзя, надо удалить clear(); из кода, при движении танка или снаряда надо рисовать пробелы за ним. Сами танки вообще непонятно где и непонятно как устроены. Надо делать 4 отдельных скина для танков, в разных положениях и переключать их. Саму картинку надо поместить в центр экрана. Программа собирается с кучей ворнингов, надо исправить и это.

DmitryHetman commented 8 years ago

Еще проблема что танк стреляет слишком часто, он просто ленты пускает, надо исправить. еще надо исправить ввод, за один раз считывается только одна клавиша, это плохо, надо считывать клавишу направления и клавишу стрельбы отдельно, чтобы можно было стрелять не останавливаясь.

DmitryHetman commented 8 years ago

Еще программа постоянно обращалась к переменным окружения LINES COLS, ненадо постоянно их считывать, надо считать их один раз за всю программу и использовать локальные переменные.

DmitryHetman commented 8 years ago

Еще надо поправить переменные, unsigned short тормозной потому как при операциях может быть переобразование в int. Надо использовать uint_fast8_t uint_fast16_t или может быть лучше просто int. Гугли integer promotions.

DmitryHetman commented 8 years ago

Разная скорость игры в tty и эмуляторе терминала, в эмуляторе гораздо быстрее все.

rainautumn commented 8 years ago

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

rainautumn commented 8 years ago

стоп. фраги -- ансигнет шорт? не мало ли?

DmitryHetman commented 8 years ago

255 хватит, если кто-то дойдет до лимита увеличим до uint_fast16_t что эквивалентно long на amd64.