解决方案 »
- 在html嵌入Java applet 可以打开文件吗?急!
- 请问用timer类写好的定时触发时间可以在程序中变化吗?就是说定时的时间可以又界面来控制。
- 求J2EE的常见考试或面试笔试题目
- 成都的朋友,大家好有事请教,自己心里实在是没底,
- 为何得不到记录集合???
- 二进制怎么转换为ascii码值
- 关于qq中类似编辑个人资料里的功能实现
- RGB(R,G,B)函数原理深层次讨论,欢迎参与.
- 为什么这样写int[][]={{0},{1,1}};可以,而这样写int[][][]={{0},{1,1},{2,2,2}};不行?
- 请问Inprise Application Server 4.1是干什么用的?
- 求Think in java(2)的源代码,小弟E文实在不行,找不到~
- 一个APPLET程序的代码看不懂,求救
http://expert.csdn.net/Expert/topic/882/882672.xml?temp=.8975336
http://expert.csdn.net/Expert/topic/647/647527.xml?temp=.9388086
http://expert.csdn.net/Expert/topic/338/338010.xml?temp=.8626978
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class WUZIQI extends JFrame
{
int i=0;
Font ft=new Font("华文新魏",Font.PLAIN,15);
JButton[][]btn=new JButton[30][30];
int[][]color=new int[30][30];
boolean[][]a=new boolean[30][30];
JPanel[][]jpsz=new JPanel[30][30];
JScrollPane pane=new JScrollPane();
public WUZIQI()
{
Container con=getContentPane();
setBounds(100,50,798,628);
setTitle("五子棋");
setResizable(false);
con.setBackground(Color.orange);
JMenuBar a1=new JMenuBar();
JMenu b1=new JMenu("游戏");
JMenu b2=new JMenu("帮助");
a1.add(b1);
a1.add(b2);
JMenuItem c1=new JMenuItem("开局");
//c1.addActionListener(new LL1());
c1.addActionListener(new nnn12());
JMenuItem c2=new JMenuItem("暂停/继续");
c2.addActionListener(new mm1());
JMenuItem c3=new JMenuItem("重玩");
c3.addActionListener(new nnn12());
JMenuItem c4=new JMenuItem("撤销");
JMenuItem c5=new JMenuItem("退出");
c5.addActionListener(new tuichu());
b1.add(c1);
b1.add(c2);
b1.add(c3);
b1.add(c4);
b1.add(c5);
JMenuItem c9=new JMenuItem("帮助主题");
c9.addActionListener(new mm12());
JMenuItem c10=new JMenuItem("使用帮助");
c10.addActionListener(new mmm());
JMenuItem c11=new JMenuItem("关于五子棋");
c11.addActionListener(new mm());
b2.add(c9);
b2.add(c10);
b2.add(c11);
con.add(a1,BorderLayout.NORTH);
pane.setBounds(0,10,593,632);
con.add(pane);
JPanel jp=new JPanel();
jp.setBounds(1,31,799,590);
jp.setBackground(Color.green);
con.add(jp);
jp.setLayout(new GridLayout(22,22));
for(int i=0;i<22;i++)
{
for(int j=0;j<22;j++)
{
jpsz[j]=new JPanel();
}
}
for(int i=0;i<22;i++)
{
for(int j=0;j<22;j++)
{
}
}
for(int i=0;i<22;i++)
{
for(int j=0;j<22;j++)
{
btn[j]=new JButton("");
color[j]=0;
}
}
for(int i=0;i<22;i++)
{
for(int j=0;j<22;j++)
{
btn[j].setSize(8,8);
btn[j].setBorder(BorderFactory. createEtchedBorder());
jp.add(btn[j]);
btn[j].setMargin(new Insets(0,0,0,0));
btn[j].addMouseListener(new mouse());
}
}
con.add(pane);
show();
}
public static void main(String[]args)
{
new WUZIQI();
}
class mouse implements MouseListener
{
int j=0;
int k=0;
int l=0;
winestimate kkk=new winestimate();
public void mouseClicked(MouseEvent e)
{
((JButton)(e.getSource())).setBorder(BorderFactory.createRaisedBevelBorder());
i=i+1;if(a[k][l]==false)
{
if(j!=1)
{
if(i%2==0)
{
i=2;
((JButton)(e.getSource())).setBackground(Color.white); j=1;
a[k][l]=true;
color[k][l]=-1;
kkk.ads();
kkk.asd();
kkk.xiexiang();
}
else
{
i=1;
((JButton)(e.getSource())).setBackground(Color.black);
j=1;
a[k][l]=true;
color[k][l]=1;
kkk.asd();
kkk.ads();
kkk.xiexiang();
}
}}
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mousePressed(MouseEvent e)
{
for(int m=0;m<22;m++)
{
for(int n=0;n<22;n++)
{
if((e.getSource())==btn[m][n])
{
k=m;
l=n;
}
}
}
}
public void mouseReleased(MouseEvent e)
{
}
}
class winestimate
{
public winestimate()
{
}
public void xiexiang()
{
for(int k=0;k<=17;k++)
{
for(int i=0;i<=17;i++)
{
int w=color[k]+color[k+1][i+1]+color[k+2][i+2]+color[k+3][i+3]+color[k+4][i+4];
if(w>=5)
{
JOptionPane. showMessageDialog(null, "黑方获胜!");
w=0;
break;
}
else if(w<=-5)
{
JOptionPane. showMessageDialog(null, "白方获胜!");
w=0;
break;
}
w=0;
int o=i;
int p=k+5;
int q=color[o][p]+color[o+1][p-1]+color[o+2][p-2]+color[o+3][p-3]+color[o+4][p-4];
if(q>=5)
{
JOptionPane. showMessageDialog(null, "黑方获胜!");
q=0;
break;
}
else if(q<=-5)
{
JOptionPane. showMessageDialog(null, "白方获胜!");
q=0;
break;
}
q=0;
}
}
}
public void asd()
{
int m=0;
int n=0;
for(int k=0;k<=17;k++)
{
for(int i=0;i<=17;i++)
{
for(int j=i;j<=i+5;j++)
{ if(color[k][j]==1)
{
m++;
if(m>=5)
{
JOptionPane. showMessageDialog(null, "黑方获胜!");
m=0;
break;
}
}
else if(color[k][j]==-1)
{
n++;
if(n>=5)
{
JOptionPane. showMessageDialog(null, "白方获胜!");
n=0;
break;
} }
}
m=0;
n=0;}
}
}
{
int n=0;
int m=0;
for(int k=0;k<=17;k++)
{
for(int i=0;i<=17;i++)
{
for(int j=i;j<=i+5;j++)
{ if(color[j][k]==-1)
{
n++;
if(n>=5)
{ JOptionPane. showMessageDialog(null, "白方获胜!");
n=0;
break;
}
}
else if(color[j][k]==1)
{
m++;
if(m>=5)
{
JOptionPane. showMessageDialog(null, "黑方获胜!");
m=0;
break;
}
}
}
m=0;
n=0;}
}
}
}
}
class myact implements ActionListener
{
int z=0;
public void actionPerformed(ActionEvent e)
{
z++;
if(z%2==1)
{
((JButton)(e.getSource())).setBackground(Color.white);
}
else
{
((JButton)(e.getSource())).setBackground(Color.black);
}
((JButton)(e.getSource())).setEnabled(false);
}
}
class ss implements ActionListener//------------------------------------声音事件
{
public void actionPerformed(ActionEvent ae)
{
Toolkit.getDefaultToolkit().beep();
}
}
class mmm implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
new FF();
}
}
class FF extends JFrame//--------------------------------------------------目录子窗体
{
JButton j=new JButton("确定");
public FF()
{
Container con1=getContentPane();
con1.setLayout(null);
setTitle("目录");
setBounds(310,310,400,250);
setResizable(false);
j.setBounds(160,180,70,30);
JLabel a8=new JLabel(" 苯!五子棋还不会下!");
a8.setFont(new Font("宋体",Font.BOLD+Font.ITALIC, 24));
a8.setBounds(60,30,270,80);
con1.add(j);
con1.add(a8);
j.addActionListener(new nnn());
show();
}
class nnn implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
hide();
}
}
}
class tuichu implements ActionListener//---------------------------------退出事件
{
public void actionPerformed(ActionEvent ae)
{
System.exit(0);
}
}
class mm1 implements ActionListener//------------------------------------菜单开始事件
{
int k=3;
public void actionPerformed(ActionEvent e)
{
k++;
if(k%2==1)
{
((JButton)(e.getSource())).setEnabled(true);
}
else
{
((JButton)(e.getSource())).setEnabled(false);
}
}
}
class nnn12 implements ActionListener//-----------------------------------菜单重玩事件
{
public void actionPerformed(ActionEvent ae)
{new WUZIQI();
}
}
class mm12 implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
new FF3();
}
}
class FF3 extends JFrame//--------------------------------------------------使用帮助子窗体
{
JButton j=new JButton("确定");
public FF3()
{
Container con2=getContentPane();
con2.setLayout(null);
setTitle("使用帮助");
setBounds(310,310,400,250);
setResizable(false);
j.setBounds(160,180,70,30);
JLabel QQ=new JLabel("只要五颗相同的按钮");
JLabel WW=new JLabel(" 组成一排就胜利!");
QQ.setFont(new Font("宋体",Font.BOLD+Font.ITALIC, 24));
WW.setFont(new Font("宋体",Font.BOLD+Font.ITALIC, 24));
QQ.setBounds(60,30,270,80);
WW.setBounds(60,60,270,80);
con2.add(j);
con2.add(QQ);
con2.add(WW);
j.addActionListener(new LL1());
show();
}//------------------------------------------------------------------------class LL1 implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
hide();
}
}
}
class mm implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
new FF1();
}
}class FF1 extends JFrame//--------------------------------------------------关于五子棋子窗体
{
JButton j=new JButton("确定");
public FF1()
{
Container con1=getContentPane();
con1.setLayout(null);
setTitle("关于五子棋");
setBounds(310,310,400,250);
setResizable(false);
j.setBounds(160,180,70,30);
JLabel a8=new JLabel("五子棋1.0版本由longlonger");
JLabel a9=new JLabel(" 模仿开发!");
a8.setFont(new Font("宋体",Font.BOLD+Font.ITALIC, 24));
a9.setFont(new Font("宋体",Font.BOLD+Font.ITALIC, 24));
a8.setBounds(60,30,270,80);
a9.setBounds(60,60,270,80);
con1.add(j);
con1.add(a8);
con1.add(a9);
j.addActionListener(new nnn1());
show();
}class nnn1 implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
hide();
}
}
}