воскресенье, 11 ноября 2012 г.

Рефакторинг кода. Продолжаем наводить порядок.


Я всегда так пишу программы. От частного к общему. Главная причина в том, что я заранее не знаю, куда иду. Ибо зачастую путь и есть цель. (О как!) Но многие вполне справедливо имеют право закидывать меня помидорами и сыпать не менее красивыми цитатами. (Вроде "Не зная куда идешь - придешь в никуда.") Что ж - у каждого своя голова на плечах. Но тот, кто прочитает мой блог и, возможно, будет копировать мой код - вместе со мной придет к моему рефакторингу.

Теперь ближе к делу. Есть у нас в игре пока два вида объектов. Герой и Астероид. И у них много общего. А потом появятся еще объекты, и под каждый пришлось бы писать код с нуля... если бы не рефакторинг, который мы сейчас и проведем! (Кода будет больше чем в предыдущих постах!)

пятница, 9 ноября 2012 г.

четверг, 8 ноября 2012 г.

Группа объектов. А добавим-ка астероидов.


Интересная особенность наследования:
public class Asteroids extends Entity implements GlobalConstants{ ...... };
Asteroids mAsteroids;
scene.attachChild(mAsteroids);
// метод attachChild принимает аргумент типа Entity, 
// и нет перегруженного метода, принимающего аргумент типа Asteroids!

среда, 7 ноября 2012 г.

Наводим порядочек - вынос части кода в отдельный файл.


Первое и главное, что я сделал - начал выносить код из одного файла в отдельные.
Так появился класс Hero. Пока в него попала только функция создания и движения.
Функцию движения чуток оптимизировал, чтобы при каждом проходе не создавать\убивать 4 int-переменные.