|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|