您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > java五子棋代码实习报告
班级:姓名:学号:指导教师:实训时间:2011.9.16-2011.9.23第1页共21页目录目录-------------------------------------------------------------------------------------------------------------------1一、实习目的:----------------------------------------------------------------------------------------------------2二、实习内容:----------------------------------------------------------------------------------------------------2三、设计要求:----------------------------------------------------------------------------------------------------21.设计要求:--------------------------------------------------------------------------------------------------------22.游戏所涉及的知识点:----------------------------------------------------------------------------------------33.设计内容:---------------------------------------------------------------------------------------------------------34.流程图--------------------------------------------------------------------------------------------------------------3(1)整体流程图--------------------------------------------------------------------------------------------3(2)循环流程图--------------------------------------------------------------------------------------------4(3)具体代码-----------------------------------------------------------------------------------------------5四、相关截图:---------------------------------------------------------------------------------------------------19五、设计日志:---------------------------------------------------------------------------------------------------20六、总结:---------------------------------------------------------------------------------------------------------20七、教师评语------------------------------------------------------------------------------------------------------20第2页共21页一、实习目的:通过本次实习全面考查前面所学的知识,并运用这些知识设计java程序。培养同学的动手能力,独立分析解决问题的能力和创新精神。熟悉掌握Java语言的程序设计方法。二、实习内容:关于设计java五子棋小游戏的制作。三、设计要求:1.设计要求:(1)设计面要简洁。(2)设计功能明确。(3)熟悉JAVA开发环境,掌握JAVA程序的编译和运行;(4)掌握JAVA基本编程技术和方法;(5)了解异常处理机制。(6)说明书、流程图要清楚;(7)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式;(8)设计上交内容:设计报告一份(按格式书写);源程序文件。2.游戏所涉及的知识点:所涉及的知识点主要有:(1)、main在程序的创建(2)、Frame类的一个实例对象的应用3.设计内容:(1)、题目:五指棋游戏(2)、具体实现:!、绘制棋盘,(20—15)(30—20)(40—30)条横竖线,在直线交点处下棋子(实心圆形)。第3页共21页2、自动默认白子先行,但是可以选择先行方然后黑白交替下子,在棋盘上设定一个与棋盘格大小边长相等的正方形,初始状态,正方形的中心位于期盼的中心点,不能移出边界。3、当任何一方有五个棋子横,竖,斜连在一起时,系统自动判断赢棋,并显示黑方或白方胜。结束后,可以重新开始。4.流程图(1)整体流程图结束游戏开始玩家下子鼠标动作绘制棋子显示界面,绘制棋盘判断输赢是否重置、第4页共21页(2)循环流程图(3)具体代码packagejavaapplication20;importjava.awt.*;importjava.awt.event.*;importjava.applet.*;开始黑棋落子(默认)判断是否有棋白棋落子判断是否有棋黑棋落子无没有效果判断是否获胜无开局退出棋盘模式人人模式人机模式多种棋盘判断白方(黑方)胜...,||//||//||//||/;-._}`_//;|/`)//|//_/\_/\|//|('\'-|\`./||||有无结束第5页共21页importjavax.swing.*;publicclassVVVVV{publicstaticvoidmain(String[]args){//TODOcodeapplicationlogichereChessFramecf=newChessFrame();cf.show();}}classChessFrameextendsJFrameimplementsActionListener{privateString[]strsize={20x15,30x20,40x30};privateString[]strmode={人机对弈,人人对弈};publicstaticbooleaniscomputer=true,checkcomputer=true;privateintwidth,height;privateChessModelcm;privateMainPanelmp;publicChessFrame(){this.setTitle(五子棋游戏);//构造五子棋游戏的主窗体cm=newChessModel(1);mp=newMainPanel(cm);Containercon=this.getContentPane();con.add(mp,Center);this.setResizable(false);this.addWindowListener(newChessWindowEvent());MapSize(20,15);JMenuBarmbar=newJMenuBar();this.setJMenuBar(mbar);JMenugameMenu=newJMenu(游戏);mbar.add(makeMenu(gameMenu,newObject[]{开局,棋盘,模式,null,退出},this));/*JMenulookMenu=newJMenu(视图);mbar.add(makeMenu(lookMenu,newObject[]{Metal,Motif,Windows},this));JMenuhelpMenu=newJMenu(帮助);mbar.add(makeMenu(helpMenu,newObject[]{关于},this));*/}publicJMenumakeMenu(Objectparent,Objectitems[],Objecttarget){//构造五子棋游戏的主菜单JMenum=null;if(parentinstanceofJMenu)m=(JMenu)parent;elseif(parentinstanceofString)第6页共21页m=newJMenu((String)parent);elsereturnnull;for(inti=0;iitems.length;i++)if(items[i]==null)m.addSeparator();elseif(items[i]==棋盘){JMenujm=newJMenu(棋盘);ButtonGroupgroup=newButtonGroup();JRadioButtonMenuItemrmenu;for(intj=0;jstrsize.length;j++){rmenu=makeRadioButtonMenuItem(strsize[j],target);if(j==0)rmenu.setSelected(true);jm.add(rmenu);group.add(rmenu);}m.add(jm);}elseif(items[i]==模式){JMenujm=newJMenu(模式);ButtonGroupgroup=newButtonGroup();JRadioButtonMenuItemrmenu;for(inth=0;hstrmode.length;h++){rmenu=makeRadioButtonMenuItem(strmode[h],target);if(h==0)rmenu.setSelected(true);jm.add(rmenu);group.add(rmenu);}m.add(jm);}elsem.add(makeMenuItem(items[i],target));returnm;}publicJMenuItemmakeMenuItem(Objectitem,Objecttarget){//构造五子棋游戏的菜单项JMenuItemr=null;if(iteminstanceofString)r=newJMenuItem((String)item);elseif(iteminstanceofJMenuItem)r=(JMenuItem)item;elsereturnnull;if(targetinstanceofActionListener)r.addActionListener((ActionListener)target);第7页共21页returnr;}publicJRadioButtonMenuItemmakeRadioButtonMenuItem(//构造五子棋游戏的单选按钮式菜单项Objectitem,Objecttarget){JRadioButtonMenuItemr=null;if(iteminstanceofString)r=newJRadioButtonMenuItem((String)item);elseif(iteminstanceofJRadioButtonMenuItem)r=(JRadioButtonMenuItem)item;elsereturnnull;if(targetinstanceofActionListener)r.addActionListener((ActionListener)target);returnr;}publicvoidMapSize(i
本文标题:java五子棋代码实习报告
链接地址:https://www.777doc.com/doc-4249171 .html