//?這個是源碼..需要網絡版的去我空間看
/282919088/blog/item/a080f9f8cebc1808d8f9fdd8.html
import?java.awt.BorderLayout;
import?java.awt.Color;
import?java.awt.Container;
import?java.awt.FlowLayout;
import?java.awt.Graphics;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.MouseAdapter;
import?java.awt.event.MouseEvent;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
public?class?下棋?extends?JFrame?{
int?x?=?0,?y?=?0; int?a?=?0; int?x1?=?0,?y1?=?0,?x2?=?0,?y2?=?0,?x3?=?0,?y3?=?0,?x4?=?0,?y4?=?0;; boolean?fa?=?true,?huatu?=?true,?yin?=?false; int?a1?=?0,?a2?=?0,?a3?=?0,?a4?=?0,?a5?=?0,?a6?=?0,?a7?=?0,?a8?=?0,?a9?=?0; int?s[]?=?new?int[10],?jj[]?=?new?int[10]; JButton?congxin,?huanse; JLabel?jl; public?下棋()?{ Container?c?=?getContentPane(); c.setLayout(new?FlowLayout()); congxin?=?new?JButton("重新開始紅隊先下"); c.add(congxin); huanse?=?new?JButton("重新開始藍隊先下"); c.add(huanse); jl?=?new?JLabel(); c.add(jl,?BorderLayout.SOUTH); addMouseListener(new?MouseAdapter()?{public?void?mousePressed(MouseEvent?event)?{
if?(event.isAltDown())?{
repaint();}
x?=?event.getPoint().x;
y?=?event.getPoint().y;
int?a?=?mm(x,?y);
if?(yin)?{
jl.setForeground(Color.RED); jl.setText("遊戲已結束,請重新開始?");
}
else?{
if?(s[a]?==?1)?{ jl.setForeground(Color.RED); jl.setText("此位置有棋子,請另選位置重新下棋"); }?else?{ fa?=?false; if?(a?==?1)a1?=?1;
if?(a?==?2)a2?=?1;
if?(a?==?3)a3?=?1;
if?(a?==?4)a4?=?1;
if?(a?==?5)a5?=?1;
if?(a?==?6)a6?=?1;
if?(a?==?7)a7?=?1;
if?(a?==?8)a8?=?1;
if?(a?==?9)a9?=?1;
jl.setText(""); repaint(); }}
s[a]?=?1;
}
}); congxin.addActionListener(new?ActionListener()?{public?void?actionPerformed(ActionEvent?arg0)?{
for?(int?i?=?0;?i?<?s.length;?i++)?{
s[i]?=?0; jj[i]?=?0;}
fa?=?true;
repaint();
yin?=?false;
huatu?=?true;
jl.setForeground(Color.black);
jl.setText("紅隊先下?");
}
}); huanse.addActionListener(new?ActionListener()?{public?void?actionPerformed(ActionEvent?arg0)?{
for?(int?i?=?0;?i?<?s.length;?i++)?{
s[i]?=?0; jj[i]?=?0;}
fa?=?true;
repaint();
yin?=?false;
huatu?=?false;
jl.setForeground(Color.black);
jl
.setText("藍隊先下?");}
}); setSize(500,?500); setVisible(true); } public?void?paint(Graphics?g)?{ if?(fa)?{super.paint(g);
int?x?=?100,?y?=?100,?c?=?300,?k?=?300;
for?(int?i?=?0;?i?<?300;?i?+=?100)
g.drawRect(x,?y?+?i,?c,?k?-?i);
for?(int?i?=?0;?i?<?300;?i?+=?100)
g.drawRect(x?+?i,?y,?c?-?i,?k);
}?else?{jl.setForeground(Color.black);
if?(huatu)?{
g.setColor(Color.red);
if?(a1?==?1)?{
g.drawLine(120,?120,?180,?180); g.drawLine(180,?120,?120,?180); a1?=?0; jj[1]?=?1;}
if?(a2?==?1)?{
g.drawLine(220,?120,?280,?180); g.drawLine(280,?120,?220,?180); a2?=?0; jj[2]?=?1;}
if?(a3?==?1)?{
g.drawLine(320,?120,?380,?180); g.drawLine(380,?120,?320,?180); a3?=?0; jj[3]?=?1;}
if?(a4?==?1)?{
g.drawLine(120,?220,?180,?280); g.drawLine(180,?220,?120,?280); a4?=?0; jj[4]?=?1;}
if?(a5?==?1)?{
g.drawLine(220,?220,?280,?280); g.drawLine(280,?220,?220,?280); a5?=?0; jj[5]?=?1;}
if?(a6?==?1)?{
g.drawLine(320,?220,?380,?280); g.drawLine(380,?220,?320,?280); a6?=?0; jj[6]?=?1;}
if?(a7?==?1)?{
g.drawLine(120,?320,?180,?380); g.drawLine(180,?320,?120,?380); a7?=?0; jj[7]?=?1;}
if?(a8?==?1)?{
g.drawLine(220,?320,?280,?380); g.drawLine(280,?320,?220,?380); a8?=?0; jj[8]?=?1;}
if?(a9?==?1)?{
g.drawLine(320,?320,?380,?380); g.drawLine(380,?320,?320,?380); a9?=?0; jj[9]?=?1;}
huatu?=?false;
jl
.setText("?藍隊下棋");}?else?{
g.setColor(Color.blue);
if?(a1?==?1)?{
g.drawOval(125,?125,?50,?50); a1?=?0; jj[1]?=?2;}
if?(a2?==?1)?{
g.drawOval(225,?125,?50,?50); a2?=?0; jj[2]?=?2;}
if?(a3?==?1)?{
g.drawOval(325,?125,?50,?50); a3?=?0; jj[3]?=?2;}
if?(a4?==?1)?{
g.drawOval(125,?225,?50,?50); a4?=?0; jj[4]?=?2;}
if?(a5?==?1)?{
g.drawOval(225,?225,?50,?50); a5?=?0; jj[5]?=?2;}
if?(a6?==?1)?{
g.drawOval(325,?225,?50,?50); a6?=?0; jj[6]?=?2;}
if?(a7?==?1)?{
g.drawOval(125,?325,?50,?50); a7?=?0; jj[7]?=?2;}
if?(a8?==?1)?{
g.drawOval(225,?325,?50,?50); a8?=?0; jj[8]?=?2;}
if?(a9?==?1)?{
g.drawOval(325,?325,?50,?50); a9?=?0; jj[9]?=?2;}
huatu?=?true;
jl
.setText("?紅隊下棋");}
dd();
} } public?int?mm(int?x,?int?y)?{ if?(x?>=?100?&&?x?<?200?&&?y?>=?100?&&?y?<?200)a?=?1;
else?if?(x?>=?200?&&?x?<?300?&&?y?>=?100?&&?y?<?200)a?=?2;
else?if?(x?>=?300?&&?x?<?400?&&?y?>=?100?&&?y?<?200)a?=?3;
else?if?(x?>=?100?&&?x?<?200?&&?y?>=?200?&&?y?<?300)a?=?4;
else?if?(x?>=?200?&&?x?<?300?&&?y?>=?200?&&?y?<?300)a?=?5;
else?if?(x?>=?300?&&?x?<?400?&&?y?>=?200?&&?y?<?300)a?=?6;
else?if?(x?>=?100?&&?x?<?200?&&?y?>=?300?&&?y?<?400)a?=?7;
else?if?(x?>=?200?&&?x?<?300?&&?y?>=?300?&&?y?<?400)a?=?8;
else?if?(x?>=?300?&&?x?<?400?&&?y?>=?300?&&?y?<?400)a?=?9;
elsea?=?0;
return?a; } public?void?dd()?{ if?(jj[1]?==?1?&&?jj[2]?==?1?&&?jj[3]?==?1)?{jl.setForeground(Color.RED);
jl
.setText("?紅方獲勝,連接線1,2,3");yin?=?true;
} if?(jj[4]?==?1?&&?jj[5]?==?1?&&?jj[6]?==?1)?{jl.setForeground(Color.RED);
jl
.setText("?紅方獲勝,連接線4,5,6");yin?=?true;
} if?(jj[7]?==?1?&&?jj[8]?==?1?&&?jj[9]?==?1)?{jl.setForeground(Color.RED);
jl
.setText("?紅方獲勝,連接線7,8,9");yin?=?true;
} if?(jj[1]?==?1?&&?jj[5]?==?1?&&?jj[9]?==?1)?{jl.setForeground(Color.RED);
jl
.setText("?紅方獲獲勝,連接線1,5,9");yin?=?true;
} if?(jj[3]?==?1?&&?jj[5]?==?1?&&?jj[7]?==?1)?{jl.setForeground(Color.RED);
jl
.setText("?紅方獲勝,連接線3,5,7?");yin?=?true;
} if?(jj[1]?==?1?&&?jj[4]?==?1?&&?jj[7]?==?1)?{jl.setForeground(Color.RED);
jl
.setText("?紅方獲勝,連接線1,4,7?");yin?=?true;
} if?(jj[2]?==?1?&&?jj[5]?==?1?&&?jj[8]?==?1)?{jl.setForeground(Color.RED);
jl
.setText("?紅方獲勝,連接線2,5,8");yin?=?true;
} if?(jj[3]?==?1?&&?jj[6]?==?1?&&?jj[9]?==?1)?{jl.setForeground(Color.RED);
jl
.setText("?紅方獲勝,連接線3,6,9");yin?=?true;
} if?(jj[1]?==?2?&&?jj[2]?==?2?&&?jj[3]?==?2)?{jl.setForeground(Color.RED);
jl
.setText("藍方獲勝,連接線1,2,3");yin?=?true;
} if?(jj[4]?==?2?&&?jj[5]?==?2?&&?jj[6]?==?2)?{jl.setForeground(Color.RED);
jl
.setText("藍方獲勝,連接線4,5,6");yin?=?true;
} if?(jj[7]?==?2?&&?jj[8]?==?2?&&?jj[9]?==?2)?{jl.setForeground(Color.RED);
jl
.setText("?藍方獲勝,連接線7,8,9");yin?=?true;
} if?(jj[1]?==?2?&&?jj[5]?==?2?&&?jj[9]?==?2)?{jl.setForeground(Color.RED);
jl
.setText("?藍方獲勝,連接線1,5,9");yin?=?true;
} if?(jj[3]?==?2?&&?jj[5]?==?2?&&?jj[7]?==?2)?{jl.setForeground(Color.RED);
jl
.setText("?藍方獲勝,連接線3,5,7");yin?=?true;
} if?(jj[1]?==?2?&&?jj[4]?==?2?&&?jj[7]?==?2)?{jl.setForeground(Color.RED);
jl.setText("藍方獲勝,連接線1,4,7");
yin?=?true;
} if?(jj[2]?==?2?&&?jj[5]?==?2?&&?jj[8]?==?2)?{jl.setForeground(Color.RED);
jl
.setText("?藍方獲勝,連接線2,5,8");yin?=?true;
} if?(jj[3]?==?2?&&?jj[6]?==?2?&&?jj[9]?==?2)?{jl.setForeground(Color.RED);
jl
.setText("?藍方獲勝,連接線3,6,9?");yin?=?true;
} if?(s[1]?==?1?&&?s[2]?==?1?&&?s[3]?==?1?&&?s[4]?==?1?&&?s[5]?==?1&&?s[6]?==?1?&&?s[7]?==?1?&&?s[8]?==?1?&&?s[9]?==?1)?{
jl.setForeground(Color.RED);
jl
.setText("?雙方都沒獲勝,遊戲結束");yin?=?true;
} System.out.println(jj[2]); } public?static?void?main(String[]?args)?{ 下棋?s?=?new?下棋(); s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}