?? mousetracker.java
字號:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;
import java.awt.geom.*;
import java.io.FileInputStream;
public class MouseTracker implements MouseListener {
JComponent component;
public MouseTracker(JComponent component) {
this.component = component;
}
double x = 0., y = 0.;
Graphics g;
Color color;
int i = 0;
Qizi q;
Qizi qz[] = new Qizi[225];
int count1 = 0;
int count2 = 0;
FileInputStream fileau;
AudioStream as;
public void mouseClicked(MouseEvent event) {
if (event.getButton() == event.BUTTON1) {
//if(Option.musicvalue==true){
try {
fileau=new FileInputStream("put.wav" );
as=new AudioStream(fileau);
AudioPlayer.player.start(as);
//fileau.close();
// as.close();
//as.reset();
}
catch (Exception poe) {}
//}
Judge judge = new Judge();
jinshou jsh = new jinshou();
ChangLian cl = new ChangLian();
x = event.getX();
y = event.getY();
if (x > 50 && x < 610 && y > 50 && y < 610) {
int a = (int) ((x - 30) / 40) * 40 + 30;
int b = (int) ((y - 30) / 40) * 40 + 30;
if (qp[(a - 30) / 40][(b - 30) / 40] != 1
&& qp[(a - 30) / 40][(b - 30) / 40] != -1) {
i++;
if (i % 2 == 0) {
hang = (a - 30) / 40;
lie = (b - 30) / 40;
value = -1;
qp[hang][lie] = value;
color = Color.white;
q = new Qizi(hang, lie, value, color, component);
q.put();
count1++;
Pane1.getTimer().start();
Pane2.getTimer().stop();
Pane2.getj3().setText("步數:" + count1);
qz[i] = q;
} else {
hang = (a - 30) / 40;
lie = (b - 30) / 40;
value = 1;
qp[hang][lie] = value;
color = Color.black;
q = new Qizi(hang, lie, value, color, component);
q.put();
count2++;
Pane2.getTimer().start();
Pane1.getTimer().stop();
Pane1.getj3().setText("步數:" + count2);
qz[i] = q;
}
}
//AudioPlayer.player.stop();
//System.out.println(Caidan.jshvalue);
if (Option.jinshouvalue == true&&Caidan.jshvalue==true) {
if (jsh.panduan(hang, lie, qp)
|| cl.changlian(hang, lie, qp)) {
String dia = i % 2 == 0 ? "白棋出現禁手,黑棋勝利!"
: "黑棋出現禁手,白棋勝利";
if(Option.musicvalue==true&&Caidan.muvalue==true){
try {
FileInputStream fileau=new FileInputStream("forbid.wav" );
AudioStream as=new AudioStream(fileau);
AudioPlayer.player.start(as);
}
catch (Exception e1) {}
}
JOptionPane.showMessageDialog(component, dia);
component.removeMouseListener(this);
Pane1.getTimer().stop();
Pane2.getTimer().stop();
Caidan.time.enable(true);
Caidan.forbid.enable(true);
}
}
if (judge.check(hang, lie, qp)) {
String dia = i % 2 == 0 ? "白棋勝利!" : "黑棋勝利";
if(Option.musicvalue==true&&Caidan.muvalue==true){
try {
FileInputStream fileau=new FileInputStream("win.wav" );
AudioStream as=new AudioStream(fileau);
AudioPlayer.player.start(as);
}
catch (Exception e1) {}
}
JOptionPane.showMessageDialog(component, dia);
component.removeMouseListener(this);
Pane1.getTimer().stop();
Pane2.getTimer().stop();
Caidan.time.enable(true);
Caidan.forbid.enable(true);
}
}
}
}
public void mousePressed(MouseEvent arg0) {
}
public void mouseReleased(MouseEvent arg0) {
}
public void mouseEntered(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mouseDragged(MouseEvent arg0) {
}
public void mouseMoved(MouseEvent e) {
/*
* x = e.getX(); y = e.getY(); hang=(int)((x-30)/40);
* lie=(int)((y-30)/40);
*
* System.out.println(hang+" "+lie);
*
* int a=hang*40+50; int b=lie+40+50;
*
* System.out.println(a+" "+b);
*
* g = component.getGraphics(); g.setColor(color.RED);
*
* g.drawLine(a-20,b-20,a-10,b-20); g.drawLine(a-20,b-20,a-20,b-10);
*
* g.drawLine(a+20,b-20,a+10,b-20); g.drawLine(a+20,b-20,a+20,b-10);
*
* g.drawLine(a-20,b+20,a-20,b+10); g.drawLine(a-20,b+20,a-10,b+20);
*
* g.drawLine(a+20,b+20,a+10,b+20); g.drawLine(a+20,b+20,a+20,b+10);
*/
}
static final int bianChang = 15;
static int qp[][] = new int[bianChang][bianChang];
int hang;
int lie;
int value;
public int gethang() {
return hang;
}
public int getlie() {
return lie;
}
public int getvalue() {
return value;
}
public Color getColor() {
return color;
}
public static int[][] getqp() {
return qp;
}
public Qizi[] getQizi() {
return qz;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -