《五子棋JAVA语言毕业课程设计报告.docx》由会员分享,可在线阅读,更多相关《五子棋JAVA语言毕业课程设计报告.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、五子棋JAVA语言毕业课程设计报告 (此文档为word格式,下载后您可任意编辑修改!)(Java语言程序设计)课程设计报告学院:信息科学技术学院班级:软件技术2班姓名:王更新学号:指导老师:郭韶升课设时间:至二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.棋盘的绘制publicvoiddraw_qipan(GraphicsG)画棋盘15*15G.setColor(Color.lightGray);G.fill3DRect(0,true);G.setColor(Color.black);for(inti=1;ib.添加按钮Buttonb1=newButton(开场)
3、;Buttonb2=newButton(重置游戏);LabellblWin=newLabel();CheckboxckbHB=newCheckbox3;Buttonexist=newButton(退出);publicvoidinit()ckbHB0=newCheckbox(执白,ckgHB,false);ckbHB1=newCheckbox(执黑,ckgHB,false);ckbHB2=newCheckbox(观看,ckgHB,false);c.鼠标棋子的触发事件publicvoidmouseClicked(MouseEvente)Graphicsg=getGraphics();intx1,y
4、1;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=x120*20;y1=y120*20;set_Qizi(x1,y1);m*=(-1);d.按钮的触发事件publicvoidactionPerformed(ActionEvente)Graphicsg=getGraphics();if(e.getSource()=b1)Game_start();elseGame_re();if(e.getSource()=exist)Game_re();lblWin
5、.setText(Get_qizi_color(color_Qizi)+输了!);intGame_Start=0;e.判定落子的位置及画出相应的黑白棋子publicvoidset_Qizi(intx,inty)落子if(intGame_Start=0)判定游戏未开场return;if(intGame_Bodyx20y20!=0)return;Graphicsg=getGraphics();if(color_Qizi=1)判定黑子还是白子g.setColor(Color.black);color_Qizi=0;elseg.setColor(Color.white);color_Qizi=1;g.
6、fillOval(x-10,y);intGame_Bodyx20y20=color_Qizi+1;f.判定胜负if(Game_win_1(x20,y20)判定输赢1lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if(Game_win_2(x20,y20)判定输赢2lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if(Game_win_3(x20,y20)判定输赢3lblWin.setText(Get_qizi_color(color_Qi
7、zi)+赢了!);intGame_Start=0;if(Game_win_4(x20,y20)判定输赢4lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;三、设计正文3.1创立棋盘类PublicclassWcyChessextendsAppletimplementsActionListener,MouseListener,MouseMotionListener,ItemListenerintcolor_Qizi=0;旗子的颜色标识0:白子1:黑子intintGame_Start=0;游戏开场标志0未开场1游戏中inti
8、ntGame_Body=newint1616;设置棋盘棋子状态intm=-1;Buttonb1=newButton(开场);Buttonb2=newButton(重置游戏);LabellblWin=newLabel();CheckboxckbHB=newCheckbox3;Buttonexist=newButton(退出);CheckboxGroupckgHB=newCheckboxGroup();NetchatClientchat=newNetchatClient();publicvoidinit()setLayout(null);addMouseListener(this);add(b1)
9、;b1.setBounds();b1.addActionListener(this);add(b2);b2.setBounds();b2.addActionListener(this);ckbHB0=newCheckbox(执白,ckgHB,false);ckbHB0.setBounds();ckbHB1=newCheckbox(执黑,ckgHB,false);ckbHB1.setBounds();ckbHB2=newCheckbox(观看,ckgHB,false);add(ckbHB0);add(ckbHB1);add(ckbHB2);ckbHB0.addItemListener(this)
10、;ckbHB1.addItemListener(this);add(lblWin);lblWin.setBounds(0);lblWin.setBackground(Color.red);lblWin.setText(胜利者!);没有显示?ckbHB2.setBounds(440,20,60,30);add(exist);exist.setBounds(0);exist.addActionListener(this);add(chat);chat.setBounds(20,500,300,300);chat.frame();chat.setVisible(true);Game_start_cs
11、h();setSize();setVisible(true);publicvoiditemStateChanged(ItemEvente)if(ckbHB0.getState()选择黑子还是白子color_Qizi=0;elsecolor_Qizi=1;publicvoidmousePressed(MouseEvente)publicvoidmouseClicked(MouseEvente)Graphicsg=getGraphics();intx1,y1;x1=e.getX();y1=e.getY();if(e.getX()300|e.getY()300)return;if(x1%2010)x
12、1+=10;if(y1%2010)y1+=10;x1=x120*20;y1=y120*20;set_Qizi(x1,y1);m*=(-1);publicvoidactionPerformed(ActionEvente)Graphicsg=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;publicvoidmouseEntered(M
13、ouseEvente)publicvoidmouseExited(MouseEvente)publicvoidmouseReleased(MouseEvente)publicvoidmouseDragged(MouseEvente)publicvoidmouseMoved(MouseEvente)publicvoidpaint(Graphicsg)draw_qipan(g);3.2判定输赢功能实现if(Game_win_1(x20,y20)判定输赢1lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if(Game_wi
14、n_2(x20,y20)判定输赢2lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if(Game_win_3(x20,y20)判定输赢3lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;if(Game_win_4(x20,y20)判定输赢4lblWin.setText(Get_qizi_color(color_Qizi)+赢了!);intGame_Start=0;3.3测试结果a.进入游戏界面当前位置:文档视界五子棋JAVA语言毕业课程设计报
15、告五子棋JAVA语言毕业课程设计报告当前位置:文档视界五子棋JAVA语言毕业课程设计报告五子棋JAVA语言毕业课程设计报告四、课程设计心得体会通过此次课程设计,将我本学期所学的JAVA知识得到稳固和应用,在设计的经过中我碰到了很到问题,不过在教师和同学们的帮助和本人的考虑下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。由于本人的分析设计和程序经历缺乏,该系统设计和实现经过中,还有很多没有完善的地方,比方用户界面设计不够美观,异常出错处理比拟差等多方面问题,这些都有待进一步完善和提高。对于文中出现的缺乏
16、和系统中出现的问题敬请教师指导。五、参考文献1.吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社2.柳西玲.许斌编著.Java语言应用开发基础.北京:清华大学出版社3丁振凡Java语言实用教程:北京邮电大学出版社附录源代码importimportjava.io.*;importjava.applet.*;importjava.awt.*;importjava.awt.event.*;importjava.applet.Applet;importjava.awt.Color;PublicclasswuziqiextendsAppletimplementsActionListener,M
17、ouseListener,MouseMotionListener,ItemListenerintcolor_Qizi=0;旗子的颜色标识0:白子1:黑子intintGame_Start=0;游戏开场标志0未开场1游戏中intintGame_Body=newint1616;设置棋盘棋子状态intm=-1;Buttonb1=newButton(开场);Buttonb2=newButton(重新开场);LabellblWin=newLabel();CheckboxckbHB=newCheckbox3;Buttonexist=newButton(退出);CheckboxGroupckgHB=newCheckboxGroup();publicvoidinit()setLayout(null);addMouseListener(this);add(b1);b1.setBounds();b1.addActionListener(this);add(b2);b2.setBounds();