java课程设计蜘蛛纸牌以及atm模拟柜台无需修改程序实验报告

上传人:第*** 文档编号:55637054 上传时间:2018-10-03 格式:DOC 页数:48 大小:670.58KB
返回 下载 相关 举报
java课程设计蜘蛛纸牌以及atm模拟柜台无需修改程序实验报告_第1页
第1页 / 共48页
java课程设计蜘蛛纸牌以及atm模拟柜台无需修改程序实验报告_第2页
第2页 / 共48页
java课程设计蜘蛛纸牌以及atm模拟柜台无需修改程序实验报告_第3页
第3页 / 共48页
java课程设计蜘蛛纸牌以及atm模拟柜台无需修改程序实验报告_第4页
第4页 / 共48页
java课程设计蜘蛛纸牌以及atm模拟柜台无需修改程序实验报告_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《java课程设计蜘蛛纸牌以及atm模拟柜台无需修改程序实验报告》由会员分享,可在线阅读,更多相关《java课程设计蜘蛛纸牌以及atm模拟柜台无需修改程序实验报告(48页珍藏版)》请在金锄头文库上搜索。

1、第 1 页 共 48 页Java 课程设计实验报告课程设计实验报告专业:专业: 信息与计算机科学信息与计算机科学 姓名:姓名: 吕奇吕奇 学号:学号: 1412010042 班级:班级: 信计信计 1402 班班 指导老师:指导老师: 贾瑜贾瑜 完成时间:完成时间: 2016 年年 6 月月 22 日日 第 2 页 共 48 页目录目录目录2蜘蛛纸牌31.概述.31.1 课程设计的目的31.2 课程设计的内容与要求31.3 课程设计的环境31.4 课程设计的功能模块31.4.1 程序的 UML 图31.4.2 程序的源代码61.4.3 程序的截图301.5 课程设计问题与小结.30ATM 柜员

2、机模拟程序.311.1 课程设计的目的311.2 课程设计的内容与要求311.3 课程设计的环境311.4 课程设计的功能模块321.4.1 程序的 UML 图.321.4.2 程序的源代码.33第 3 页 共 48 页1.4.3 程序的截图.461.5 课程设计问题与小结48蜘蛛纸牌游戏蜘蛛纸牌游戏1.概述1.1 课程设计的目的1.1.1 加深对Java 语言与面向对象技术课程基础知识的理解,掌握 Java 语言面向对象程序设计的开发方法和步骤;1.1.2 进一步理解面向对象程序设计的思想和方法,利用 Java 语言进行程序设计的能力;1.1.3 课程设计将课本上的理论知识和实际应用相结合,

3、锻炼学生发现问题、分析问题和解决问题的能力。加强学生研发、编写、调试程序的能力;1.1.4 培养学生在项目开发中团队合作精神、创新意识及能力;1.1.5 提高学生科技论文写作能力,规范完成课程设计报告。1.2 课程设计的内容与要求1.2.1该程序是由四个子程序组成的,Spider.java,SpiderMenuBar.java,PKcard.java,AboutDialog.javaAboutDialog.java 和相关图片组成的一个窗口游戏。1.2.2 该程序为一个窗口游戏,上方为一排牌,相互可以按 K 到 A 的顺序堆叠后则 将牌放到左下角,当无牌排序时,右下方的牌继续排序,直到所有的牌

4、牌好为止。1.2.3该程序分为三个级别:初级:单花色,中级:双花色,高级:四花色,上方有 个菜单栏显示各个操作,以及关于和帮助。1.3程序的环境:JDK1.6.0,eclipse第 4 页 共 48 页1.4程序的功能模块:1.4.1 程序的 UML 图:JDialogJDialogAboutDialogAboutDialog+AboutDialog() +pack()JLabelJLabelMouseListenerMouseListenerMouseMotionListenerMouseMotionListenerPKcardPKcard+ getCardType():int + getC

5、ardValue():int + isCardCanMove():boolean + setCanMove(boolean can):void + moveto(Point point):void + turnRear():void + turnFront():void +PKCard(String name, Spider spider) + mouseMoved(MouseEvent arg0):void + moving(int x, int y):void + mouseDragged(MouseEvent arg0):void + mouseExited(MouseEvent arg

6、0):void + whichColumnAvailable(Point point):int + setNextCardLocation(Point point):void第 5 页 共 48 页+ mouseReleased(MouseEvent mr):void + mousePressed(MouseEvent mp):void + run():void + flashCard(PKCard card):void + mouseClicked(MouseEvent arg0): voidJFrameJFrameSpider+ haveFinish(int column):void +

7、setGroundLabelZOrder():void + deal():void + showEnableOperator():void + setCardsLocation():void + setNA():void + randomCards():void + initCards():void + setGrade(int grade):void + getC():int + newGame():void +Spider():JMenuBarSpiderMenuBar+ run():void SpiderMenuBar(Spider spider)第 6 页 共 48 页1.4.2 程序

8、的源代码:AboutDialog import javax.swing.*;import java.awt.*;/*“关于”窗口*/public class AboutDialog extends JDialogJPanel jMainPane = new JPanel();JTabbedPane jTabbedPane = new JTabbedPane();private JPanel jPanel1 = new JPanel();private JPanel jPanel2 = new JPanel();private JTextArea jt1 = new JTextArea(“将电脑

9、多次分发给你的牌按照相同的花色由大至小排列起来。直到桌面上的牌全都消失。“); private JTextArea jt2 = new JTextArea(“该游戏中,纸牌的图片来自于 Windows XP 的纸牌游戏,图片权属于原作者所有!“); /*构造函数*/public AboutDialog()setTitle(“蜘蛛牌“);setSize(300,200);setResizable(false);setDefaultCloseOperation (WindowConstants.DISPOSE_ON_CLOSE); Container c = this.getContentPane

10、();jt1.setSize(260,200);jt2.setSize(260,200);jt1.setEditable(false);jt2.setEditable(false);jt1.setLineWrap(true); jt2.setLineWrap(true); 第 7 页 共 48 页jt1.setFont(new Font(“楷体_GB2312“, java.awt.Font.BOLD, 13);jt1.setForeground(Color.blue);jt2.setFont(new Font(“楷体_GB2312“, java.awt.Font.BOLD, 13);jt2.s

11、etForeground(Color.black);jPanel1.add(jt1);jPanel2.add(jt2);jTabbedPane.setSize(300,200);jTabbedPane.addTab(“游戏规则“, null, jPanel1, null);jTabbedPane.addTab(“声明“, null, jPanel2, null);jMainPane.add(jTabbedPane);c.add(jMainPane);pack();this.setVisible(true); PKCard import java.awt.*;import java.awt.ev

12、ent.*;import javax.swing.*;public class PKCard extends JLabel implements MouseListener,MouseMotionListener/纸牌的位置Point point = null;Point initPoint = null;int value = 0;int type = 0;String name = null;Container pane = null;第 8 页 共 48 页Spider main = null;boolean canMove = false;boolean isFront = false

13、;PKCard previousCard = null;public void mouseClicked(MouseEvent arg0)public void flashCard(PKCard card)/启动 Flash 线程new Flash(card).start();/不停的获得下一张牌,直到完成if(main.getNextCard(card) != null)card.flashCard(main.getNextCard(card);class Flash extends Threadprivate PKCard card = null;public Flash(PKCard c

14、ard)this.card = card;/*线程的 run()方法*为纸牌的正面设置白色图片*/public void run()boolean is = false;ImageIcon icon = new ImageIcon(“images/white.gif“);for (int i = 0; i 30 else if (b 71)a = -1;if (a != -1)Point p = main.getLastCardLocation(a);if (p = null) p = main.getGroundLabelLocation(a);b = y - p.y;if (b = 96)

15、a = -1;第 12 页 共 48 页return a;public void mouseEntered(MouseEvent arg0)public void mouseExited(MouseEvent arg0)/*用鼠标拖动纸牌*/public void mouseDragged(MouseEvent arg0)if (canMove)int x = 0;int y = 0;Point p = arg0.getPoint();x = p.x - point.x;y = p.y - point.y;this.moving(x, y);/*返回值:void*方法:移动(x,y)个位置*/

16、public void moving(int x, int y)PKCard card = main.getNextCard(this);Point p = this.getLocation();/将组件移动到容器中指定的顺序索引。 pane.setComponentZOrder(this, 1);/在 Hashtable 中保存新的节点信息main.table.remove(p);p.x += x;p.y += y;this.setLocation(p);main.table.put(p, this);if (card != null) card.moving(x, y);第 13 页 共 48 页public void mouse

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号