版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、五子棋java实现代码package wuziqi1;import java.applet.*;import java.applet.applet;import java.awt.*;import java.awt.color;import java.awt.event.*;public class wuziqi extends applet implements actionlistener,mouselistener, mousemotionlistener,itemlistener int color_qizi=0;/旗子的颜色标识 0:白子 1:黑子 int gamestart=0;/
2、游戏开始标志 0未开始 1游戏中 int gamebody=new int1616; /设置棋盘棋子状态 0 无子 1 白子 2 黑子 button b1=new button("游戏开始"); button b2=new button("重置游戏"); button b3=new button("退出游戏"); label lblwin=new label("");/状态标签 checkbox ckbhb=new checkbox2;/起始复选框 checkboxgroup ckghb=new checkboxg
3、roup();/复选框组 public void init() resize(420,360); setlayout(null); addmouselistener(this); add(b1); b1.setbounds(330,100,70,30); b1.addactionlistener(this); add(b2); b2.setbounds(330,140,70,30); b2.addactionlistener(this); add(b3); b3.setbounds(330,180,70,30); b3.addactionlistener(this); ckbhb0=new c
4、heckbox("白子先",ckghb,false); ckbhb0.setbounds(330,30,70,30); ckbhb1=new checkbox("黑子先",ckghb,false); ckbhb1.setbounds(330,60,70,30); add(ckbhb0); add(ckbhb1); ckbhb0.additemlistener(this); ckbhb1.additemlistener(this); add(lblwin); lblwin.setbounds(330,280,70,30); setbackground(co
5、lor.gray); setbounds(100,100,320,280); setvisible(true); start(); public void itemstatechanged(itemevent e) if (ckbhb0.getstate() /判断黑子先还是白子先 color_qizi=0; else color_qizi=1; public void actionperformed(actionevent e) if (e.getsource()=b1)/开始游戏 game_start(); else if(e.getsource()=b3)/退出游戏 game_stop(
6、); else/e.getsource()=b2/重新开始 game_re(); public void mouseclicked(mouseevent e) int x1,y1; x1=e.getx(); y1=e.gety(); if (e.getx()<20 | e.getx()>300 | e.gety()<20 | e.gety()>300) return; if (x1%20>10) x1+=20; if(y1%20>10) y1+=20; x1=x1/20*20; y1=y1/20*20; set_qizi(x1,y1); public voi
7、d mousepressed(mouseevent e) public void mouseentered(mouseevent e) public void mouseexited(mouseevent e) public void mousereleased(mouseevent e) public void mousedragged(mouseevent e) public void mousemoved(mouseevent e) public void paint(graphics g) qipan(g); public void set_qizi(int x,int y) /落子
8、if (gamestart=0) /判断游戏是否开始 return; if (gamebodyx/20y/20!=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); gamebodyx/20y/20=color_qizi+1; if (game_win_1(x/20,y/20) /判断输赢1 横向
9、lblwin.settext(get_qizi_color(color_qizi)+"赢了!"); gamestart=0; if (game_win_2(x/20,y/20) /判断输赢2 竖向 lblwin.settext(get_qizi_color(color_qizi)+"赢了!"); gamestart=0; if (game_win_3(x/20,y/20) /判断输赢3 左斜 lblwin.settext(get_qizi_color(color_qizi)+"赢了!"); gamestart=0; if (game_
10、win_4(x/20,y/20) /判断输赢4 右斜 lblwin.settext(get_qizi_color(color_qizi)+"赢了!"); gamestart=0; public string get_qizi_color(int x)/返回棋子颜色 if (x=0) return "黑子" else return "白子" public void qipan(graphics g) /画棋盘 15*15 g.setcolor(color.gray); g.fill3drect(10,10,300,300,true);
11、g.setcolor(color.black); for(int i=1;i<16;i+) g.drawline(20,20*i,300,20*i); g.drawline(20*i,20,20*i,300); public void game_btn_enable(boolean e) /设置组件初始状态 b1.setenabled(e); b2.setenabled(e); b3.setenabled(e); ckbhb0.setenabled(e); ckbhb1.setenabled(e); public void start() /游戏开始初始化 gamestart=0; ga
12、me_btn_enable(true); b2.setenabled(false); b3.setenabled(false); ckbhb0.setstate(true); for (int i=0;i<16 ;i+ ) for (int j=0;j<16 ;j+ ) gamebodyij=0; lblwin.settext("胜负状态"); public void game_start() /游戏开始 gamestart=1; game_btn_enable(false); b2.setenabled(true); b3.setenabled(true);
13、public void game_re() /游戏重新开始 repaint(); start(); repaint(); start(); public void game_stop()/退出游戏 new myframe(); class myframe extends frame implements actionlistener button b4,b5,b6; myframe() super("my windows"); b4=new button(""退出"将被判为"输"是否继续游戏?"); setlayo
14、ut(new flowlayout(); add(b4); b4.addactionlistener(this); setlayout(new flowlayout(); b5=new button("是"); add(b5); b5.addactionlistener(this); setlayout(new flowlayout(); b6=new button("否"); add(b6); b6.addactionlistener(this); addwindowlistener(new closewin(); setsize(220,100);
15、setvisible(true); public void actionperformed(actionevent e) if(e.getactioncommand()="关闭") dispose(); if (e.getsource()=b5) dispose(); else if(e.getsource()=b6) dispose(); lblwin.settext(get_qizi_color(color_qizi)+"赢了!"); else return; class closewin extends windowadapter public v
16、oid windowclosing(windowevent e) window w=e.getwindow(); w.dispose(); public boolean game_win_1(int x,int y) /判断输赢 横 int x1,y1,t=1; x1=x; y1=y; for (int i=1;i<5 ;i+ ) if (x1>15) break; if (gamebodyx1+iy1=gamebodyxy) t+=1; else break; for (int i=1;i<5 ;i+ ) if (x1<1) break; if(gamebodyx1-
17、iy1=gamebodyxy) t+=1; else break; if (t>4) return true; else return false; public boolean game_win_2(int x,int y) /判断输赢 竖 int x1,y1,t=1; x1=x; y1=y; for (int i=1;i<5 ;i+ ) if (x1>15) break; if (gamebodyx1y1+i=gamebodyxy) t+=1; else break; for (int i=1;i<5 ;i+ ) if (x1<1) break; if(gam
18、ebodyx1y1-i=gamebodyxy) t+=1; else break; if (t>4) return true; else return false; public boolean game_win_3(int x,int y) /判断输赢 左斜 int x1,y1,t=1; x1=x; y1=y; for (int i=1;i<5 ;i+ ) if (x1>15) break; if (gamebodyx1+iy1-i=gamebodyxy) t+=1; else break; for (int i=1;i<5 ;i+ ) if (x1<1) break; if(gamebodyx1-iy1+i=gamebodyxy) t+=1; else break; if (t>4) return true; else return false; public boolean game_win
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024双方同意离婚协议之法律咨询服务合同
- 2024年度能源设施安防监控工程项目合同
- 2024医疗器械销售代理合同
- 2024年大连智能锁产品测试与质量控制合同
- 2024年度学校教学楼照明改造合同
- 2024年卫星导航与位置服务系统合作协议
- 2024年多功能砂浆添加剂采购合同
- 2024年全球贸易合作伙伴协议
- 2024年口腔门诊部员工合同模板
- 痤疮护理课件教学课件
- GA 1800.1-2021电力系统治安反恐防范要求第1部分:电网企业
- 企业如何利用新媒体做好宣传工作课件
- 如何培养孩子的自信心课件
- 中医药膳学全套课件
- 颈脊髓损伤-汇总课件
- 齿轮故障诊断完美课课件
- 2023年中国盐业集团有限公司校园招聘笔试题库及答案解析
- 大班社会《特殊的车辆》课件
- 野生动物保护知识讲座课件
- 早教托育园招商加盟商业计划书
- 光色变奏-色彩基础知识与应用课件-高中美术人美版(2019)选修绘画
评论
0/150
提交评论