/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package garten.model; import java.util.ArrayList; /** * * @author Jan */ class Pflanzengruppe { private int alter; private int pflanzentyp; private int startlaenge; private ArrayList pflanzen; private Beet beet; Pflanze pfl; Pflanzengruppe(int pflanzentyp, int alter, int startlaenge, Beet beet) { System.out.println("Konstruktor Pflanzengruppe"); this.alter = alter; this.pflanzentyp = pflanzentyp; this.startlaenge = startlaenge; pflanzen = new ArrayList<>(); this.beet = beet; beginnebepflanzung(); } public void addPflanze(Pflanze pfl) { pflanzen.add(pfl); } public void removePflanze(Pflanze pfl) { pflanzen.remove(pfl); } public void beginnebepflanzung() { Boolean bepflanzung = true; Boolean versetzt = true; int[] temp = beet.getKoordinaten(); int tempx = temp[0] + 10; int tempy = temp[1] + 20; int tempxrand = temp[2] + temp[0]; int tempyrand = temp[3] + temp[1]; try { int deltax = (temp[2] - 40) / ((temp[2] - 40) / 40); int deltay = (temp[3] - 40) / ((temp[3] - 40) / 50); do { switch (pflanzentyp) { case 1: pfl = new Gaertner1(tempx, tempy, alter,startlaenge).pflanzen(); break; case 2: pfl = new Gaertner2(tempx, tempy, alter,startlaenge).pflanzen(); break; case 3: pfl = new Gaertner3(tempx, tempy, alter,startlaenge).pflanzen(); break; default: break; } pflanzen.add(pfl); tempx += deltax; if (tempx > tempxrand) { if (versetzt) { tempx = temp[0] + 30; versetzt = false; } else { tempx = temp[0] + 20; versetzt = true; } tempy += deltay; } if (tempy > tempyrand) { bepflanzung = false; } } while (bepflanzung); beet.setPflanzengruppeBeet(this); } catch (ArithmeticException e) { System.out.println("Beet zu klein"); } } public ArrayList getPflanzeninGruppe() { return pflanzen; } }