import java.awt.Graphics; import java.awt.Color; public class star { int r; int R; int v; int x, y; int wait; int size; int w, h; int red, green, blue; double ra; double ra_v; /****コンストラクタ****/ public star(int w, int h){ this.w = w; this.h = h; if (w > h) R = w/2; else R = h/2; init(); } /******init()******/ void init() { r = (int)(Math.random()*R)/5; x = 0; y = 0; red = (int)(Math.random()*4); green = (int)(Math.random()*4); blue = (int)(Math.random()*4); size = (int)(Math.random()*3)+1; wait = (int)(Math.random()*10); v = (int)((Math.random()*R)/5)+size; ra = Math.PI*2*Math.random(); ra_v = (Math.PI/16)*Math.random()+Math.PI/64; } /*****paint()*******/ public void paint(Graphics off_g, int mode, Color color[][][]){ if (wait > 0){ wait--; } else { if (mode == 1) ra += ra_v; else if (mode == 2) ra -= ra_v; r += v; x = (int)(Math.cos(ra)*r) + w/2; y = (int)(Math.sin(ra)*r) + h/2; off_g.setColor(color[red][green][blue]); off_g.fillOval(x-(size/2),y-(size/2),size,size); if (r >= R) init(); } } }