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

    完整word版动物换位游戏java课设.docx

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

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

    完整word版动物换位游戏java课设.docx

    1、完整word版动物换位游戏java课设成 绩 评 定 表学生姓名班级学号 专 业课程设计题目基于Java的动物换位游戏软件设计评语组长签字:成绩日期 2013 年 月 日课程设计任务书学 院信息学院专 业学生姓名班级学号 课程设计题目基于Java的动物换位游戏软件设计实践教学要求与任务:采用java技术设计动物换位游戏软件,设计要求如下:(1)程序分为3个级别,用户可以通过界面上提供的菜单来选择“初级”、“中级”和“高级”这三个级别.对于“初级”级别,在水平排列的7块石头上的左右各有3个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,

    2、中间的石头上没有动物;对于“高级级别,在水平排列的11块石头上的左右各有5个类型相同的动物,中间的石头上没有动物。(2)用鼠标单击一个动物,如果该动物的前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有其他的动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跳跃到石头上,其他情形时,该动物不跳跃(跳跃时不能超过2块石头)。(3)左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。(4)用户可以通过单击界面上提供的按钮,让程序自动完成动物换位。(5)可以随时单击界面上提供的按钮,重新开始当前的级别.(6)用户通过菜单选项,可以选择左、右动物的图像。工作计划与进度安排:

    3、第18周:布置课程设计任务,查阅资料,分组设计,程序调试。 第19周:程序调试,编写课程设计报告,验收,答辩。指导教师: 2013年 6月20日专业负责人: 2013年 6月20日学院教学副院长: 2013年 6月20日 1.设计目的。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.42.设计内容.。.。.。.。.。.。.。.。.。.。.。.。43.课程软件主要功能.。.。.。.。.。.。.。.。.。.。.。44.类总体设计.。.。.。.。.。.。.。.。.。.。.。.。.。.44。1类组合关系图。.。.。.。.。.。.。.。.。.。.。.。54。2主类.。.。.。.。.。.。.

    4、。.。.。.。.。.。.。.。54。3其他类.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。55。类详细设计(画UML图).。.。.。.。.。.。.。.。.。.。66.关键类成员函数流程图及代码。.。.。.。.。.。.。.。.。.。.7 6.1总体流程图 .。.。.。.。.。.。.。.。.。.。.。.。.。.7 6.2程序代码。.。.。.。.。.。.。.。.。.。.。.。.。.。.。87.软件运行结果。.。.。.。.。.。.。.。.。.。.。.。.14 8。结论.。.。.。.。.。.。.。.。.。.。.。.。.。.。16参考文献。.。.。.。.。.。.。.。.。.。.。.。.。

    5、.。.161。设计目的 1.通过实验,使学生进一步加深面向对象的编程设计思想; 2.训练掌握、加深理解并巩固Java程序设计课程中所学到的基本概念、编程思路; 3.综合运用Java程序设计的编程方法,能够利用这些程序设计方法来解决工程和科研中常见的实际问题; 4。培养分析解决问题的实际动手能力,进一步提高进行大型程序设计的能力。2。设计要求 设计GUI界面的动物换位游戏,游戏的结果是让左右两组动物交换位置。具体内容如下:程序分为4个级别,用户可以通过界面上提供的菜单选择“初级”、“中级、“高级”、“自定义这4个级别。对于“初级”级别,在水平排列的7块石头上的左右各有3个类型相同的动物,中间的石

    6、头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,中间的石头上没有动物;对于“高级”级别,在水平排列的11块石头上的左右各有5个类型相同的动物,中间的石头上没有动物;对于“自定义”级别,用户可以输入自己想设置的一个动物数量(输入的数必须是偶数),在水平排列的N块石头上的左右各有(N1)/2个类型相同的动物,中间的石头上没有动物.3.课程软件主要功能 程序分为不同的级别,左右各有动物,中间石头没有动物,将左右动物交换,不可后退。用鼠标单击一个动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物

    7、就越过自己前面的动物跃到石头上,其他情形时,该动物不能跳跃.如果对游戏有疑问可以点击帮助,查看游戏规则.不能持续玩的可以点自动演示,将自动完成游戏,可以帮助游戏者更好的了解系统的主体功能4。类总体设计设计动物换位时需要编写10个Java源文件:ChangeAnimalWindow。java、Point.java、Animal。java、Stone。java、HandleMouse。java、AutoMoveAnimal。java、People。java、Record。java、ShowRecordDialog.java和Customdlg.java。动物换位除了需要编写上述10个Java源文件

    8、所给出的类外,还需要Java系统提供的一些重要的类,如:JmenuItem、File和Jbutton类等。动物换位所用到的一些重要的类以及之间组合关系如图41所示。 4。1类组合关系图以下是10个Java源文件的总体设计:图4-1 类之间的组合关系 4。2主类 ChangeAnimalWindow。javaChangeAnimalWindow类负责创建动物换位的主窗口,该类含有main方法,程序从该类开始执行。 4。3其他类Animal.javaAnimal类是JPanel的一个子类,创建的对象是ChangeAnimalWindow类的重要成员之一,用来表示“动物”.Point。java Po

    9、int类负责创建确定位置的对象,使用Point对象,可以确定Animal以及Stone对象在窗体中的位置。Stone。javaStone类是JButton的一个子类,创建的对象表示“石头”.HandleMouse.javaHandleMouse类所创建的对象负责处理鼠标事件。AutoMoveAnimal.javaAutoMoveAnimal类所创建的对象使用算法完成动物的自动换位.Customdlg.javaCustomdlg类所创建的对象用来设置“自定义级别的动物数量。People。javaPeople对象封装用户的名字和成绩,以便ShowRecordDialog对象可以排序。Record.

    10、java Record类是javax。swing包中JDialog对话框的子类,当用户成功完成相应级别的游戏时,Record创建的对象负责保存用户的名字和成绩到相应的级别文件中。ShowRecordDialog.javaShowRecordDialog类是javax。swing包中JDialog对话框的子类,当用户单击查看相应的级别排行榜时,ShowRecordDialog创建的对象负责显示用户的成绩。5.类详细设计(画UML图)ChangeAnimalWindow类是javax。swing包中的JFrame的一个子类,并实现了ActionListener接口,标明该类的主要成员变量和方法的U

    11、ML图如图5-1所示.以下是UML图中有关数据和方法的详细说明:图5-1 ChangeAnimalWindow类的UML图6。关键类成员函数流程图及代码 6。1总体流程图 图61 总体流程图 6.2程序代码import javax。swing.;import java.awt。;import java。awt。event.*;import java。util。ArrayList;import java.io.;import javax。swing。filechooser.;public class ChangeAnimalWindow extends JFrame implements Act

    12、ionListener int amountOfAnimal=6; int distance=80; Animal animal; Point point; Stone stone; HandleMouse handleMouse; AutoMoveAnimal autoMoveAnimal; File leftImageFile,rightImageFile; JButton renew,quit,autoButton=null; JMenuBar bar; JMenu menuGrade,menuImage; JMenuItem oneGradeItem,twoGradeItem,thre

    13、eGradeItem; JMenuItem leftIamge,rightIamge,defaultImage; JPanel pCenter; ChangeAnimalWindow() pCenter=new JPanel(); pCenter。setBackground(Color。lightGray); pCenter.setLayout(null); handleMouse=new HandleMouse(); autoMoveAnimal=new AutoMoveAnimal(); leftImageFile=new File(”dog。jpg”); rightImageFile=n

    14、ew File(cat.jpg”); init(); bar=new JMenuBar(); menuGrade=new JMenu(选择级别”); menuImage=new JMenu(”选择动物图像(JPG,GIF)”); oneGradeItem=new JMenuItem(初级); twoGradeItem=new JMenuItem(”中级”); threeGradeItem=new JMenuItem(”高级”); leftIamge=new JMenuItem(左面动物的图像); rightIamge=new JMenuItem(”右面动物的图像); defaultImage=

    15、new JMenuItem(”左右面动物的默认图像); menuGrade.add(oneGradeItem); menuGrade。add(twoGradeItem); menuGrade.add(threeGradeItem); menuImage。add(leftIamge); menuImage.add(rightIamge); menuImage.add(defaultImage); bar。add(menuGrade); bar.add(menuImage); setJMenuBar(bar); oneGradeItem.addActionListener(this); twoGr

    16、adeItem。addActionListener(this); threeGradeItem。addActionListener(this); leftIamge。addActionListener(this); rightIamge.addActionListener(this); defaultImage.addActionListener(this); renew=new JButton(重新开始); renew。addActionListener(this); autoButton=new JButton(”自动演示); autoButton.addActionListener(th

    17、is); quit=new JButton(撤消); quit。addActionListener(this); JPanel north=new JPanel(); north。add(renew); north.add(quit); north。add(autoButton); String mess=互换左右动物位置; JLabel hintMess=new JLabel(mess,JLabel。CENTER); north。add(hintMess); add(north,BorderLayout.NORTH); add(pCenter,BorderLayout.CENTER); JP

    18、anel south=new JPanel(); south.add(handleMouse); add(south,BorderLayout.SOUTH); setVisible(true); setBounds(60,60,710,300); validate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void init() animal=new AnimalamountOfAnimal; point=new PointamountOfAnimal+1; stone=new StoneamountOfAnimal+1

    19、; int space=distance; for(int i=0;i=2m2=0) amountOfAnimal=m; public void removeAnimalAndStone() for(int i=0;ipoint。length;i+) if(pointi。getThisAnimal()!=null) pCenter。remove(pointi。getThisAnimal(); for(int i=0;istone.length;i+) if(pointi。getThisStone()!=null) pCenter.remove(pointi。getThisStone(); pC

    20、enter.validate(); pCenter.repaint(); public void needDoing() init(); handleMouse.initStep(); handleMouse。initSpendTime(); handleMouse.setCountTime(true); autoMoveAnimal。setPoint(point); public void actionPerformed(ActionEvent e) if(e.getSource()=oneGradeItem) distance=80; removeAnimalAndStone(); set

    21、AmountOfAnimal(6); needDoing(); else if(e.getSource()=twoGradeItem) distance=70; removeAnimalAndStone(); setAmountOfAnimal(8); needDoing(); else if(e。getSource()=threeGradeItem) distance=60; removeAnimalAndStone(); setAmountOfAnimal(10); needDoing(); else if(e.getSource()=renew) removeAnimalAndStone

    22、(); needDoing(); else if(e。getSource()=autoButton) removeAnimalAndStone(); needDoing(); handleMouse。setCountTime(false); autoMoveAnimal.setStep(); int x=this.getBounds()。x+this。getBounds().width/2; int y=this.getBounds().y+this。getBounds()。height; autoMoveAnimal。setLocation(x,y); autoMoveAnimal.setS

    23、ize(this.getBounds().width/2,120); autoMoveAnimal。setVisible(true); else if(e。getSource()=quit) ArrayListInteger step=handleMouse.getStep(); int length=step。size(); int start=-1,end=-1; if(length=2) end=step.get(length1); start=step.get(length-2); step。remove(length-1); step。remove(length-2); Animal

    24、 ani=pointend。getThisAnimal(); int w=ani。getBounds().width; int h=ani。getBounds()。height; ani.setLocation(pointstart.getX()-w/2,pointstart。getY()-h); ani.setAtPoint(pointstart); pointstart。setThisAnimal(ani); pointstart.setIsHaveAnimal(true); pointend.setIsHaveAnimal(false); else if(e。getSource()=leftIamge) JFileChooser chooser=new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter( ”JPG GIF Images”, ”jpg, gif); chooser。setFileFilter(filter); int state=chooser。showOpenDialog(null);


    注意事项

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

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




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

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

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


    收起
    展开