欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    魔板游戏课程设计Word下载.docx

    • 资源ID:8547241       资源大小:124.15KB        全文页数:30页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    魔板游戏课程设计Word下载.docx

    1、硬件环境:处理器:2.6 GHz Intel Pentium IV 或具有同等性能的处理器软件环境:JDK、Jcreator等软件2.2详细设计2.2.1 程序流程图根据对魔板游戏的分析,设计得到魔板游戏总体功能如图1所示图1总体功能图课程设计说明书 NO.3根据对魔板游戏的分析,设计得到魔板游戏总流程图如图2所示图2总体流程图课程设计说明书 NO.42.2.2程序中自定义类说明(1)PuzzlePad.java类模块PuzzlePad类创建的对象是PuzzleGame类最重要的成员之一,代表“魔板”。该类的成员变量中有5种重要类型的对象:Point、Block、HandleMove、Hand

    2、leImage和Image。PuzzlePad类的主要成员的作用将在后面的详细设计中阐述。(2)Block.java类模块Block类是JTextField的一个子类,创建的对象是PuzzlePad类的重要成员之一,用来表示“魔板”中的“方块”。(3)Point.java类模块Point类负责创建确定位置的对象,使用Point对象可以确定Block对象在PuzzlePad对象中的位置,即确定“方块”在“魔板”中的位置。(4)HandleImage.java类模块HandImage类所创建的对象负责处理鼠标事件。(5)HandleMove.java类模块HandMove类所创建的对象负责处理鼠标

    3、事件。(6)VerifySuccess.java类模块VerifySuccess类所创建的对象负责验证用户是否按要求成功排列魔板中的方块。综上可得程序中的各种类及其功能如表1所示表1类名表类名作用父类PuzzleGame.java负责创建魔板游戏的主窗口 JFramePuzzlePad.java代表“魔板”JPanelBlock.java用来代表“魔板中的“方块”JTxtField课程设计说明书 NO.5Point.java确定“方块”在“魔板”中的位置HandleImage.java负责将一幅图像分成若干个笑图像JComponentHandleMove.java负责处理鼠标事件VerfySu

    4、ccess.java负责验证用户是否按要求成功排列模板中的方块2.2.3程序中主要方法说明PuzzledGame()是够着方法,负责完成窗口的初始化操作PuzzeldGame类创建的窗口是菜单中的菜单项、单选框以及按钮上的ActionEvent事件监视器。Main方法是程序运行的入口方法PuzzledPad对象调用setImage方法设置image对象。PuzzlePad对象调用setGrade方法设置魔板的级别。Block对象调用setAtPoint方法设置自己所在的“点”,即返回point对象的引用。Block对象调用getObject返回自己所在的“点”,即返回point对象的引用。Bl

    5、ock对象调用setObject方法设置自己的成员object,当前设置object是Integer对象时,当前Block对象将显示Interger对象中的数字。Point对象调用isHaveBlock()方法返回一个boolean型数据,如果当前point对象上有Block对象,isHaveBlock()方法返回true;否则返回false.HandleImage()是构造方法,负责完成HandleImage对象的初始化。getImages方法将参数指定的Image图像分解成若干个更小饿图像,并将这些图像存放到一个Image数组中,然后返回数组。程序中设计的各种主要方法及其功能如表2所示课程

    6、设计说明书 NO.6表2方法名表方法名主要功能PuzzleGame()负责完成窗口的初始化操作 actionPerformed是PuzzleGame类实现ActionListener接口中的方法PuzzledPad()负责创建Puzzled的对象Point()用来创建Point对象 3. 设计结果与分析3.1 程序运行结果本程序实现的游戏分为初级和高级模式,可以在单机选择级别之后进行选择级别模式。初级的话共分为9格魔板一个为空,8个魔板上下左右自由移动,直至排列完成。该游戏初始默认为数字玩法,不过在单击图像玩法之后可以进行图像的选择也可选择默认图像(dog.jpg)单击开始,如果图像不能立刻显

    7、示,那么再单击一次就会出现图像魔板了。如图3所示:图3初级的图像玩法图课程设计说明书 NO.7如果想要选择了一幅新的图像,只要单击选择图像中的选择一幅新图像就可出现如下界面,如图4:图4图像选择界面在选择了新图像之后单击开始按钮,就会有一张新的图片替换了刚刚所使用的默认图像了。此时如果再选择高级的模式图像就会被分成16快随即小魔板,如图5所示:图5高级的图像玩法图课程设计说明书 NO.8由上图的底部可以看出还有一个计时器功能,当你开始移动魔板是它就开始计时直至完成魔板的正确排列。6. 附录附录1.1PuzzleGame模块源程序import java.awt.*;import java.awt

    8、.event.*;import javax.swing.*;import java.io.*;import javax.swing.filechooser.*;public class PuzzleGame extends JFrame implements ActionListener PuzzlePad puzzlePad; JMenuBar bar; JMenu gradeMenu,choiceImage; JMenuItem oneGrade,twoGrade,newImage,defaultImage; JRadioButton digitPlay,imagePlay;ButtonG

    9、roup group = null; JButton startButton; Image image; Toolkit tool; /* Creates new form PuzzleGame */ public PuzzleGame() tool = getToolkit(); bar = new JMenuBar(); gradeMenu = new JMenu(选择级别); choiceImage = new JMenu(选择图像 oneGrade = new JMenuItem(初级 twoGrade = new JMenuItem(高级 newImage = new JMenuIt

    10、em(选择一幅新图像 defaultImage = new JMenuItem(使用默认图像gradeMenu.add(oneGrade); gradeMenu.add(twoGrade); choiceImage.add(newImage); choiceImage.add(defaultImage); bar.add(gradeMenu); bar.add(choiceImage); setJMenuBar(bar);课程设计说明书 NO.9 oneGrade.addActionListener(this); twoGrade.addActionListener(this); newIma

    11、ge.addActionListener(this); defaultImage.addActionListener(this); startButton = new JButton(开始 startButton.addActionListener(this); group = new ButtonGroup(); digitPlay = new JRadioButton(数字玩法,true); imagePlay = new JRadioButton(图像玩法,false); group.add(digitPlay); group.add(imagePlay); puzzlePad = ne

    12、w PuzzlePad(); puzzlePad.setGrade(1); puzzlePad.setIsDigitPlay(); add(puzzlePad,BorderLayout.CENTER); JPanel pNorth = new JPanel(); pNorth.add(digitPlay); pNorth.add(imagePlay);pNorth.add(startButton); pNorth.add(new JLabel(如果图像不能立刻显示,请再单击一次按钮); add(pNorth,BorderLayout.NORTH); add(puzzlePad.getHandl

    13、eMove(),BorderLayout.SOUTH); validate(); setVisible(true); setBounds(100,50,550,380); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); try image = tool.createImage(new File(dog.jpg).toURI().toURL(); puzzlePad.setImage(image); catch(Exception exp) public void actionPerformed(ActionEvent e) if(e.getSou

    14、rce()=startButton) if(digitPlay.isSelected() else if(imagePlay.isSelected() 课程设计说明书 NO.10 else if(e.getSource() = oneGrade) else if(e.getSource() = twoGrade) puzzlePad.setGrade(2); else if(e.getSource() = newImage) FileNameExtensionFilter filter = new FileNameExtensionFilter(JPG&GIF Image,jpggif JFi

    15、leChooser chooser = new JFileChooser(); chooser.setFileFilter(filter); int state = chooser.showOpenDialog(null); File file = chooser.getSelectedFile(); if(file!=null&state = JFileChooser.APPROVE_OPTION) image = tool.createImage(file.toURI().toURL();else if(e.getSource() = defaultImage)/ private void

    16、 initComponents() setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane(); getContentPane().setLayout(layout);课程设计说明书 NO.11 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 400,

    17、 Short.MAX_VALUE) ); layout.setVerticalGroup( .addGap(0, 300, Short.MAX_VALUE) pack(); / public static void main(String args) new PuzzleGame();附录1.2PuzzlePad模块源程序import java.util.*;public class PuzzlePad extends JPanel Point point; Block block; int distance = 56,grade,m = 3,n =3; HandleMove handleMo

    18、ve; HandleImage handleImage; VerifySuccess verifySuccess; boolean isDigitPlay; public PuzzlePad() setBackground(Color.gray); setLayout(null); handleMove = new HandleMove(); handleMove.initSpendTime(); handleImage = new HandleImage(); verifySuccess = new VerifySuccess(); handleMove.setVerifySuccess(v

    19、erifySuccess); public HandleMove getHandleMove() return handleMove;课程设计说明书 NO.12 public void setImage(Image image) this.image = image; public void setGrade(int grade) this.grade = grade; if(grade = 1) m = 3; n = 3; else if(grade = 2) m = 4; n = 4; public int getGrade() return grade; private void nee

    20、dInit() removeAll(); point = new Pointmn; block = new Blockmn; int Hspace = distance,Vspace = distance; for (int i = 0;im;i+) for(int j = 0;jn;j+) pointij = new Point(Hspace,Vspace); Hspace = Hspace + distance; Hspace = distance; Vspace = Vspace + distance; handleMove.setPoint(point); verifySuccess.

    21、setPoint(point); int k = 0;课程设计说明书 NO.13 elsen-1; blockij = new Block(); blockij.addMouseListener(handleMove); k+; public void setIsDigitPlay() needInit(); isDigitPlay = true; ArrayListnumberList =new ArrayList(); for(int k =0;km*n-1;k+) numberList.add(k+1); Objectobject = numberList.toArray(); veri

    22、fySuccess.setObject(object); Collections.shuffle(numberList); for(int i =0; i if(iimageList = new ArrayList Image blockImage = handleImage.getImages(image,m,n); for(int k=0;blockImage.length-1;k+) 课程设计说明书 NO.14 public void paintComponent(Graphics g) super.paintComponent(g); if(isDigitPlay = false) g

    23、.drawImage(image,20+distance*(m+1),point00.getY(), distance*m,distance*n,this);附录1.3Block类模块源程序public class Block extends JTextField Point point; Object object; Block() setEditable(false); setHorizontalAlignment(JTextField.CENTER); setForeground(Color.blue); public void setAtPoint(Point p) point=p; public Point getAtPoint() return point;


    注意事项

    本文(魔板游戏课程设计Word下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开