JAVA-课程设计蜘蛛纸牌报告终极修改版(共33页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《JAVA-课程设计蜘蛛纸牌报告终极修改版(共33页).doc》由会员分享,可在线阅读,更多相关《JAVA-课程设计蜘蛛纸牌报告终极修改版(共33页).doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上武 汉 轻 工 大 学数学与计算机学院 Java 程序设计 课程设计报告专 业: 信息与计算科学 班 级: 信计1402 学 号: 姓 名: 徐雄飞 指导教师: 贾瑜 1 课程设计目的与要求 课程设计是在学习Java程序设计之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼:1、能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。2、提高程序设计和
2、调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。2 设计内容2.1 蜘蛛纸牌 2.1.1 程序基本功能 蜘蛛纸牌游戏通过鼠标操作,将电脑多次分发的纸牌,按照相同的花色由大到小排 列起来,直到桌面上的纸牌全都消失,即为胜利。包括如下功能: (a)难度选择:包括简单(单色)、中级(双色)、高级(四色)。 (b)开局:任何时候可以重新开始一盘新的游戏。 (c)发牌。 (d)显示可行操作:提示当前可行操作。 (e)简单的帮助文档:对软件的简单介绍和编制说明。2.1.2 程序设计方案和原理蜘蛛纸牌游戏共由4
3、个部分组成,分别是:Spider.java,SpiderMenuBar.java,PKCard.java,AboutDialog.java,SpiderMenuBar.java包含名为SpiderMenuBar的public类,其主要功能为生成蜘蛛纸牌游戏的菜单栏,实现菜单栏中各个组件的事件侦听。主要包括3个模块:图形用户界面的构建;组件监听接口的实现:显示可执行操作的线程。PKCard.java。包含名为PKCard的public类,其主要功能为:定义纸牌的属性,包括名称,位置等相关信息。并通过相关方法实现纸牌的移动等。AboutDialog.java。包含名为AboutDialog的pub
4、lic类,其主要功能为生成蜘蛛纸牌游戏的帮助栏。Spider.java。包含名为Spider的public类,其主要功能为生成蜘蛛纸牌游戏的框架,实现游戏中的方法,包括:纸牌的随机生成,位置的摆放等。程序流程图2.1.3 程序的代码实现 SpiderMenuBar.javaSpiderMenuBar.java的作用是生成蜘蛛游戏的菜单,实现菜单栏中各个组件的事件倾听。其代码如下:import javax.swing.JMenuBar;import javax.swing.JMenu;import javax.swing.JMenuItem;import javax.swing.JRadioBu
5、ttonMenuItem;import javax.swing.ButtonGroup;public class SpiderMenuBar extends JMenuBar /生成spider框架对象 Spider main = null; /生成菜单组 JMenu jNewGame = new JMenu(游戏); JMenu jHelp = new JMenu(帮助); /生成菜单项 JMenuItem jItemAbout = new JMenuItem(关于); JMenuItem jItemOpen = new JMenuItem(开局); JMenuItem jItemPlayA
6、gain = new JMenuItem(重新发牌); /生成单选框 JRadioButtonMenuItem jRMItemEasy = new JRadioButtonMenuItem(简单:单一花色); JRadioButtonMenuItem jRMItemNormal = new JRadioButtonMenuItem(中级:双花色); JRadioButtonMenuItem jRMItemHard = new JRadioButtonMenuItem(高级:四花色); JMenuItem jItemExit = new JMenuItem(退出); JMenuItem jIte
7、mValid = new JMenuItem(显示可行操作); /* *构造函数,生成JMenuBar的图形界面 */ public SpiderMenuBar(Spider spider) this.main = spider; /* *初始化“游戏”菜单栏 */ jNewGame.add(jItemOpen); jNewGame.add(jItemPlayAgain); jNewGame.add(jItemValid); jNewGame.addSeparator(); jNewGame.add(jRMItemEasy); jNewGame.add(jRMItemNormal); jNew
8、Game.add(jRMItemHard); jNewGame.addSeparator(); jNewGame.add(jItemExit); ButtonGroup group = new ButtonGroup(); group.add(jRMItemEasy); group.add(jRMItemNormal); group.add(jRMItemHard); jHelp.add(jItemAbout); this.add(jNewGame); this.add(jHelp);/为组件添加事件监听并实现 /“开局”jItemOpen.addActionListener(new java
9、.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) main.newGame(); ); /“重新发牌”jItemPlayAgain.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) if(main.getC() 60) main.deal(); ); /显示可行操作jItemValid.addActio
10、nListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) new Show().start(); ); /“退出”jItemExit.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) main.dispose(); System.exit(0); );/“简单级别”默认已选j
11、RMItemEasy.setSelected(true); /“简单级别”jRMItemEasy.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) main.setGrade(Spider.EASY); main.initCards(); main.newGame(); ); /“中级”jRMItemNormal.addActionListener(new java.awt.event.ActionListener() p
12、ublic void actionPerformed(java.awt.event.ActionEvent e) main.setGrade(Spider.NATURAL); main.initCards(); main.newGame(); ); /“高级”jRMItemHard.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) main.setGrade(Spider.HARD); main.initCards();
13、main.newGame(); );jNewGame.addMenuListener(new javax.swing.event.MenuListener() public void menuSelected(javax.swing.event.MenuEvent e) if(main.getC() 60) jItemPlayAgain.setEnabled(true); else jItemPlayAgain.setEnabled(false); public void menuDeselected(javax.swing.event.MenuEvent e) public void men
14、uCanceled(javax.swing.event.MenuEvent e) ); /“关于”jItemAbout.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) new AboutDialog(); ); /* *构造线程:显示可以执行的操作 */ class Show extends Thread public void run() main.showEnableOperator(); PKCard.javaPK
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 蜘蛛 纸牌 报告 终极 修改 33
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内