Java课程设计报告—蜘蛛纸牌(共19页).doc
《Java课程设计报告—蜘蛛纸牌(共19页).doc》由会员分享,可在线阅读,更多相关《Java课程设计报告—蜘蛛纸牌(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上面向对象程序设计课程设计报告JAVA程序设计课程设计 之 蜘蛛纸牌学院:年级:班级:指导老师: 小组成员: 时间:课程设计题目JAVA课程设计蜘蛛纸牌学院计算机学院专业网络工程 年级2009已知参数和设计要求:蜘蛛纸牌的主要功能模块包括:a、游戏界面的布局以及纸牌的设定;b、能够设定不同等级以实现游戏难易度的不同;c、实现游戏主功能;d、实现帮助功能;e、实现退出功能。要求以小组为单位,用JAVA实现蜘蛛纸牌的主要功能模块;可以根据自己对蜘蛛纸牌游戏的理解,对实现的内容进行扩展最后需要提供的材料包括课程设计报告1份,程序拷贝1份(包括源代码和可执行程序)。学生应完成的
2、工作:根据JAVA程序设计的思想和编程技术,设计实现蜘蛛纸牌游戏。上机调试并能正确运行,并提交完整的设计报告和软件程序拷贝。目前资料收集情况(含指定参考资料):Java程序设计,朱庆生,古平等著,清华大学出版社,2011,1Java编程,王伟平等著,清华大学出版社,2010,5Java课程设计案例精编黄晓东编著,中国水利水电出版社出版Java程序设计实用教程张永常主编,电子工业出版社出版课程设计时间为一周,从15周星期一开始(2011年12月12日),到15周星期五结束(2011年12月16日)。课程设计以组为单位进行。每组34个人。星期一进行蜘蛛纸牌游戏的内容和规则设计。星期二查找资料解决具
3、体的技术问题。星期三用JAVA语言实现程序。星期四精星课堂演示程序以及完成课程设计报告。星期五提交程序和课程设计报告。本组由组成任务下达日期 年 月 日完成日期 年 月 日指导教师 (签名)学 生 (签名) 目录专心-专注-专业第一章 课程设计要求题目名称:蜘蛛纸牌游戏题目类型:设计型课程设计目的:学会综合运用已学的JAVA知识,用面向对象的技术实现一个小型的应用程序。实验原理:面向对象程序分析与设计、类的灵活运用、继承技术、多态技术、异常处理、GUI程序设计等。实验内容:参照windows游戏蜘蛛纸牌,自己编写设计实现其功能,它具有如下一些功能:(1)设计一个游戏界面,包括玩牌区、发牌区和回
4、收区。(2)纸牌以及其背景的设定。(3)移动纸牌。使用鼠标将较小的纸牌拖放到较大的纸牌下方,可以拖动一组纸牌,当要求这组纸牌是同一个花色,并且这一组纸牌从上到下是从大到小排列的,且不间断。(4)回收纸牌。当某列出现同一花色,从上到下依次是从K到A的不间组合时,这组纸牌将被回收到回收区中。(5)发牌。用鼠标单击发牌区,若发牌区还有剩余的纸牌,则将发出一叠纸牌共10张,依次添加到玩牌区的10列纸牌最下方,但要求这10列纸牌没有空白列。(6)若玩家不了解游戏规则可以点击帮助获得游戏方法。(7)级别设定。点击“游戏”菜单中选取游戏难以级别,有3种级别,分别对应初级、中级、高级。(8)退出游戏。第二章
5、设计概要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 j
6、ItemDeal = new JMenuItem(发牌);JMenuItem jItemExit = new JMenuItem(退出);JRadioButtonMenuItem jRMItemEasy = new JRadioButtonMenuItem(初级:单花色);/菜单中的可选项按钮JRadioButtonMenuItem jRMItemNormal = new JRadioButtonMenuItem(中级:双花色);JRadioButtonMenuItem jRMItemHard = new JRadioButtonMenuItem(高级:四花色);public SpiderMe
7、nuBar(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();/(用来获取JRadioButt
8、onMenuItem 的值)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(); / 发牌区的鼠标点击响应区域clickLa
9、bel.setBounds(890, 580, 110, 96); / 设置响应区域大小与坐标clickLabel.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED);pane.add(clickLabel); / 将响应区域添加到容器中this.initCards();/ 纸牌初始化this.randomCards();/ 随机分配纸牌this.setCardsLocation();/ 为纸牌设置坐标位置this.deal(); / 从右下角发出一叠纸牌。
10、游戏刚开始时,需要先发出一叠纸牌。groundLabel = new JLabel10;/ 创建背景框数组,一共有10个背景框。int x = 20;/ 背景框的x坐标,10个背景框是并排放置的,y坐标相等。第一个背景框的x坐标为20。for (int i = 0; i 10; i+) / 循环创建背景框,并设置其坐标大小等属性groundLabeli = new JLabel();/ 创建背景框groundLabeli.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.
11、RAISED);/ 为Label设置边框/ ,/ 形成背景框groundLabeli.setBounds(x, 25, 71, 96);/ 设置背景框的大小与坐标x += 101; / 相邻的背景框的x坐标差值为101。this.pane.add(groundLabeli);/ 将背景框添加到容器中this.setVisible(true);/ 显示窗口2初始化纸牌及发牌操作: 初始化纸牌的主要代码(包括所有纸牌生成及存入数组,右下角发牌区纸牌初始化以及表面显示纸牌初始化):所有纸牌的生成及存入数组代码:public void initCards() / 如果纸牌已被赋值,即将其从框架的面板中
12、移去if (cards0 != null) for (int i = 0; i 104; i+) pane.remove(cardsi);int n = 0;/ 通过难度等级,为n赋值if (this.grade = Spider.EASY) n = 1; else if (this.grade = Spider.NATURAL) n = 2; else n = 4;/ 为card赋值for (int i = 1; i = 8; i+) for (int j = 1; j = 13; j+) cards(i - 1) * 13 + j - 1 = new PKCard(i % n + 1) +
13、 - + j,this);/当n为1时,i%8的值永远是0,所以i%8+1的值永远是1,因此n为1时,创建的card的名称是1/ -1到1-13,全是黑桃。其他等级类似。 /纸牌随机分配public void randomCards() / 将纸牌的顺序打乱,否则牌号的将是从A到K的出现规律PKCard temp = null;/ 随机生成牌号for (int i = 0; i 52; i+) int a = (int) (Math.random() * 104);int b = (int) (Math.random() * 104);temp = cardsa;cardsa = cardsb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 报告 蜘蛛 纸牌 19
限制150内