JAVA 课程设计蜘蛛纸牌报告终极修改版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉轻工大学

数学与计算机学院

Java 程序设计课程设计报告

专业:信息与计算科学

班级:信计1402

学号:**********

*名:***

指导教师:**

1 课程设计目的与要求

课程设计是在学习Java程序设计之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生

在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方

面得到锻炼:

1、能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,

并能设计出解决问题的有效算法与程序。

2、提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。

2 设计内容

2.1 蜘蛛纸牌

2.1.1 程序基本功能

蜘蛛纸牌游戏通过鼠标操作,将电脑多次分发的纸牌,按照相同的花色由大到小排列起来,直到桌面上的纸牌全都消失,即为胜利。包括如下功能:

(a)难度选择:包括简单(单色)、中级(双色)、高级(四色)。

(b)开局:任何时候可以重新开始一盘新的游戏。

(c)发牌。

(d)显示可行操作:提示当前可行操作。

(e)简单的帮助文档:对软件的简单介绍和编制说明。

2.1.2 程序设计方案和原理

蜘蛛纸牌游戏共由4个部分组成,分别是:Spider.java,SpiderMenuBar.java,PKCard.java,AboutDialog.java,SpiderMenuBar.java

包含名为SpiderMenuBa r的public类,其主要功能为生成蜘蛛纸牌游戏的菜单栏,实现菜单栏中各个组件的事件侦听。主要包括3个模块:图形用户界面的构建;组件监听接口的实现:显示可执行操作的线程。

PKCard.java。包含名为PKCard的public类,其主要功能为:定义纸牌的属性,包括名称,位置等相关信息。并通过相关方法实现纸牌的移动等。

AboutDialog.java 。包含名为AboutDialog的public类,其主要功能为生成蜘蛛纸牌游戏的帮助栏。

Spider.java 。包含名为Spider的public类,其主要功能为生成蜘蛛纸牌游戏的框架,实现游戏中的方法,包括:纸牌的随机生成,位置的摆放等。

程序流程图

2.1.3 程序的代码实现

SpiderMenuBar.java

SpiderMenuBar.java的作用是生成蜘蛛游戏的菜单,实现菜单栏中各个组件的事件倾听。其代码如下:

import javax.swing.JMenuBar;

import javax.swing.JMenu;

import javax.swing.JMenuItem;

import javax.swing.JRadioButtonMenuItem;

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 jItemPlayAgain = new JMenuItem("重新发牌");

//生成单选框

JRadioButtonMenuItem jRMItemEasy = new JRadioButtonMenuItem("简单:单一花色"); JRadioButtonMenuItem jRMItemNormal = new JRadioButtonMenuItem("中级:双花色"); JRadioButtonMenuItem jRMItemHard = new JRadioButtonMenuItem("高级:四花色");; JMenuItem jItemExit = new JMenuItem("退出");

JMenuItem jItemValid = 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);

jNewGame.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.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.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { new Show().start();

}

相关文档
最新文档