您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > java五子棋小游戏(含源代码)
五子棋小游戏功能模块图设计结果与分析(1)五子棋游戏的主界面,如图2所示。五子棋游戏开始游戏执棋子颜色黑子先行判断胜负游戏结束图1.功能模块图图2程序主界面(2)五子棋游戏的结束界面,如图3所示。图3游戏结束界面(3)游戏游戏栏中的各个选项,如图4所示。图4Game栏中的选项(4)视图设置栏中的各个选项,如图5所示。图5Configure栏中的各个选项(5)Help帮助栏中的选项,如图6所示。图6Help栏中的选项(6)点击Help栏中的About选项弹出的界面,如图7所示。图7About选项弹出时的界面4.设计体会通过这次课程设计,我进一步加深对基础理论的理解,扩大专业知识面,对收集资料、查阅文献、方案制定等实践方面得到了很好的锻练,促进对所学知识应用能力的提高。同时我渐渐的复习了Java使用方法和编程语法,之后的编程过程也相对得心应手,基本完成了预期计划的要求。在此感谢我的指导老师—冯云老师,她在课题的研究上不遗余力的给予指导。她严谨的治学态度深深的影响了我,使我受益匪浅!5.参考文献[1]耿祥义.JAVA大学实用教程.北京:电子工业出版社.2005.3:85-113[2]朱战立,沈伟.Java程序设计实用指南.北京:电子工业出版社,2005.1:48-135[3]唐大仕.Java程序设计[M].北京:北方交通大学出版社:2007.05:56-92[4]叶核亚.JAVA2程序设计实用教程[M].北京:电子工业出版社;2008.4:64-98[5]邢素萍.JAVA办公自动化项目方案精解[M].北京:航空工业出版社,2006.9:35-120附录//Java编程:五子棋游戏源代码importjava.awt.*;importjava.awt.event.*;importjava.applet.*;importjavax.swing.*;importjava.io.PrintStream;importjavax.swing.JComponent;importjavax.swing.JPanel;/**main方法创建了ChessFrame类的一个实例对象(cf),*并启动屏幕显示显示该实例对象。**/publicclassFiveChessAppletDemo{publicstaticvoidmain(Stringargs[]){ChessFramecf=newChessFrame();cf.show();}}/**类ChessFrame主要功能是创建五子棋游戏主窗体和菜单**/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)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);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(intw,inth){setSize(w*20+50,h*20+100);if(this.checkcomputer)this.iscomputer=true;elsethis.iscomputer=false;mp.setModel(cm);mp.repaint();}publicbooleangetiscomputer(){returnthis.iscomputer;}publicvoidrestart(){intmodeChess=cm.getModeChess();if(modeChess=3&&modeChess=1){cm=newChessModel(modeChess);MapSize(cm.getWidth(),cm.getHeight());}else{System.out.println(\u81EA\u5B9A\u4E49);}}publicvoidactionPerformed(ActionEvente){Stringarg=e.getActionCommand();try{if(arg.equals(Windows))UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel);elseif(arg.equals(Motif))UIManager.setLookAndFeel(com.sun.java.swing.plaf.motif.MotifLookAndFeel);elseUIManager.setLookAndFeel(javax.swing.plaf.metal.MetalLookAndFeel);SwingUtilities.updateComponentTreeUI(this);}catch(Exceptionee){}if(arg.equals(20x15)){this.width=20;this.height=15;cm=newChessModel(1);MapSize(this.width,this.height);SwingUtilities.updateComponentTreeUI(this);}if(arg.equals(30x20)){this.width=30;this.height=20;cm=newChessModel(2);MapSize(this.width,this.height);SwingUtilities.updateComponentTreeUI(this);}if(arg.equals(40x30)){this.width=40;this.height=30;cm=newChessModel(3);MapSize(this.width,this.height);SwingUtilities.updateComponentTreeUI(this);}if(arg.equals(人机对弈)){this.checkcomputer=true;this.iscomputer=true;cm=newChessModel(cm.getModeChess());MapSize(cm.getWidth(),cm.getHeight());SwingUtilities.updateComponentTreeUI(this);}if(arg.equals(人人对弈)){this.checkcomputer=false;this.iscomputer=false;cm=newChessModel(cm.getModeChess());MapSize(cm.getWidth(),cm.getHeight());SwingUtilities.updateComponentTreeUI(this);}if(arg.equals(开局)){restart();}if(arg.equals(关于))JOptionP
本文标题:java五子棋小游戏(含源代码)
链接地址:https://www.777doc.com/doc-5538547 .html