You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Gaertner.java 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package garten.model;
  7. import garten.view.Fenster;
  8. import garten.view.FlaecheBeet;
  9. import garten.view.FlaechePflanzen;
  10. import garten.view.FlaecheWeg;
  11. import java.util.ArrayList;
  12. /**
  13. *
  14. * @author Jan
  15. */
  16. public class Gaertner
  17. {
  18. private Garten meinGarten;
  19. private Fenster fenster;
  20. private FlaecheBeet flbeet;
  21. private FlaecheWeg flweg;
  22. private FlaechePflanzen flpfl;
  23. private ArrayList<Pflanze> pflanzen;
  24. private ArrayList<Beet> beete;
  25. Pflanze1 pfl;
  26. Pflanze1 pfl2;
  27. int height;
  28. int width;
  29. int[] randomwertex;
  30. int[] randomwertey;
  31. public Gaertner(Fenster fenster, FlaecheBeet flbeet, FlaecheWeg flweg,FlaechePflanzen flpfl)
  32. {
  33. meinGarten = new Garten(flbeet,flweg,flpfl);
  34. this.fenster = fenster; //Zur späteren Steuerung Pop up usw.
  35. this.flpfl = flpfl;
  36. pflanzen = new ArrayList<>();
  37. beete = new ArrayList<>();
  38. //Initialisierung der Wege/Beete
  39. height = fenster.getHeight();
  40. width = fenster.getWidth();
  41. randomwertex = new int[4];
  42. randomwertey = new int[4];
  43. randomwertex[0] = 10;
  44. randomwertey[0] = 10;
  45. randomwertex[3] = width - 50;
  46. randomwertey[3] = height - 50;
  47. for (int i = 1; i < 3; i++) //erstelle Random Punkte für Wege + Beete
  48. {
  49. int wegendex = (int) (Math.random() * (170*i) + (200*i));
  50. int wegendey = (int) (Math.random() * (170*i) + (200*i));
  51. randomwertex[i] = wegendex;
  52. randomwertey[i] = wegendey;
  53. }
  54. for (int i = 0; i < randomwertex.length; i++) //Garten Wege hinzufügen
  55. {
  56. meinGarten.hinzufuegenWeg(randomwertex[i], randomwertey[0], randomwertex[i], randomwertey[3]);
  57. meinGarten.hinzufuegenWeg(randomwertex[0], randomwertey[i], randomwertex[3], randomwertey[i]);
  58. }
  59. for (int i = 0; i < randomwertex.length - 1; i++) //Garten Beete hinzufügen
  60. {
  61. for (int j = 0; j < randomwertey.length - 1; j++)
  62. {
  63. meinGarten.hinzufuegenBeet(randomwertex[i] + 10, randomwertey[j] + 10, randomwertex[i + 1]-randomwertex[i]-20,randomwertey[j+1] - randomwertey[j]-20);
  64. }
  65. }
  66. meinGarten.zeichneWeg();
  67. meinGarten.zeichneBeete();
  68. beete = meinGarten.getBeete();
  69. for(Beet b : beete)
  70. {
  71. Boolean bepflanzung = true;
  72. Boolean versetzt = true;
  73. int[] temp = b.getKoordinaten();
  74. int tempx = temp[0]+20;
  75. int tempy = temp[1]+40;
  76. int tempxrand = temp [2];
  77. int tempyrand = temp [3];
  78. do
  79. {
  80. System.out.println("Test");
  81. pfl = new Pflanze1(tempx,tempy,3);
  82. meinGarten.hinzufuegenPflanze(pfl);
  83. tempx = tempx +50;
  84. if(tempx > tempxrand -10)
  85. {
  86. if(versetzt)
  87. {
  88. tempx = temp[0]+40;
  89. versetzt = false;
  90. }
  91. else
  92. {
  93. tempx = temp[0]+20;
  94. versetzt = true;
  95. }
  96. tempy = tempy+60;
  97. }
  98. if(tempy > tempyrand -10)
  99. {
  100. bepflanzung = false;
  101. }
  102. }
  103. while (bepflanzung);
  104. break; //Da bei gesamten zu viel Rechenaufwand :( müssen die wirklich einzelen auswählen
  105. // gibt noch Verbesserungen beim zeichnen aber mach ich später ;)
  106. }
  107. meinGarten.zeichnePflanzen();
  108. }
  109. /*
  110. public Pflanze getPflanze(int x,int y)
  111. {
  112. return meinGarten.naechstePflanze(x,y);
  113. }*/
  114. }