ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:648.68KB ,
资源ID:24205880      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24205880.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java课程设计蜘蛛纸牌游戏设计课程设计报告.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java课程设计蜘蛛纸牌游戏设计课程设计报告.docx

1、java课程设计蜘蛛纸牌游戏设计课程设计报告xx面向对象程序设计课程设计报告题目:下拉列表运算器设计专业: xxxxx班级: xxx姓名: xx 指导教师:xx成绩:xxxxxx 年 x 月 xx 日计算机学院 面向对象程序设计课程设计报告1 设计内容及要求 .21.1 设计内容 .21.2 设计要求 .22 概要设计 .32.1 代码功能功能模块设计: .32.2 程序的总体设计流程图: .32.3 模块一 的详细介绍: .32.3.1 主要的类: .32.3.2 主要的变量: .42.3.3 主要的方法: .42.4 模块二的详细介绍: .52.4.1 主要的类: .52.4.2 主要的变

2、量: .52.4.3 主要的方法: .52.5 模块三的详细介绍: .62.5.1 主要类介绍: .62.5.2 主要变量: .72.5.3 主要方法: .72.6 模块四的详细介绍: .82.6.1 主要的类: .82.6.2 主要的变量: .82.6.3 主要的方法: .83 设计过程或程序代码 .93.1 需要实现的主要功能: .93.2 功能设计流程图: .103.3 主要功能的代码实现: .103.3.1 游戏菜单栏内游戏菜单及帮助菜单功能展示: .103.3.2 主界面的设计: .113.3.3 纸牌的初始化以及发牌操作 .133.3.4 纸牌的移动以及放置 .183.3.5 显示

3、当前纸牌可行的操作: .193.3.6 回收纸牌: .214 设计结果与分析 .224.1 运行程序: .224.2 发布程序: .234.3 总结: .235 参考文献 .241计算机学院 面向对象程序设计课程设计报告1 设计内容及要求1.1 设计内容相信很多人都玩过蜘蛛纸牌这款休闲游戏,现在随着生活水平的提高,人 们拥有充分的时间来享受休闲游戏带来的快乐,越来越多的人亲睐蜘蛛纸牌游 戏。谈起这款游戏,大家并不陌生。从 WINDOWS2000 系统开始,就嵌入了蜘蛛 纸牌游戏,可是随着微软系统的不段升级,蜘蛛纸牌游戏的功能业变得越来越 强大,游戏的界面也更加美观。用户的体验感受也更加美好。所

4、以,蜘蛛纸牌 游戏的开发对于人类的生活娱乐更加有意义。了解蜘蛛纸牌的开发过程也是作 为一名学习计算机专业大学生所应该尝试的过程。游戏的目标是以最少的移动 次数将牌面中的十叠牌以及待发的五组,共计八副牌整理移除。当所有牌被移 除整理到界面的左下方,游戏获胜。1.2 设计要求需要做的工作有学习掌握开发程序的方法,开了解发工具,进行需求分析, 根据得到的需求规格说明书设计具体的程序流程图,编写程序,修改程序,运 行程序,系统调试程序、测试程序,发布程序。2 概要设计2.1 代码功能功能模块设计:蜘蛛纸牌游戏共由 4 个部分组成,分别Spider.java,SpiderMenuBar.java,PKC

5、ard.java,AboutDialog.java。 SpiderMenuBar.java是:包含名为 SpiderMenuBar 的 public 类,其主要功能为生成蜘蛛纸牌游戏的 菜单栏,实现菜单栏中各个组件的事件侦听。主要包括 3 个模块:图形用户界 面的构建;组件监听接口的实现:显示可执行操作的线程。PKCard.java包含名为 PKCard 的 public 类,其主要功能为:定义纸牌的属性,包括名 称,位置等相关信息。并通过相关方法实现纸牌的移动等。 AboutDialog.java包含名为 AboutDialog 的 public 类,其主要功能为生成蜘蛛纸牌游戏的帮 助栏。

6、Spider.java包含名为 Spider 的 public 类,其主要功能为生成蜘蛛纸牌游戏的框架, 实现游戏中的方法,包括:纸牌的随机生成,位置的摆放等。2计算机学院 面向对象程序设计课程设计报告2.2 程序的总体设计流程图:2.3 模块一 的详细介绍:SpiderMenuBar.java 的功能是生成蜘蛛纸牌游戏的菜单栏。实现菜单栏中 的各个组件的事件。2.3.1 主要的类:JMenuBar 类、JMenu 类、JMenuItem 类、JRadioButton 类都是设计 GUI(图 形用户界面)的包 javax.swing 中的类。可以用 import 引用这些类。JMenuBar

7、类是 JComponent 类的子类负责创建菜单条的。即 JMenuBar 类的一个实例就是 一个菜单条。JMenu 类是 JComponent 类的子类负责创建菜单组的。即 JMenu 类的一个实 例化就是一个菜单。JMenuItem 类是 JMenu 类的父类负责创建菜单项。即 JMenuItem 类的一个实 例化就是一个菜单项。JRadioButtonMenuItem 类负责一个单选按钮菜单项的实现。 JRadioButtonMenuItem 是属于一组菜单项中的一个菜单项,该组中只能选择一 个项。ButtonGroup 类用于为一组按钮创建一个多斥作用域。使用相同的 ButtonGro

8、up 对象创建一组按钮意味着“开启”其中一个按钮时,将关闭组中 的其他所有按钮。3计算机学院 面向对象程序设计课程设计报告SpiderMenuBar 类是此文件的一个主类是 JMenuBar 的子类。Show 类是 Thread 的子类用于创建线程。2.3.2 主要的变量:jNewGame、jHelp 变量分别是 JMenu 类创建的“游戏”、“帮助”菜单。 jItemAbout、jItemOpen、jItemPlayAgain、jItemExit、jItemValid 变量分别是 JMenuItem 类创建的“关于”、“开局”、“重新发牌”、“退出”、 “显示可行操作”菜单项。jRMItem

9、Easy、jRMItemNormal、jRMItemHard 变量分别是JRadioButtonMenuItem 类创建的“简单:单一花色”、“中级:双花色”、“高级:四花色”的单选按钮菜单项。group 变量是 ButtonGroup 类创建的一组按钮选择对象。spider 变量是 Spider 类创建的对象用于主界面窗口的实现。将在 Spider.java 文件中介绍。2.3.3 主要的方法:public JMenuBar()创建新的菜单栏。public JMenu(String text)构造一个新菜单,用提供的字符串作为其文本。 public JMenuItem(String text

10、)创建带有指定文本的菜单项。public JRadioButtonMenuItem(String text)创建一个带文本的单选按钮 菜单项。public ButtonGroup()创建一个新的单选按钮对象组。public void add(MenuItem item)向菜单增加由参数 item 指定的菜单项对 象。public void add(AbstractButton b)将单选按钮添菜单项加到组中。 public void add(JMenu c)将指定的菜单添加加到菜单栏中。public void addSeparator()将新分隔符追加到菜单的末尾。所需要添加 的事件处理的接口

11、方法将在后来的模块中进行介绍。事件源即能 够产生的 事件的对象。监视器用于对事件源进行监视以便对发生的事件做出 处理。事 件源通过调用相应的方法将某个对象作为自己的监视器。这个方法是 addActionListen(ActionListener listen)该方法中的参数是 ActionListener 类型的接口。因此必须用 ActionListener 接口的类创建的对象传递给该方法的 参数,使得该对象成为事件源的的监视器。监视器负责调用特定的方法处理事 件,创建监视器的类必须提供处理事件的特定的方法,即实现接口方法。public void addMenuListener(MenuLis

12、tener l)添加菜单事件的侦听器。 void menuSelected(MenuEvent e)选择某个菜单时调用。void menuDeselected(MenuEvent e)取消选择某个菜单时调用。void menuCanceled(MenuEvent e)取消菜单时调用。4计算机学院 面向对象程序设计课程设计报告2.4 模块二的详细介绍:PKCard 的功能是定义纸牌的属性,包括名称,位置等相关信息。并通过相关方 法实现了纸牌的移动等。2.4.1 主要的类:JDialog 类是创建对话框窗口的主要类。可以使用此类创建自定义的对话框, 或者调用 JOptionPane 中的多个类方法

13、来创建各种标准对话框。Jpanel 类是一个面板类负责创建一个面板容器,再向这个面板添加组件, 然后将面板添加到底层容器中。JTabbedPane 类负责创建一个组件,它允许用户通过单击具有给定标题和/ 或图标的选项卡,在一组组件之间进行切换。JTextArea 类负责创建一个显示纯文本的多行区域。它作为一个轻量级组件 Container 类负责创建一个容器对象,此容器可以包含其它组件。 AboutDialog 类是 JDialog 类的子类,负责创建一个显示对话框。2.4.2 主要的变量:jMainPane、jPanel1、jPanel2、变量是 JPane1 创建的面板容器。jt1、jt2

14、 是 JTextArea 类创建的文本区对象。jTabbedPane 是 JTabbedPane 类创建的选项卡窗格对象。c 变量是 Container 类创建的容器。2.4.3 主要的方法:public JTabbedPane()创建一个具有默认的 JTabbedPane.TOP 选项卡布局 的空 TabbedPane.public JDialog()创建一个没有标题并且没有指定 Frame 所有者的无模式 对话框。一个共享的、隐藏的窗体将被设置为该对话框的所有者。public JPanel()创建具有双缓冲和流布局的新面板容器。public JTextArea(String text)构造

15、显示指定文本为 text 的新的文本区。 public void setTittle(String s)设置一个标题为 s 的对话框。public void setSize(int width,int heigth)创建宽为 width,高位 heigth 大小的对话框。public void setResizable(boolean b)设置对话框是否可调整大小。b 为 true 时,对话框可调整大小。5计算机学院 面向对象程序设计课程设计报告public void setDefaultCloseOperation(int operation)该方法用来设置 单机窗体右上角的关闭图标后,程序

16、会做出怎样的处理。operation 取 DISPOSE_ON_CLOSE 时/隐藏当前窗口,并释放窗体所占有的其他资源。public void setVisible(boolean b)设置框口是可见还是不可见。b 取 true 是为可见。public Container getContentPane()方法可得到窗口的内容面板容器。 public void JTextArea.setSize(int width,int heigth)设置文本区的大小。public void JTextArea.setEditable(boolean b)设置文本区是否可以编 辑。public void J

17、TextArea.setLineWrap(boolean b)设置文本区中输入的文 本是否可以实现在右边界自动换行。public void JTextArea.setFont(Font f)设置文本区内的字体。public void JTextArea.setForeground(Color c)设置文本区组件的前景 色。public void addTab(String title,Icon icon,Component component,String tip)添加由 title 和/或 icon 表示的 component 和 tip,其中任意一个都可以为 nul 参数:title -

18、此选项卡中要显示的标题, icon - 此选项卡中要显示的图标,component - 单击此选项卡时要显示的组件, tip - 此选项卡要显示的工具提示。public void pack()调整此窗口的大小,以适合其子组件的首选大小和布 局。2.5 模块三的详细介绍:PKCard 的作用是定义纸牌的属性,包括名称、位置等相关信息。并通过相 关方法实现纸牌的移动。2.5.1 主要类介绍:JLable 类负责创建标签对象。标签用于短文本字符串或图像或二者的显示 区。Thread 类负责创建线程对象。MouseListener 接口、MouseMotionListener 接口负责处理事件源所触发

19、的 鼠标事件,包括处理鼠标按下、释放、进入、退出、单击、连击、拖动、移动 所触发鼠标事件。Point 类负责创建表示 (x,y) 坐标空间中的位置的点对象,以整数精度指 定。MouseEvent 类负责创建鼠标所发生的事件对象。Flash 类负责创建线程对象,不断的获取下一张纸牌。PKCard 类是文件的主类,实现 MouseListener 接口的 JLable 的子类。负责6计算机学院 面向对象程序设计课程设计报告创建纸牌对象。2.5.2 主要变量:Point point 变量表示纸牌的位置对象。Point initPoint 表示纸牌的初始化位置对象。int value 变量表示纸牌的内

20、容值。int type 变量表示纸牌的类型。String name 变量表示纸牌的名称。Container pane 变量表示标签内主容器。boolean canMove 变量表示纸牌是否可以移动,值为 true 时,可以移动。 boolean isFront 变量表示纸牌是否正面显示,值为 true 时,则为正面显示。PKCard previousCard 变量表示上面一张纸牌2.5.3 主要方法:public void flashCard(PKCard card)方法启动 Flash 线程不停的获取下 一张纸牌直至完成。public void run()方法为纸牌的正面设置白色图片。car

21、d.updateUI()方法将 UI 属性重置为当前外观的值。public void mousePressed(MouseEvent mp)方法按下鼠标时事件的处理方 法。public void mouseReleased(MouseEvent mr)方法释放鼠标时事件处理的 方法。public void setNextCardLocation(Point point)方法放置鼠标时事件处 理方法。public int whichColumnAvailable(Point point)方法为判断可用列。 public void mouseDragged(MouseEvent argO)方法鼠标

22、拖动纸牌时事件处理方法。public void moving(int x,int y)方法将纸牌移动(x,y)个位置。 pane.setComponentZOrder(this,1)方法将主件移动到容器中指定的顺序索引。public PKCard(String name,Spider spider)方法纸牌的构造函数。 public void turnFront()方法令纸牌显示正面。public void turnRear()方法令纸牌显示背面。public void moveto(Point point()方法将纸牌移动到点 pointpublic void setCanMove(bool

23、ean can)方法判断纸牌是否能够移动。 public boolean isCardFront()方法判断纸牌是否正面显示。public boolean isCardCanMove()方法判断纸是否能够移动。public int getCardValue()方法获得纸牌的内容值。7计算机学院 面向对象程序设计课程设计报告public int getCardType()方法获得纸牌的类型。2.6 模块四的详细介绍:Spider.java 文件是蜘蛛纸牌游戏的主类文件,其主要功能是生成蜘蛛纸牌 游戏的框架,实现游戏中的方法,包括纸牌的随机生成、位置的摆放等。2.6.1 主要的类:JFrame 类

24、及其子类负责创建的对象称为窗体。JLable 类负责创建标签对象。标签用于短文本字符串或图像或二者的显示 区。Container 类负责创建一个容器对象,此容器可以包含其它组件。PKCard 类负责创建纸牌对象。Hashtable 类实现一个哈希表,该哈希表将键映射到相应的值。2.6.2 主要的变量:public static final int EASY=1;代表“简单”等级。public static finalint NATURAL=2 代表“普通”等级。public static finalint HARD=3 代表“难”等级。private int grade=Spider.EASY

25、 设定初始等级为简单等级;private Container pane 变量为 Container 类创建的面板容器。 private PKCard card变量为 PKCard 类创建的纸牌数组。private JLable clickLable1 变量为 JLable 类创建的右下角发牌区的鼠标 点击响应区域。private JLable groudLable变量为 JLable 类创建的背景框数组。 Hshtable table 变量为 Hashtable 类创建的一个哈希表对象,用于存储键值数据对。private int c 变量为纸牌的数量。private int n 变量为纸牌的等

26、级。private int a 变量为纸牌所在的列号。private int finish 变量为纸牌从小到大排列成功的次数。2.6.3 主要的方法:public void setTittle(String s)设置一个标题为 s 的窗体。public void setVisible(boolean b)设置框体是可见还是不可见。b 取 true 是为可见。8计算机学院 面向对象程序设计课程设计报告public void setSize(int width,int heigth)创建宽为 width,高位 heigth 大小的窗体。public void setDefaultCloseOperation(int operation)该方法用来设置 单机窗体右上角的关闭图标后,程序会做出怎样的处理。operation 取 EXIT_ON_CLOSE 时结束窗体所在的应用程序。public void setMenuBar(MenuBar mb)将此窗体的菜单栏设置为指定的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1