アットウィキロゴ

java0909

import java.awt.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;

class game0909 extends Frame implements MouseListener{
PixelGrabber pg;
Color col;
Image img;
int w=500;
int h=500;
double size;
int red,green,blue;
int pix[]=new int[w*h];
int memor[][]=new int[h][w];
int memog[][]=new int[h][w];
int memob[][]=new int[h][w];
int girl[][]=new int[h][w];
int sx[]=new int[100];
int sy[]=new int[100];
int m,n,mx,nx;
int e,t,tt;
String s1,s2,s3,s4;

game0909(){

s1="fujiko.jpg";
catchimg(s1);

t=1;




this.addMouseListener(this);

}

public static void main(String[] args) {
game0909 f = new game0909();
f.setSize(700,700);
f.setBackground(Color.blue) ;
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){public void
windowClosing(WindowEvent e){System.exit(0);}});
}

public void paint( Graphics g ) {

g.setColor(Color.white);
g.fillRect(0,0,700,700);
mx=1;
nx=1;
for (mx=0;mx<500;mx++){
for (nx=0;nx<500;nx++){
g.setColor(new Color(memor[mx][nx],memog[mx][nx],memob[mx][nx]));
if(girl[mx][nx]<50)g.fillRect(nx,mx,1,1);
}
}

for(tt=1;tt<t+1;tt++){
g.setColor(Color.red);
g.fillRect(sx[tt],sy[tt],5,5);
}






}

void catchimg(String s){

img = createImage(w,h);
img = Toolkit.getDefaultToolkit().getImage(s);
pg = new PixelGrabber(img,0,0,w,h,pix,0,w);

try{pg.grabPixels();}catch(InterruptedException ie){}
m=0;
n=0;
for(int i=0;i<w*h;i++){
int p = pix[i];
col=new Color(pix[i]);
red=col.getRed();
green=col.getGreen();
blue=col.getBlue();
memor[m][n]=red;
memog[m][n]=green;
memob[m][n]=blue;
n=n+1;
if (n==w)m=m+1;
if (n==w)n=0;
}

}

public void mouseClicked(MouseEvent e) {
double mex,mey;
mey=e.getY() ;
mex=e.getX();
t=t+1;
sx[t]=(int)mex;
sy[t]=(int)mey;
seekgirl();
repaint();
}
 public void mousePressed(MouseEvent e) { 
      
 } 
 public void mouseReleased(MouseEvent e) { 
      
 } 
 public void mouseEntered(MouseEvent e) { 
      
 } 
 public void mouseExited(MouseEvent e) { 
      
 } 

void seekgirl(){
for (tt=1;tt<t+1;tt++){
red=memor[sy[tt]][sx[tt]];
green=memog[sy[tt]][sx[tt]];
blue=memob[sy[tt]][sx[tt]];
for (mx=0;mx<500;mx++){
for (nx=0;nx<500;nx++){
e=(memor[mx][nx]-red)*(memor[mx][nx]-red);
e=e+(memog[mx][nx]-green)*(memog[mx][nx]-green);
e=e+(memob[mx][nx]-blue)*(memob[mx][nx]-blue);
if(e<100)girl[mx][nx]=100;
}
}
}

}


}
最終更新:2011年03月05日 19:59