import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.Math;
public class c_disk extends Applet implements Runnable{
Thread th = null;
Image os;
Graphics og;
int dd[][] = {{1,1,1,1,1,0},
{1,1,1,1,0,0},
{1,1,1,0,1,0},
{1,1,0,1,1,0},
{1,1,1,0,0,0},
{1,1,0,1,0,0},
{1,1,0,0,1,0},
{1,0,1,0,1,0},
{1,1,0,0,0,0},
{1,0,1,0,0,0},
{1,0,0,1,0,0},
{1,0,0,0,0,0}};
Color c[] = new Color[12];
int cd,pd;
public void init(){
os = createImage(560,320);
og = os.getGraphics();
setBackground(new Color(255,255,180));
c[0] = new Color(255,0,0);
c[1] = new Color(0,255,0);
c[2] = new Color(255,255,0);
c[3] = new Color(0,0,255);
c[4] = new Color(255,0,255);
c[5] = new Color(0,255,255);
c[6] = new Color(128,0,0);
c[7] = new Color(0,128,0);
c[8] = new Color(128,128,0);
c[9] = new Color(0,0,128);
c[10] = new Color(128,0,128);
c[11] = new Color(0,128,128);
addMouseListener(
new MouseAdapter(){
public void mousePressed(MouseEvent e){
pd = (e.getX() - 320) / 80 + e.getY() / 80 * 3;
if(e.getClickCount() == 2){
cd = dd[pd][0];
for(int rt = 0;rt < 5;rt ++){
dd[pd][rt] = dd[pd][rt+1];
}
dd[pd][5] = cd;
}
repaint();
}
}
);
}
public void paint(Graphics g){
og.setColor(new Color(255,255,180));
og.fillRect(0,0,560,320);
og.setColor(Color.black);
og.fillOval(20,20,280,280);
for(int di = 0;di < 12;di ++){
og.setColor(Color.black);
og.fillOval((di%3)*80+325,(di/3)*80+5,70,70);
for(int dr = 0;dr < 6;dr ++){
if(dd[di][dr] == 1){
og.setColor(Color.red);
og.fillArc((di%3)*80+325,(di/3)*80+5,70,70,dr*60,60);
}
}
}
for(int dr = 0;dr < 6;dr ++){
cd = 0;
for(int sd = 0;sd < 12;sd ++){
cd = cd + dd[sd][dr];
}
if(cd != 0){
og.setColor(c[cd-1]);
og.fillArc(20,20,280,280,dr*60,60);
}
}
g.drawImage(os,0,0,this);
}
public void start(){
if(th == null){
th = new Thread(this);
th.start();
}
}
public void stop(){
th = null;
}
public void run(){
while(th != null){
try{
Thread.sleep(30);
}
catch (InterruptedException e){
}
}
}
public void update( Graphics g ){
paint( g ) ;
}
}
