《java五子棋程序(源码).rtf》由会员分享,可在线阅读,更多相关《java五子棋程序(源码).rtf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一个很经典的 java 五子棋程序(源码)import java.awt.*;import java.awt.event.*;import java.applet.Applet;import java.awt.Color;publicclass enzit extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListener int color_Qizi=0;/旗子的颜色标识 0:白子 1:黑子 int intGame_Start=0;/游戏开始标志 0 未开始 1 游戏中 int int
2、Game_Body=newint1616;/设置棋盘棋子状态 0 无子 1 白子 2 黑子 Button b1=new Button(游戏开始);Button b2=new Button(重置游戏);Label lblWin=new Label();Checkbox ckbHB=new Checkbox2;CheckboxGroup ckgHB=new CheckboxGroup();publicvoid init()setLayout(null);addMouseListener(this);add(b1);b1.setBounds(330,50,80,30);b1.addActionLis
3、tener(this);add(b2);b2.setBounds(330,90,80,30);b2.addActionListener(this);ckbHB0=new Checkbox(白子先,ckgHB,false);ckbHB0.setBounds(320,20,60,30);ckbHB1=new Checkbox(黑子先,ckgHB,false);ckbHB1.setBounds(380,20,60,30);add(ckbHB0);add(ckbHB1);ckbHB0.addItemListener(this);ckbHB1.addItemListener(this);add(lblW
4、in);lblWin.setBounds(330,130,80,30);Game_start_csh();publicvoid itemStateChanged(ItemEvent e)if(ckbHB0.getState()/选择黑子先还是白子先 color_Qizi=0;else color_Qizi=1;publicvoid actionPerformed(ActionEvent e)Graphics g=getGraphics();if(e.getSource()=b1)Game_start();else Game_re();publicvoid mousePressed(MouseE
5、vent e)publicvoid mouseClicked(MouseEvent e)Graphics g=getGraphics();int x1,y1;x1=e.getX();y1=e.getY();if(e.getX()300|e.getY()300)return;if(x1%2010)x1+=20;if(y1%2010)y1+=20;x1=x1/20*20;y1=y1/20*20;set_Qizi(x1,y1);publicvoid mouseEntered(MouseEvent e)publicvoid mouseExited(MouseEvent e)publicvoid mou
6、seReleased(MouseEvent e)publicvoid mouseDragged(MouseEvent e)publicvoid mouseMoved(MouseEvent e)publicvoid paint(Graphics g)draw_qipan(g);publicvoid set_Qizi(int x,int y)/落子 if(intGame_Start=0)/判断游戏未开始 return;if(intGame_Bodyx/20y/20!=0)return;Graphics g=getGraphics();if(color_Qizi=1)/判断黑子还是白子 g.setC
7、olor(Color.black);color_Qizi=0;else g.setColor(Color.white);color_Qizi=1;g.fillOval(x-10,y-10,20,20);intGame_Bodyx/20y/20=color_Qizi+1;if(Game_win_1(x/20,y/20)/判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if(Game_win_2(x/20,y/20)/判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+
8、赢了!);intGame_Start=0;if(Game_win_3(x/20,y/20)/判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if(Game_win_4(x/20,y/20)/判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;public String Get_qizi_color(int x)if(x=0)return黑子;else return白子;publicvoid draw_qipan(Graphi
9、cs G)/画棋盘 15*15 G.setColor(Color.lightGray);G.fill3DRect(10,10,300,300,true);G.setColor(Color.black);for(int i=1;i16;i+)G.drawLine(20,20*i,300,20*i);G.drawLine(20*i,20,20*i,300);publicvoid Game_start()/游戏开始 intGame_Start=1;Game_btn_enable(false);b2.setEnabled(true);publicvoid Game_start_csh()/游戏开始初始
10、化 intGame_Start=0;Game_btn_enable(true);b2.setEnabled(false);ckbHB0.setState(true);for(int i=0;i16;i+)for(int j=0;j16;j+)intGame_Bodyj=0;lblWin.setText();publicvoid Game_re()/游戏重新开始 repaint();Game_start_csh();publicvoid Game_btn_enable(boolean e)/设置组件状态 b1.setEnabled(e);b2.setEnabled(e);ckbHB0.setEn
11、abled(e);ckbHB1.setEnabled(e);publicboolean Game_win_1(int x,int y)/判断输赢 横 int x1,y1,t=1;x1=x;y1=y;for(int i=1;i15)break;if(intGame_Bodyx1+iy1=intGame_Bodyxy)t+=1;else break;for(int i=1;i5;i+)if(x14)returntrue;else returnfalse;publicboolean Game_win_2(int x,int y)/判断输赢 竖 int x1,y1,t=1;x1=x;y1=y;for(
12、int i=1;i15)break;if(intGame_Bodyx1y1+i=intGame_Bodyxy)t+=1;else break;for(int i=1;i5;i+)if(x14)returntrue;else returnfalse;publicboolean Game_win_3(int x,int y)/判断输赢 左斜 int x1,y1,t=1;x1=x;y1=y;for(int i=1;i15)break;if(intGame_Bodyx1+iy1-i=intGame_Bodyxy)t+=1;else break;for(int i=1;i5;i+)if(x14)returntrue;else returnfalse;publicboolean Game_win_4(int x,int y)/判断输赢 左斜 int x1,y1,t=1;x1=x;y1=y;for(int i=1;i15)break;if(intGame_Bodyx1+iy1+i=intGame_Bodyxy)t+=1;else break;for(int i=1;i5;i+)if(x14)returntrue;else returnfalse;