diff --git a/Dice.java b/Dice.java index f8e2342..2cf51a8 100644 --- a/Dice.java +++ b/Dice.java @@ -49,18 +49,40 @@ public class Dice extends GUI_Interface { return number; } + /** + Zeichnet auf dem gegebenen GreenfootImage ein Oval an der gegebenen Stelle multipliziert mit der einheitlichen Größe. + */ + private void fO(GreenfootImage i, int eX, int eY, int x, int y) { + i.fillOval(eX*x,eY*y,eX*2,eY*2) + } + /** Erneuert die Darstellung des Würfels. */ public void redraw() { - // einheitliche Größe X und Y - int eX = (int) Math.Round(sx/7); - int eY = (int) Math.Round(sy/7); - // Punktgröße X und Y - int pX = eX*2; - int pY = eY*2; + // einheitliche Größe X und Y (ein Vierzehntel der gesamten Breite und Höhe) + int eX = (int) Math.Round(sx/8); + int eY = (int) Math.Round(sy/8); + // Vereinfachung für die Augenzahl + int a = number; GreenfootImage i = new GreenfootImage(sx,sy); - + i.setColor(new java.awt.Color(0,0,0,0)); + i.clear(); + i.setColor(backC); + i.fillShape(0,0,sx,sy,eX/2,eY/2); + i.setColor(foreC); + if(a==1||a==3||a==5) { //Mittlerer Punkt + fO(i,eX,eY,3,3); + } else if(a>1) { //Punkte links-oben und rechts-unten + fO(i,eX,eY,1,1); + fO(i,eX,eY,5,5); + } else if(a>3) { //Punkte links-unten und rechts-oben + fO(i,eX,eY,1,5); + fO(i,eX,eY,5,1); + } else if(a>5) { //Punkte links-mitte und rechts-mitte + fO(i,eX,eY,1,3); + fO(i,eX,eY,5,3); + } + setImage(i); } - } \ No newline at end of file