private void placeNewGoodie(Point oldPosition) {
        if (oldPosition != null) {
            for (Point p : goodiePositions) {
                if (p.equals(oldPosition)) {
                    goodiePositions.remove(p);
                    break;
                }
            }
        }
        boolean posOK = false;
        int px=1;
        int py=1;
        while (!posOK) {
            posOK = true;
            px = param.random.nextInt(field.getWidth()-6)+3;
            py = param.random.nextInt(field.getHeight()-6)+3;
            if (! field.isEmpty(px,py)) {
                posOK = false;
            } else {
                for (Snake s : snakes) {
                    if (s.isAlive()) {
                        Point p = s.getHeadPosition();
                        if ((Math.abs(px-p.x)+Math.abs(py-p.y))<param.mindistance) {
                            posOK= false;
                            break;
                        }
                    }
                }
            }
        }
        Point p = new Point(px,py);
        goodiePositions.add(p);
        field.setGoodie(p);
        field.setGoodiePositions(goodiePositions);
    }