完整版Java毕业课程设计蜘蛛纸牌李娜文档格式.docx
- 文档编号:14374056
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:44
- 大小:310.95KB
完整版Java毕业课程设计蜘蛛纸牌李娜文档格式.docx
《完整版Java毕业课程设计蜘蛛纸牌李娜文档格式.docx》由会员分享,可在线阅读,更多相关《完整版Java毕业课程设计蜘蛛纸牌李娜文档格式.docx(44页珍藏版)》请在冰豆网上搜索。
(d)显示可行操作:
提示当前可行操作。
(e)简单的帮助文档:
对软件的简单介绍和编制说明。
2开发工具介绍
2.1java语言概述
java是由Sun
Microsystems公司于1995年5月推出的java程序设计语言和java平台的总称。
用java实现的浏览器显示它的魅力:
跨平台的特点使得它越来越受到许多程序员的亲睐。
java除了可以开发动态的Web页还可以开发各种系统软件。
java平台由java虚拟机和各种java应用编程接口(简称API)构成。
java应用编程接口为java提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在操作系统上安装一个java平台就可以运行任何一个java程序啦。
现在java平台已经几乎嵌入到所有的操作系统中。
这样java程序就可以只编译一次,就可以在各种系统当中运行。
2.2java语言的特点
java语言是一种简单的、面向对象的、分布式的、健壮的、安全的、与平台无关的、多线程、高性能的、动态程序设计语言。
java语言简单易学的。
java语言的语法与C语言和C++语言很接近,使得多数程序员很容易学习和使用java。
另一方面,java丢弃了C++中很少使用的,很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
特别地。
java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
平台无关性。
平台无关性是指Java能运行于不同的平台。
Java引进虚拟机
原理,并运行于虚拟机,实现不同平台的Java接口之间。
使用Java编写的程序能在世界范围内共享。
Java的数据类型与
机器无关,Java虚拟机(Java
Virtual
Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,
提供于不同平台的接口的。
安全性。
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。
Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。
Java对程序提供了安全管理器,防止程序的非法访问。
面向对象。
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。
程序员只需把主要精力用在类和接口的设计和应用上。
Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。
Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
分布式
。
Java建立在扩展TCPIP网络平台上。
库函数提供了用HTTP和FTP协议传送和接受信息的方法。
这使得程序员使用网络上的文件和使用本机文件一样容易。
健壮性。
Java致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出现的错误。
Java自己操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。
并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte
code校验等功能。
解释型。
我们知道C,C++等语言,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。
Java不像C或C++,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。
字节码是很接近机器码的文件,可以在提供了java虚拟机(JVM)的任何系统上被解释执行。
动态性。
java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C++那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。
多线程
Java是支持多线程的语言。
多线程是一种应用程序设计方法。
线程是一大进程里分出来的,小的、独立的进程,使得在一个程序里可同时执行多个小任务。
多线程带来的好处是具有更好的交互性能和实时控制性能。
但采用传统的程序设计语言(如:
CC++)实现多线程程序并非易事。
Java实现了多线程技术,提供了简便的实现多线程的方法,并拥有一组高复杂性的同步机制。
可以移植的。
这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。
java系统本身也具有很强的可移植性,java编译器是用java实现的,java运行环境是用ANSIC实现的。
3总体设计
3.1代码功能模块设计
蜘蛛纸牌游戏共由4个部分组成,分别是:
Spider.java,SpiderMenuBar.java,PKCard.java,AboutDialog.java,SpiderMenuBar.java
包含名为SpiderMenuBar的public类,其主要功能为生成蜘蛛纸牌游戏的菜单栏,实现菜单栏中各个组件的事件侦听。
主要包括3个模块:
图形用户界面的构建;
组件监听接口的实现:
显示可执行操作的线程。
PKCard.java
包含名为PKCard的public类,其主要功能为:
定义纸牌的属性,包括名称,位置等相关信息。
并通过相关方法实现纸牌的移动等。
AboutDialog.java
包含名为AboutDialog的public类,其主要功能为生成蜘蛛纸牌游戏的帮助栏。
Spider.java
包含名为Spider的public类,其主要功能为生成蜘蛛纸牌游戏的框架,实现游戏中的方法,包括:
纸牌的随机生成,位置的摆放等。
4程序流程图
5程序使用说明
5.1主要界面
以下是主菜单界面的主要代码:
JMenujNewGame=newJMenu("
游戏"
);
JMenujHelp=newJMenu("
帮助"
JMenuItemjItemAbout=newJMenuItem("
关于"
JMenuItemjItemOpen=newJMenuItem("
开始新游戏"
JMenuItemjItemDeal=newJMenuItem("
发牌"
JMenuItemjItemExit=newJMenuItem("
退出"
JRadioButtonMenuItemjRMItemEasy=newJRadioButtonMenuItem("
初级:
单花色"
菜单中的可选项按钮
JRadioButtonMenuItemjRMItemNormal=newJRadioButtonMenuItem("
中级:
双花色"
JRadioButtonMenuItemjRMItemHard=newJRadioButtonMenuItem("
高级:
四花色"
publicSpiderMenuBar(Spiderspider){
this.main=spider;
jNewGame.add(jItemOpen);
jNewGame.add(jItemDeal);
jNewGame.addSeparator();
添加划分线
jNewGame.add(jRMItemEasy);
jNewGame.add(jRMItemNormal);
jNewGame.add(jRMItemHard);
jNewGame.add(jItemExit);
ButtonGroupgroup=newButtonGroup();
(用来获取JRadioButtonMenuItem的值)
group.add(jRMItemEasy);
group.add(jRMItemNormal);
group.add(jRMItemHard);
jHelp.add(jItemAbout);
this.add(jNewGame);
this.add(jHelp);
添加到菜单栏
以下是游戏窗口界面初始化的主要代码:
pane=this.getContentPane();
获得容器
pane.setBackground(newColor(0,112,26));
设置背景颜色
clickLabel=newJLabel();
发牌区的鼠标点击响应区域
clickLabel.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();
从右下角发出一叠纸牌。
游戏刚开始时,需要先发出一叠纸牌。
groundLabel=newJLabel[10];
创建背景框数组,一共有10个背景框。
intx=20;
背景框的x坐标,10个背景框是并排放置的,y坐标相等。
第一个背景框的x坐标为20。
for(inti=0;
i<
10;
i++){循环创建背景框,并设置其坐标大小等属性
groundLabel[i]=newJLabel();
创建背景框
groundLabel[i]
.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
为Label设置边框
,
形成背景框
groundLabel[i].setBounds(x,25,71,96);
设置背景框的大小与坐标
x+=101;
相邻的背景框的x坐标差值为101。
this.pane.add(groundLab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 Java 毕业 课程设计 蜘蛛 纸牌