diff --git a/DefenderDices.java b/DefenderDices.java index d4fd927..a13634f 100644 --- a/DefenderDices.java +++ b/DefenderDices.java @@ -5,12 +5,12 @@ import java.util.Arrays; // (World, Actor, GreenfootImage, Greenfoot and Mouse Erstellt eine gegebene Anzahl an DefenderDice's, welche dann nebeneinander eingereiht werden. @author Felix Stupp - @version 14.06.2016 + @version 15.06.2016 */ public class DefenderDices extends DicesList { public DefenderDices(int count) { - genDices(count, 2, new Color(0,0,0), (new Color(255,255,255)); + super(count, 2, new Color(0,0,0), (new Color(255,255,255)); } } diff --git a/DicesList.java b/DicesList.java index cb0fdfa..934a74d 100644 --- a/DicesList.java +++ b/DicesList.java @@ -1,23 +1,18 @@ import greenfoot.*; -import java.awt.Color; -import java.util.Arrays; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** Erstellt eine gegebene Anzahl an Dices's, welche dann nebeneinander eingereiht werden. @author Felix Stupp - @version 14.06.2016 + @version 15.06.2016 */ public abstract class DicesList extends Actor { private final static int SQUARESIZE = 100; // Anpassbar private Dice[] dices; - public DicesList() { + public DicesList(int count, int max, java.awt.Color bC, java.awt.Color fC) { setImage(new GreenfootImage(2,2)); - } - - protected void genDices(int count, int max, Color bC, Color fC) { if(count < 1) { count = 1; } else if (count > max) { @@ -30,11 +25,11 @@ public abstract class DicesList extends Actor { d.setSizeAsSquare(SQUARESIZE); dices[i] = d; } - } + } protected void addedToWorld(World w) { for(int i = 0; i < dices.length; i++) { - w.addObject(dices[i],w.getX()+(SQUARESIZE*(6/5)*i),w.getY()); + w.addObject(dices[i],getX()+(SQUARESIZE*(6/5)*i),getY()); } //w.removeObject(this); // Zeile auskommentieren, wenn die Debug-Phase vorbei ist. } @@ -44,7 +39,7 @@ public abstract class DicesList extends Actor { for(int i = 0; i < dices.length; i++) { n[i] = dices[i].getNumber(); } - Arrays.sort(n); + Utils.sortDesc(n); return n; } @@ -53,8 +48,16 @@ public abstract class DicesList extends Actor { for(int i = 0; i < dices.length; i++) { n[i] = dices[i].roll(); } - Arrays.sort(n); + Utils.sortDesc(n); return n; } + public void removeAll() { + for(int i = 0; i < dices.length; i++) { + dices[i].getWorld().removeObject(dices[i]); + } + getWorld().removeObject(this); + dices = new Dice[0]; + } + } diff --git a/OffenderDices.java b/OffenderDices.java index e2123d5..bcc7542 100644 --- a/OffenderDices.java +++ b/OffenderDices.java @@ -5,12 +5,12 @@ import java.util.Arrays; // (World, Actor, GreenfootImage, Greenfoot and Mouse Erstellt eine gegebene Anzahl an OffenderDice's, welche dann nebeneinander eingereiht werden. @author Felix Stupp - @version 14.06.2016 + @version 15.06.2016 */ public class OffenderDices extends DicesList { public OffenderDices(int count) { - genDices(count, 3, new Color(255,0,0), (new Color(255,255,255)); + super(count, 3, new Color(255,0,0), (new Color(255,255,255)); } } diff --git a/Utils.java b/Utils.java index 5081b61..87a34cd 100644 --- a/Utils.java +++ b/Utils.java @@ -1,11 +1,12 @@ import greenfoot.*; import java.awt.Color; +import java.util.*; /** - * Diese Klasse enthält nur statische Funktionen, welche für euch als Unterstützung gedacht sind. Damit könnt ihr dann hoffentlich viele Code-Zeilen sparen. :) - * - * @author Zocker1999_NET - * @version 1 + Diese Klasse enthält nur statische Funktionen, welche für euch als Unterstützung gedacht sind. Damit könnt ihr dann hoffentlich viele Code-Zeilen sparen. :) + + @author Zocker1999_NET + @version 15.06.2016 */ public final class Utils { @@ -59,4 +60,13 @@ public final class Utils { i.fillRect(b,b,sx-(2*b),sy-(2*b)); } + /** + Sortiert ein int[]-Array absteigend. + @param a Das zu sortierende Array + */ + public static void sortDesc(int[] a) { + Arrays.sort(a); + Collection.sort(a,Collections.reverseOrder()); + } + }