Java课程设计报告—蜘蛛纸牌

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

面向对象程序设计课程设计报告JA V A程序设计

课程设计

蜘蛛纸牌

学院:

年级:

班级:

指导老师:

小组成员:

时间:

目录

第一章课程设计要求 (1)

题目名称 (1)

题目类型 (1)

课程设计目的 (1)

实验原理 (1)

实验内容 (1)

第二章设计概要 (2)

2.1 功能设计 (2)

2.2 程序流程 (2)

2.3功能分析 (3)

1. 主要界面: (3)

2初始化纸牌及发牌操作: (4)

3纸牌移动放置操作: (7)

4.回收纸牌操作: (8)

5.帮助菜单功能的实现: (9)

6.退出功能的实现: (10)

第三章调试分析与测试结果 (11)

第四章设计总结 (15)

第五章参考文献 (16)

第一章课程设计要求

题目名称:蜘蛛纸牌游戏

题目类型:设计型

课程设计目的:

学会综合运用已学的JAVA知识,用面向对象的技术实现一个小型的应用程序。

实验原理:

面向对象程序分析与设计、类的灵活运用、继承技术、多态技术、异常处理、GUI程序设计等。

实验内容:

参照windows游戏蜘蛛纸牌,自己编写设计实现其功能,它具有如下一些功能:

(1)设计一个游戏界面,包括玩牌区、发牌区和回收区。

(2)纸牌以及其背景的设定。

(3)移动纸牌。使用鼠标将较小的纸牌拖放到较大的纸牌下方,可以拖动一组纸牌,当要求这组纸牌是同一个花色,并且这一组纸牌从上到下

是从大到小排列的,且不间断。

(4)回收纸牌。当某列出现同一花色,从上到下依次是从K到A的不间组合时,这组纸牌将被回收到回收区中。

(5)发牌。用鼠标单击发牌区,若发牌区还有剩余的纸牌,则将发出一叠纸牌共10张,依次添加到玩牌区的10列纸牌最下方,但要求这10列

纸牌没有空白列。

(6)若玩家不了解游戏规则可以点击帮助获得游戏方法。

(7)级别设定。点击“游戏”菜单中选取游戏难以级别,有3种级别,分别对应初级、中级、高级。

(8)退出游戏。

第二章设计概要2.1 功能设计

编写程序以实现游戏蜘蛛纸牌的功能。

1、设计游戏界面。

2、纸牌以及其背景的设定。

3、移动纸牌。

4、回收纸牌。

5、发牌。

6、若玩家不了解游戏规则可以点击帮助获得游戏方法。

7、级别设定。

8、退出游戏。

2.2 程序流程

2.3功能分析

1. 主要界面:

以下是主菜单界面的主要代码:

JMenu jNewGame = new JMenu("游戏");

JMenu jHelp = new JMenu("帮助");

JMenuItem jItemAbout = new JMenuItem("关于");

JMenuItem jItemOpen = new JMenuItem("开始新游戏");

JMenuItem jItemDeal = new JMenuItem("发牌");

JMenuItem jItemExit = new JMenuItem("退出");

JRadioButtonMenuItem jRMItemEasy = new JRadioButtonMenuItem("初级:单花色");//菜单中的可选项按钮

JRadioButtonMenuItem jRMItemNormal= new JRadioButtonMenuItem("中级:双花色");

JRadioButtonMenuItem jRMItemHard = new JRadioButtonMenuItem("高级:四花色");

public SpiderMenuBar(Spider spider) {

this.main = spider;

jNewGame.add(jItemOpen);

jNewGame.add(jItemDeal);

jNewGame.addSeparator();//添加划分线

jNewGame.add(jRMItemEasy);

jNewGame.add(jRMItemNormal);

jNewGame.add(jRMItemHard);

jNewGame.addSeparator();

jNewGame.add(jItemExit);

ButtonGroup group = new ButtonGroup();//(用来获取JRadioButtonMenuItem 的值)

group.add(jRMItemEasy);

group.add(jRMItemNormal);

group.add(jRMItemHard);

jHelp.add(jItemAbout);

this.add(jNewGame);

this.add(jHelp);//添加到菜单栏

以下是游戏窗口界面初始化的主要代码:

pane = this.getContentPane(); // 获得容器

pane.setBackground(new Color(0, 112, 26));// 设置背景颜色

clickLabel = new JLabel(); // 发牌区的鼠标点击响应区域

clickLabel.setBounds(890, 580, 110, 96); // 设置响应区域大小与坐标

clickLabel.setBorder(javax.swing.BorderFactory

相关文档
最新文档