java五子棋程序(源码).doc

上传人:asd****56 文档编号:70325266 上传时间:2023-01-19 格式:DOC 页数:14 大小:42KB
返回 下载 相关 举报
java五子棋程序(源码).doc_第1页
第1页 / 共14页
java五子棋程序(源码).doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《java五子棋程序(源码).doc》由会员分享,可在线阅读,更多相关《java五子棋程序(源码).doc(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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.

3、addActionListener(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.addItem

4、Listener(this); add(lblWin); 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 Gam

5、e_re(); publicvoid mousePressed(MouseEvent 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(MouseE

6、vent e) publicvoid mouseExited(MouseEvent e) publicvoid mouseReleased(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/2

7、0!=0) return; Graphics g=getGraphics(); if (color_Qizi=1)/判断黑子还是白子 g.setColor(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)+赢了!); intGam

8、e_Start=0; if (Game_win_2(x/20,y/20) /判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+赢了!); 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

9、; public String Get_qizi_color(int x) if (x=0) return黑子; else return白子; publicvoid draw_qipan(Graphics 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

10、_start() /游戏开始 intGame_Start=1; Game_btn_enable(false); b2.setEnabled(true); publicvoid Game_start_csh() /游戏开始初始化 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()

11、 /游戏重新开始 repaint(); Game_start_csh(); publicvoid Game_btn_enable(boolean e) /设置组件状态 b1.setEnabled(e); b2.setEnabled(e); ckbHB0.setEnabled(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)

12、 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 (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; publ

13、icboolean 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;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 休闲娱乐

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com