ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:255.04KB ,
资源ID:4571675      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4571675.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(五子棋JAVA语言专业课程设计方案报告.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

五子棋JAVA语言专业课程设计方案报告.doc

1、Java语言程序设计课程设计汇报学 院: 信息科学技术学院 班 级: 软件技术2班 姓 名: 王更新 学 号: 指导老师: 郭韶升 课设时间: -03-17 至-03-26 二O一四 年 三月 二十六 日目 录一、设计要求.2二、设计步骤.2 2.1程序步骤图.2 2.2程序功效分配.3三、设计正文.6 3.1创建棋盘类.6 3.2判定输赢功效实现.9 3.3测试结果.9四、心得体会.12五、参考文件.12附录 (源代码).13一、课程设计要求设计一个1515围棋棋盘,由两玩家交替进行对战,并能够实现以下功效:1.选择落子前后次序 2.重置棋盘3.刷新重新开始4.退出提醒而且要求退出者判为负,

2、但退出过程中要有提醒。以防不小心点错了。最终判定某一方是否为五子连珠。实现一个简单多用户五子棋游戏程序,包含以下两个界面(1)选择对弈桌(执黑、执白)。(2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负);二、设计步骤2.1程序步骤图2.2 程序功效分配a. 棋盘绘制public void draw_qipan(Graphics G) /画棋盘 15*15G.setColor(Color.lightGray);G.fill3DRect(10,10,300,300,true);G.setColor(Color.black);for(int i=1;i16;i+)G.drawLine(20

3、,20*i,300,20*i);G.drawLine(20*i,20,20*i,300); b. 添加按钮Button b1=new Button(开始);Button b2=new Button(重置游戏);Label lblWin=new Label( );Checkbox ckbHB=new Checkbox3;Button exist = new Button(退出); public void init()ckbHB0=new Checkbox(执白,ckgHB,false);ckbHB1=new Checkbox(执黑,ckgHB,false);ckbHB2=new Checkbox

4、(观看,ckgHB, false);c. 鼠标棋子触发事件public void 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+=10;if(y1%2010) y1+=10;x1=x1/20*20;y1=y1/20*20;set_Qizi(x1,y1);m*=(-1); d. 按钮触发事件 public void actionPerformed(ActionEve

5、nt e) Graphics g=getGraphics();if (e.getSource()=b1) Game_start();elseGame_re();if(e.getSource()=exist)Game_re();lblWin.setText(Get_qizi_color(color_Qizi)+输了!);intGame_Start=0; e. 判定落子位置及画出对应黑白棋子public void set_Qizi(int x,int y) /落子if (intGame_Start=0) /判定游戏未开始return;if (intGame_Bodyx/20y/20!=0) ret

6、urn;Graphics g=getGraphics();if (color_Qizi=1)/判定黑子还是白子g.setColor(Color.black);color_Qizi=0;elseg.setColor(Color.white);color_Qizi=1;g.fillOval(x-10,y-10,20,20);intGame_Bodyx/20y/20=color_Qizi+1;f. 判定胜败if (Game_win_1(x/20,y/20) /判定输赢1lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if

7、(Game_win_2(x/20,y/20) /判定输赢2lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if (Game_win_3(x/20,y/20) /判定输赢3lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if (Game_win_4(x/20,y/20) /判定输赢4lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0; 三、设计正文3.1创建棋盘类Pub

8、lic class WcyChess extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListenerint color_Qizi=0;/旗子颜色标识 0:白子 1:黑子int intGame_Start=0;/游戏开始标志 0未开始 1游戏中int intGame_Body=new int1616; /设置棋盘棋子状态int m=-1;Button b1=new Button(开始);Button b2=new Button(重置游戏);Label lblWin=new Label(

9、 );Checkbox ckbHB=new Checkbox3;Button exist = new Button(退出); CheckboxGroup ckgHB=new CheckboxGroup();NetchatClient chat=new NetchatClient();public void init()setLayout(null);addMouseListener(this);add(b1);b1.setBounds(330,50,80,30);b1.addActionListener(this);add(b2);b2.setBounds(330,90,80,30);b2.a

10、ddActionListener(this);ckbHB0=new Checkbox(执白,ckgHB,false);ckbHB0.setBounds(320,20,60,30);ckbHB1=new Checkbox(执黑,ckgHB,false);ckbHB1.setBounds(380,20,60,30);ckbHB2=new Checkbox(观看,ckgHB, false);add(ckbHB0);add(ckbHB1);add(ckbHB2);ckbHB0.addItemListener(this);ckbHB1.addItemListener(this);add(lblWin);

11、lblWin.setBounds(330,180,80,30);lblWin.setBackground(Color.red);lblWin.setText(胜利者!);/没有显示?ckbHB2.setBounds(440, 20,60, 30);add(exist);exist.setBounds(330,130,80,30);exist.addActionListener(this);/add(chat);chat.setBounds(20, 500, 300, 300);chat.frame();chat.setVisible(true);Game_start_csh();setSize

12、(500,600); setVisible(true);public void itemStateChanged(ItemEvent e) if (ckbHB0.getState() /选择黑子还是白子color_Qizi=0;elsecolor_Qizi=1;public void mousePressed(MouseEvent e)public void mouseClicked(MouseEvent e) Graphics g=getGraphics();int x1,y1;x1=e.getX();y1=e.getY();if (e.getX()300 | e.getY()300) re

13、turn;if (x1%2010) x1+=10;if(y1%2010) y1+=10;x1=x1/20*20;y1=y1/20*20;set_Qizi(x1,y1);m*=(-1);public void actionPerformed(ActionEvent e) Graphics g=getGraphics();if (e.getSource()=b1) Game_start();elseGame_re();if(e.getSource()=exist)Game_re();lblWin.setText(Get_qizi_color(color_Qizi)+输了!);intGame_Sta

14、rt=0;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) draw_qipan(g);3.2判定输赢功效实现if (Game_win_1(x/20,y/20) /判定输赢1lblWin.setText(Get_q

15、izi_color(color_Qizi)+赢了!);intGame_Start=0;if (Game_win_2(x/20,y/20) /判定输赢2lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if (Game_win_3(x/20,y/20) /判定输赢3lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if (Game_win_4(x/20,y/20) /判定输赢4lblWin.setText(Get_qizi_color(color

16、_Qizi)+赢了!);intGame_Start=0;3.3 测试结果a. 进入游戏界面游戏开始界面有三个选择项,用户能够选择对应角色,选择完成后点击开始进入游戏。b. 选择角色,开始下棋首先达成五个棋子连在一块赢了,并在红色区域显示谁赢了!c. 下完后,重新开始下完一盘后游戏停止,点击重新开始,界面回到初始界面,选择角色继续游戏.d.游戏中点退出,自动判输在下棋过程当中谁中途退出,即点击退出,系统自动判定谁输四、课程设计心得体会经过此次课程设计,将我本学期所学JAVA知识得到巩固和应用,在设计过程中我碰到了很到问题,不过在老师和同学们帮助和自己思索下还是很好完成了。这此课程设计还让我知道了

17、写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限资料。因为自己分析设计和程序经验不足,该系统设计和实现过程中,还有很多没有完善地方,比如用户界面设计不够美观,异常犯错处理比较差等多方面问题,这些全部有待深入完善和提升。对于文中出现不足和系统中出现问题敬请老师指导。五、参考文件1. 吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社2. 柳西玲.许斌编著.Java语言应用开发基础.北京:清华大学出版社 3丁振凡 Java 语言实用教程 :北京邮电大学出版社附录 (源代码)import .*;import java.io.*;import java

18、.applet.*;import java.awt.*;import java.awt.event.*;import java.applet.Applet;import java.awt.Color;Public class wuziqi extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListener int color_Qizi=0;/旗子颜色标识 0:白子 1:黑子 int intGame_Start=0;/游戏开始标志 0未开始 1游戏中 int intGame_Body=ne

19、w int1616; /设置棋盘棋子状态 int m=-1; Button b1=new Button(开始); Button b2=new Button(重新开始); Label lblWin=new Label( );Checkbox ckbHB=new Checkbox3;Button exist = new Button(退出); CheckboxGroup ckgHB=new CheckboxGroup();public void init()setLayout(null);addMouseListener(this);add(b1);b1.setBounds(330,50,80,3

20、0);b1.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);ckbHB2=new Checkbox(观看,ckgHB, false);add(ckbHB0);add(ckbHB1);add(ckbHB2);c

21、kbHB0.addItemListener(this);ckbHB1.addItemListener(this);add(lblWin);lblWin.setBounds(330,180,80,30);lblWin.setBackground(Color.red);lblWin.setText(胜利者!);/没有显示?ckbHB2.setBounds(440, 20,60, 30);add(exist);exist.setBounds(330,130,80,30);exist.addActionListener(this);Game_start_csh();setSize(500,600);

22、setVisible(true);public void itemStateChanged(ItemEvent e)if (ckbHB0.getState() /选择黑子还是白子color_Qizi=0;elsecolor_Qizi=1;public void mousePressed(MouseEvent e)public void 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%20

23、10)x1+=10;if(y1%2010)y1+=10;x1=x1/20*20;y1=y1/20*20;set_Qizi(x1,y1);m*=(-1)public void actionPerformed(ActionEvent e)Graphics g=getGraphics();if (e.getSource()=b1)Game_start();elseGame_re();if(e.getSource()=exist)Game_re();/color_Qizi=m;lblWin.setText(Get_qizi_color(color_Qizi)+输了!);intGame_Start=0;

24、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)draw_qipan(g);public void set_Qizi(int x,int y) /落子if (intGame_Start=0) /判定游戏未开始ret

25、urn;if (intGame_Bodyx/20y/20!=0)return;Graphics g=getGraphics();if (color_Qizi=1)/判定黑子还是白子g.setColor(Color.black);color_Qizi=0;elseg.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) /判定输赢1lblWin.setText(Get_qizi_color(color_Qi

26、zi)+赢了!);intGame_Start=0;if (Game_win_2(x/20,y/20) /判定输赢2lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if (Game_win_3(x/20,y/20) /判定输赢3lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if (Game_win_4(x/20,y/20) /判定输赢4lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGam

27、e_Start=0;public String Get_qizi_color(int x)if (x=0)return 黑子;elsereturn 白子;public void draw_qipan(Graphics G) /画棋盘 15*15G.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);public void Game

28、_start() /游戏开始intGame_Start=1;Game_btn_enable(false);b2.setEnabled(true);public void 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_Bodyij=0;lblWin.setText();public void Game_re() /重新开始游戏re

29、paint();Game_start_csh();public void Game_btn_enable(boolean e) /设置组件状态b1.setEnabled(e);b2.setEnabled(e);ckbHB0.setEnabled(e);ckbHB1.setEnabled(e);public boolean 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;elsebreak;for (in

30、t i=1;i5 ;i+ )if (x14)return true;elsereturn false;public boolean 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;elsebreak;for (int i=1;i5 ;i+ )if (x14)return true;elsereturn false;public boolean Game_win_3(int x,int y) /左斜判定输

31、赢 int x1,y1,t=1;x1=x;y1=y;for (int i=1;i15)break;if (intGame_Bodyx1+iy1-i=intGame_Bodyxy)t+=1;elsebreak;for (int i=1;i5 ;i+ )if (x14)return true;elsereturn false;public boolean 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;elsebreak;for (int i=1;i5 ;i+ )if (x14)return true;elsereturn false;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服