Все, наверное, играли в "Змейку". Я задался вопросом разработки похожей системы бонусов. Нужно чтоб бонус появлялся потом герой его "съедал" и появлялся новый. Но возникла проблема. Игра использует тайловую систему, то есть есть места где "земля", а есть , где "стены" и бонусы иногда появляются в местах где стены и куда герой, разумеется, не может попасть. Привожу код:

Код AS3:
private function removeBonus(e:Event)
{
if (Amath.equal(bonus.x, grid.x,24) && Amath.equal(bonus.y,grid.y,24)) // сравнение координат бонуса и стены с определенной погрешностью
{
addBonus();
}
else
{
addChild(bonus);
}
if (inMap(bonus.x, bonus.y)){ // проверка на расположение в пределах карты
addChild(bonus);
}else
addBonus()
}
public function addBonus()
{
bonus = new Bonus_mc ;
bonus.x = Math.ceil(Math.random() * 10) * 21 + 10.5 ;
bonus.y = Math.ceil(Math.random() * 10) * 24 + 10.5 ;
bonus.gotoAndStop(1);
trace("Bonus initialized...");
}
Помогите пожалуйста.