@Override
    public void run() {
        try {
                sleep(2000);
            } catch (InterruptedException ex) {
            }
        int direction = new Random().nextInt(4);
        Position firePosition = calculatePosition(direction);
        while (isAlive) {
            try {
                sleep(new Random().nextInt(2) * 100);
            } catch (InterruptedException ex) {
            }
            if (isDuck(firePosition) & field.shot(firePosition)) {
                acurateShots++;
                field.moveItem(this, position, firePosition);
                position = firePosition;
            }
            direction = (direction < 3) ? direction + 1 : 0;
            firePosition = calculatePosition(direction);
        }
    }