ラットjava
//簡単な画像処理技術
すべての画像の接続:http://yunpan.cn/cQyWXfIhIUDqX (抽出コード:2 db 4)
import java.awt.Cursor;
import java.awt.Font;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class moleAttack extends JFrame implements ActionListener, MouseListener {
private String strDir = "./image/moleAttackImage/"; //
JLabel jlbMole, HitNumber, appearNumber, gradeNumber;//
Timer timer; //
Random random; //
int delay = 1000;
int hit = 0, apper = 0, grade = 0; // 、 、
public moleAttack() {
this.setTitle(" ");
setBack(); //
setGrade(); // 、 、
this.getContentPane().setLayout(null); // ,
//
Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk.createImage(strDir + "hammer.png");
Cursor myCursor = tk.createCustomCursor(image, new Point(10, 10), "xh");
this.setCursor(myCursor);
//
ImageIcon imageMole = new ImageIcon(strDir + "mole.png");
jlbMole = new JLabel(imageMole);
jlbMole.setSize(80, 80);
this.getContentPane().add(jlbMole);
jlbMole.setVisible(false);
this.getContentPane().addMouseListener(this);//
jlbMole.addMouseListener(this);//
//
timer = new Timer(delay, this);
timer.start();
random = new Random();
this.setLocation(200, 200);
this.setSize(438, 375);
this.setResizable(false);
this.setVisible(true);
}
//
private void setBack() {
((JPanel) (this.getContentPane())).setOpaque(false);// getContentPane()
ImageIcon bgImage = new ImageIcon(strDir + "backGround.jpg");
JLabel bgLabel = new JLabel(bgImage);
bgLabel.setBounds(0, 0, bgImage.getIconWidth(), bgImage.getIconHeight());
this.getLayeredPane().add(bgLabel, new Integer(Integer.MIN_VALUE));// ,
}
// 、 、
private void setGrade() {
//
ImageIcon imageNumber = new ImageIcon(strDir + "chuxiancishu.png");
JLabel Number = new JLabel(imageNumber);
Number.setSize(200, 50);
Number.setLocation(-30, 10);
this.getContentPane().add(Number);
//
appearNumber = new JLabel();
appearNumber.setText("" + apper);
appearNumber.setLocation(122, 10);
appearNumber.setFont(new Font(" ", Font.BOLD, 19));
appearNumber.setSize(50, 50);
this.getContentPane().add(appearNumber);
//
ImageIcon imageHitTime = new ImageIcon(strDir + "dazhongcishu.png");
JLabel HitTime = new JLabel(imageHitTime);
HitTime.setSize(200, 50);
HitTime.setLocation(105, 10);
this.getContentPane().add(HitTime);
//
HitNumber = new JLabel();
HitNumber.setText("" + hit);
HitNumber.setLocation(260, 10);
HitNumber.setFont(new Font(" ", Font.BOLD, 19));
HitNumber.setSize(50, 50);
this.getContentPane().add(HitNumber);
//
ImageIcon imageGrade = new ImageIcon(strDir + "dangqiandengji.png");
JLabel Grade = new JLabel(imageGrade);
Grade.setSize(200, 50);
Grade.setLocation(245, 10);
this.getContentPane().add(Grade);
//
gradeNumber = new JLabel();
gradeNumber.setText("" + grade);
gradeNumber.setLocation(402, 10);
gradeNumber.setFont(new Font(" ", Font.BOLD, 19));
gradeNumber.setSize(50, 50);
this.getContentPane().add(gradeNumber);
}
public static void main(String[] args) {
new moleAttack();
}
@Override
public void actionPerformed(ActionEvent e) {
appearNumber.setText("" + (++apper));// ,
// , ( )
if (apper % 10 == 0) {
gradeNumber.setText("" + (++grade));
timer.setDelay((int) (delay * 0.9));
}
//
ImageIcon imagetIconHit = new ImageIcon(strDir + "mole.png");
jlbMole.setIcon(imagetIconHit);
jlbMole.setVisible(true);
//
int r = random.nextInt(9);
switch (r + 1) {
case 1:
jlbMole.setLocation(54, 63);
break;
case 2:
jlbMole.setLocation(320, 204);
break;
case 3:
jlbMole.setLocation(180, 204);
break;
case 4:
jlbMole.setLocation(45, 203);
break;
case 5:
jlbMole.setLocation(295, 133);
break;
case 6:
jlbMole.setLocation(160, 133);
break;
case 7:
jlbMole.setLocation(20, 133);
break;
case 8:
jlbMole.setLocation(310, 63);
break;
case 9:
jlbMole.setLocation(183, 63);
break;
}
jlbMole.setVisible(true);
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
//
Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk.createImage(strDir + "hit.png");
Cursor myCursor = tk
.createCustomCursor(image, new Point(10, 10), "yyy");
this.setCursor(myCursor);
//
if (e.getSource() == jlbMole) {
//
ImageIcon imagetIconHit = new ImageIcon(strDir + "touch.png");
jlbMole.setIcon(imagetIconHit);
jlbMole.setVisible(true);
HitNumber.setText("" + (++hit));//
}
}
@Override
public void mouseReleased(MouseEvent e) {
// ,
Toolkit tk = Toolkit.getDefaultToolkit();
Image image = tk.createImage(strDir + "hammer.png");
Cursor myCursor = tk
.createCustomCursor(image, new Point(10, 10), "yyy");
this.setCursor(myCursor);
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}