Java课程设计报告—蜘蛛纸牌
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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