Все статьи Противники и с чем их "едят"
Призраки и главный герой
Призраки представляют из себя того же главного героя. Только вот главным героем управляет пользователь, а призраками компьютер. Поэтому следует вынести их общие черты в отдельный класс Person. Тут очень помогло бы наследование от этого класса, но придётся ограничиться композицией.
var Ghost = function(x, y)
{
this.person = new Persona(x, y, GHOST_CONST);
...
var Packman = function(x, y)
{
this.person = new Persona(x, y, PACKMAN_CONST);
...
Логика движения
Логика движения призраков заключается в случайном выборе направления на каждом повороте.
this.changeDirection = function()
{
if (this._isTurn())
{
if (this.person.getDirectionY())
{
if (mathUtils.randInt(0, 1))
{
this.person.setDirectionX(LEFT_DIRECT);
}
else
{
this.person.setDirectionX(RIGHT_DIRECT);
}
this.person.setDirectionY(NONE_DIRECT);
}
else
{
this.person.setDirectionX(NONE_DIRECT);
if (mathUtils.randInt(0, 1))
{
this.person.setDirectionY(TOP_DIRECT);
}
else
{
this.person.setDirectionY(DOWN_DIRECT);
}
}
}
};
Результат: