文档详情

蜘蛛纸牌程序设计.

我**
实名认证
店铺
DOC
2.45MB
约39页
文档ID:115382469
蜘蛛纸牌程序设计._第1页
1/39

基于Java的纸牌游戏设计[蜘蛛纸牌]2015作者:张在吉、黄灵鑫、孙雪超2015/1/15 目录1、游戏实现功能解析及界面 2游戏规则介绍 22、游戏实现功能 2主窗口界面 2主窗口菜单 64、程序类主要功能介绍 6SpiderMenuBar.java 6PKCard.java 7AboutDialog.java 7Spider.java 75、程序的运行 76、 设计总结 7附录:源代码 8Spider.java 8SpiderMenuBar.java 21PKCard.java 26AboutDialog.java. 36 1、游戏实现功能解析及界面游戏规则介绍计分规则游戏开始时,为500分以后每移牌或撤销移牌一次,扣一分当一组同一花色的牌被移除整理到左下方时,加100分游戏中可以出现负分在负分时,执行撤销操作,分数将自动变为0翻牌规则游戏开局只有每叠牌的第一张默认为翻开状态当移动一叠牌所有已翻开牌到其他地方时,未翻开牌的中最上面的一张将自动翻开每次发牌的十张牌都为翻开状态操作规则1、 移牌 鼠标拖动移动一张或一组牌到另一张牌的上面或空牌叠每次移动的牌都只能放在一叠牌全部移除后的空白位置或者比它最下面的一张牌大1点的牌之上。

只有当一组牌全部为同一花色,方可以移动这一组牌否则,只能移动这一组最上面一张或同一花色的多张当移动形成同一花色由K到A顺序的一组牌时,这组牌会被自动移除整理到左下方,同时获得分数奖励2、发牌当需要发牌时,单击界面右下的未发牌叠,可执行发牌操作该操作不扣分执行发牌操作时,界面上方的牌叠位必须都有牌,否则不能执行发牌操作发牌时,将自动再每叠牌最上面发一张翻看状态的牌2、游戏实现功能主窗口界面 1) 进入游戏 2)游戏菜单: 3)打开帮助菜单: 4)拖动纸牌:5)发牌以及收牌:6)完成游戏:7)有空位不能发牌:主窗口菜单在游戏的主窗口菜单中包括如下几个菜单:(1)“游戏”菜单包括了,“开局” 、“重新发牌” 、“显示可行操作” 、“三个难度等级、”“退出” 如图所示2)“帮助”菜单有“关于”下拉菜单关于”:可查看该游戏的游戏规则、声明等相关信息如图所示4、程序类主要功能介绍蜘蛛纸牌游戏共由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类,其主要功能为生成蜘蛛纸牌游戏的框架,实现游戏中的方法,包括:纸牌的随机生成,位置的摆放等5、程序的运行将文件Spider.java,SpiderMenuBar.java,PKCard.java,AboutDialog.java以及所需要的images图像文件保存到同一个文件中利用javac命令对文件进行编译,使用的命令如下:javac Spider.java ;javac SpiderMenuBar.java ;Javac PKCard.java ;javac AboutDialog.java之后利用 java命令执行程序,使用的命令如下:java Spider.java6、 设计总结 通过这次JAVA课程设计实验,我发现java作为一种面向对象的编程语言,具有可移植性高,安全,可靠等优点,最初设计时就是本着一次编写到处执行设计的。

可以开发各种应用程序和游戏.在实验中开始我们遇到了很多问题,但小组成员一起努力查找资料,一起讨论提出各自的想法,最终把问题很好的解决掉了.这也让我们知道了团队在计算机编程小组中的重要性.它提醒着我们无论在生活中还是在以后的工作中都要记住团队的重要性附录:源代码Spider.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;public class Spider extends JFrame{ //整型变量,表示难度等级为:简单 public static final int EASY = 1; //整型变量,表示难度等级为:普通 public static final int NATURAL = 2; //整型变量,表示难度等级为:难 public static final int HARD = 3; //设定初始难度等级为简单 private int grade = Spider.EASY; private Container pane = null; //生成纸牌数组 private PKCard cards[] = new PKCard[104]; private JLabel clickLabel = null; private int c = 0; private int n = 0; private int a = 0; private int finish = 0; Hashtable table = null; private JLabel groundLabel[] = null; public static void main(String[] args){ Spider spider = new Spider(); spider.setVisible(true); } /** **构造函数 */ public Spider(){ //改变系统默认字体 Font font = new Font("Dialog", Font.PLAIN, 12); java.util.Enumeration keys = UIManager.getDefaults().keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); Object value = UIManager.get(key); if (value instanceof javax.swing.plaf.FontUIResource) { UIManager.put(key, font); } } setTitle("蜘蛛牌"); setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); //设置框架的大小 setSize(1024, 742); //生成SpiderMenuBar对象,并放置在框架之上 setJMenuBar(new SpiderMenuBar(this)); pane = this.getContentPane(); //设置背景颜色 pane.setBackground(new Color(0, 112, 26)); //将布局管理器设置成为null pane.setLayout(null); clickLabel = new JLabel(); clickLabel.setBounds(883, 606, 121, 96); pane.add(clickLabel); clickLabel.addMouseListener(new MouseAdapter(){ public void mouseReleased(MouseEvent me){ if (c < 60){ Spider.this.deal(); } } }); this.initCards(); this.randomCards(); this.setCardsLocation(); groundLabel = new JLabel[10]; int x = 20; for (int i = 0; i < 10; i++) { groundLabel[i] = new JLabel(); groundLabel[i] .setBorder(javax.swing.BorderFactory .createEtchedBorder(javax.swing.border.EtchedBorder.RAISED)); groundLabel[i].setBounds(x, 25, 71, 96); x += 101; this.pane.add(groundLabel[i]); } this.setVisible(true); this.deal(); this.addKeyListener(new KeyAdapter(){ class Show extends Thread{ public void run(){ Spider.this.showEnableOperator(); } } public void keyPressed(KeyEvent e){ if (finish != 8) if (e.getKeyCode() == KeyEvent.VK_D && c < 60){ Spider.this.deal(); } else if (e.getKeyCode() == KeyEvent.VK_M){ n。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档