@Override
    public void run() {
        while (vivo) {
            try {
               sleep((long) (Math.random() * 300));
            } catch (InterruptedException ex) {

            }
            Position posaux = new Position(-1, -1);
            while (false == campo.moveItem(this, pos, posaux)) {
                int rmd = (int) (Math.random() * 4);
                if (rmd == 0) {
                    posaux = new Position(pos.getX(), pos.getY() + 1);
                }
                if (rmd == 1) {
                    posaux = new Position(pos.getX() + 1, pos.getY());
                }
                if (rmd == 2) {
                    posaux = new Position(pos.getX(), pos.getY() - 1);
                }
                if (rmd == 3) {
                    posaux = new Position(pos.getX() - 1, pos.getY());
                }
            }
        }
    }