@Override public void movePlayer(GameObjectID player, int direction) throws BozorgExceptionBase { Player p = (Player) objects.get(player.getNumber()); int w = map.getMap()[p.x][p.y].getWalls(); if (p.getHp() == 0) throw new BozorgExceptionBase(); if (direction < 0 || direction > 3) throw new BozorgExceptionBase(); if ((w >> direction) % 2 == 1) throw new BozorgExceptionBase(); if (p.getMoveTime() > 0) throw new BozorgExceptionBase(); p.setMoveTime(p.getSpeed() + p.getMoveTime()); p.setMoveDir(direction); }