123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- /*
- * 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<Pflanze> 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<Pflanze> getPflanzeninGruppe()
- {
- return pflanzen;
- }
-
- }
|