Забавно) но все так, или практически так) За исключением клеток.
Quote:Намного правильнее было бы, если бы "патроны" не были привязаны к конкретным "танкам", а летели сами по себе. А проверка "попал или нет" проводилась бы по координатам, а не по "целям". То бишь - проходимся по всем "танкам" и смотрим, не совпали ли их координаты с какими-либо "патронами". Если да - то взрываем все такие "патроны", ведь их может быть несколько (ну и сам танк заодно).
Они и летят сами по себе, столкновение определяется так: есть структура Rect с 4 переменными (прямоугольник)
и в каждую 0,1 сек для всех объектов создается по этому Ректу, потом все эти ректы проверяются на столкновение.
Но есть одно Но! А куда им собственно лететь? Им нужно куда то лететь! Наиболее подходящим способом я избрал создать ссылку на объект (target) и черпать из него координаты (target->yy)
Quote:- для всех игровых объектов создал бы абстрактный класс GameObject, от которого уже затем наследовал бы конкретные (танки, патроны, башни);
Присутствует
Quote:- разбил бы игровое поле на квадратные клетки (класс Cell), представляющие из себя спрайты N*N пикселей;
Ну это будет оочень условно. У меня шаг 1 пиксель, и проверка на столкновение обрабатывается чуть ли не до касания бампера танка)
В общем вот можно пощупать (или хотя бы *ехе запустить, лучше 1 раз увидеть чем 100 раз услышать)
Просто не думаю, что у кого то есть желание копаться в моем коде) Но я старался очень и очень структурировано кодить и вроде как прибирался обычно.
P.S. У меня часто вылазит ошибка вектора - но ошибку кажет в _vector.h
Quote: __stl_throw_out_of_range("vector");
Нельзя ли как нибудь настроить, чтобы узнать ГДЕ именно происходит эта неправильность???
Вот опытным путем удалось установить что ошибка в строке 196, ну или +\- 20 строк )
подпись была удалена администрацией
просьба не использовать картинки с сайта heroeslibrary.net, так как на них ругается Chrome