private void infect() {

        for (int i = 0; i < Integer.parseInt(Config
                .getProperty("Grid.Infected")); i++) {

            // Position x
            int x = (int) (grid.getWidth() * Math.random());

            // Position y
            int y = (int) (grid.getDepth() * Math.random());

            // Infects the subject
            if (getSubject(x, y) != null) {

                switch (getSubject(x, y).toString()) {

                // Human starts healthy
                case "Human":
                    break;

                case "Chicken":
                    getSubject(x, y).setDisease(new H5N1());
                    break;

                case "Duck":
                    getSubject(x, y).setDisease(new H5N1());
                    break;

                case "Pig":
                    getSubject(x, y).setDisease(new H1N1());
                    break;

                // Empty space
                default:
                    i--;
                    break;
                }
            }
        }
    }