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

    课程设计报告JAVA实现华容道智力游戏.docx

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

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

    课程设计报告JAVA实现华容道智力游戏.docx

    1、课程设计报告JAVA实现华容道智力游戏课程设计(论文)任务书 软 件 学 院 学院 软件+电子商务 专业 2 班 一、课程设计(论文)题目 华容道一个传统的智力游戏 二、课程设计(论文)工作自 2010 年 12 月 20 日起至 2010 年 12 月 24 日止。三、课程设计(论文) 地点: 软 件 学 院 实 训 中 心 四、课程设计(论文)内容要求:1本课程设计的目的(1)掌握Java语言的程序设计方法; (2)理论联系实际,进一步提高学生的软件开发技术;(3)培养学生分析、解决问题的能力;(4)提高学生实践论文撰写能力。2课程设计的任务及要求1)课程设计任务:用java语言编写一个华

    2、容道小游戏2)创新要求:在基本要求达到后,可进行创新设计3)课程设计论文编写要求(1)课程设计任务及要求(2)设计思路-工作原理、功能规划(3)详细设计-数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。(4)运行调试与分析讨论-给出运行屏幕截图,分析运行结果,有何改进想法等。(5)设计体会与小结-设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)(7)报告按规定排版打印,要求装订平整,否则要求返工;(8)课设报告的装订顺序如下:封面-任务书-中文摘要-目录-正文-附录(

    3、代码及相关图片)(9)严禁抄袭,如有发现,按不及格处理。4)课程设计评分标准: (1)学习态度:10分;(2)系统设计:20分;(3)编程调试:20分;(4)回答问题:20分;(5)论文撰写:30分。5)参考文献:(1)丁振凡. Java语言实用教程(第2版)M. 北京邮电大学出版社. 2008.1 (2)丁振凡. Java语言实用教程实验指导(第2版)M. 北京邮电大学出版社. 2008.1(3)杨树林等. Java语言最新实用案例教程(第2版)M. 清华大学出版社. 2010.76)课程设计进度安排1准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料2程序模块设计分析阶段(4

    4、学时):程序总体设计、详细设计3代码编写调试阶段(8学时):程序模块代码编写、调试、测试4撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文学生签名: 2010 年 12 月 20 日课程设计(论文)评审意见(1)学习态度(10分):优()、良()、中()、一般()、差(); (2)系统设计(20分):优( )、良()、中()、一般()、差(); (3)编程调试(20分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)论文撰写(30分):优()、良()、中()、一般()、差(); 评阅人: 职称: 讲师 2

    5、010 年 12 月 25 日中文摘要华容道,古老的中国游戏,以其变化多端、百玩不厌的特点与魔方、独立钻石棋一起被国外智力专家并称为“智力游戏界的三个不可思议”。游戏就是依照“曹瞒兵败走华容,正与关公狭路逢,只为当初恩义重,放开金锁走蛟龙”这一故事情节设计,受到很多玩家的喜爱。该程序用Java语言编写 ,棋盘上有10个不一样大小的按钮,分别代表曹操、张飞、赵云、马超、黄忠和关羽,还有四个兵。棋盘最下方有两个空着的小方格,代表曹操逃出的位置,可以实现通过鼠标或者键盘移动界面上的按钮,最终使曹操移动到棋盘最下方,代表曹操逃出华容道。 目录一、课程设计任务及要求 1、 本程序主要练习使用布局管理器设

    6、计一个华容道游戏界面,并练习使用事件监听器(鼠标事件、键盘事件和焦点事件)实现按钮的移动。 2、编写一个按钮的子类,使用该子类创建的对象代表华容道中的人物。通过焦点事件控制人物颜色,当人物获得焦点时颜色为红色,当失去焦点时颜色为黄色。 3、通过键盘事件和鼠标事件来实现曹操、关羽等人物的移动。当人物上发生鼠标事件或键盘事件时,如果鼠标指针的位置是在人物的下方(也就是组件的下半部分)或按下键盘的“键,该人物向下移动。向左、向右和向上的移动原理类似。 4、点击“重新开始”可以使各个按钮复位,重新开始游戏。二、需求分析要满足的容道游戏的基本操作:1各人物按钮按相应的顺序和大小排列,按钮上标注人物名字,

    7、界面美观。2通过焦点事件控制人物按钮的颜色,得到焦点呈红色,失去焦点为淡黄色。3可以通过键盘控制各个按钮的移动:按“”键,人物按钮向下移动其它方向类似。4可以通过鼠标点击来控制各个人物按钮的移动:如果点击的位置在按钮的上半部分则向上移动,如果点击按钮的下半部分则向下,左右原理类似。5有“重新开始按钮” 点击重新开始按钮各个人物按钮复位,能重新开始游戏。6小程序能够自由的缩小,放大,关闭。三、设计思路 1.首先是界面设计,该界面主要包括十个人物按钮(马、曹操、关羽等)以及旁边的四个边框按钮和重新开始按钮。对于人物按钮,创建Button按钮的子类,在该类中定义按钮的一些新的属性和焦点事件监听器,如

    8、:按钮的标签名、按钮的颜色、按钮的排号(如这里有十个人物按钮,从1排到十,在程序中可以依靠这个属性区分人物按钮)、按钮颜色、按钮获得或失去焦点事件。同时在设计该界面时要考虑到各个按钮的位置、大小等情况。 2.对界面上的各人物按钮添加相应的相应事件焦点事件:通过焦点事件各个按钮的是焦点。鼠标事件、键盘事件:通过这两种事件去完成界面上各人物按钮的移动。对重新开始按钮定义动作事件(ActionEvent)完成界面初始化功能也 就是各人物按钮重新归位。四、详细设计1.类的设计本程序总共有3个类(1)MoveExample 类public class MoveExample public static

    9、void main(String args)/定义主方法 new Hua_Rong_Road();/创建一个Hua_Rong_Road对象 (2)Person 类 增加焦点事件监视器:addFocusListener(事件监听器)当组件具有焦点监视器后,如果组件从无输入焦点变成有输入焦点或从有输入焦点到无输入焦点都会触发FocusEvent事件。创建监视器的类必须要实现FocusListener接口,该接口有两个方法:public void focusGained(final FocusEvent e) /获得焦点触发public void focusLost(final FocusEvent

    10、 e) /失去焦点触发当组件从无输入焦点变成有输入焦点并触发FocusEvent事件时,监视器调用类实现的接口方法focusGained(FocusEvent e);当组件从有输入焦点变成无输入焦点并触发FocusEvent事件时,监视器调用类实现方法focusLost(FocusEvent e)。 class Person extends Button implements FocusListener int number; Color c=new Color(255,245,170);/设置颜色/preson 方法 public Person(final int number,final

    11、String s) super(s); setBackground(c);/背景色 this.number=number; c=getBackground(); addFocusListener(this);/事件焦点监听 public void focusGained(final FocusEvent e) /获得焦点触发 setBackground(Color.red);/获得焦点的颜色 public void focusLost(final FocusEvent e) /失去焦点触发 setBackground(c); (3)Hua_Rong_Road 类 游戏界面主要包括十个人物按钮马

    12、、曹操、关羽等。对于人物按钮,在该类中定义按钮的一些新的属性和焦点事件监听器,如:按钮的标签名、按钮的颜色、按钮的排号(如这里有十个人物按钮,从1排到十,在程序中可以依靠这个属性区分人物按钮)、按钮颜色、按钮获得或失去焦点事件。同时在设计该界面时要考虑到各个按钮的位置、大小等情况。class Hua_Rong_Road extends Frame implements MouseListener,KeyListener,ActionListener Person person=new Person10; Button left,right,above,below; Button restart

    13、=new Button(重新开始);/添加重新开始按钮 Hua_Rong_Road()方法设置容器 public Hua_Rong_Road() init();/设置按钮 setBounds(100,100,320,360);/组件在容器上的起点和长宽 setVisible(true);/ 像控件中添加元素 validate();/刷新 addWindowListener(new WindowAdapter()/注册窗口事件监听 public void windowClosing(WindowEvent e)/关闭 System.exit(0); ); init()方法 设置10个按钮 pub

    14、lic void init() setLayout(null);/设置布局默认 add(restart);/添加重新开始 restart.setBounds(100,320,120,25);/按钮大小 restart.addActionListener(this);/注册监听 String name=曹操,关羽,张飞,刘备,赵云,黄忠,兵 ,兵,兵,兵; for(int k=0;kh/2) go(man,below); if(yh/2) go(man,above); if(xw/2) go(man,right); 用 go方法控制人物按钮上下左右移动: public void go(Perso

    15、n man,Button direction) boolean move=true; Rectangle manRect=man.getBounds(); int x=man.getBounds().x; int y=man.getBounds().y; if(direction=below)/向各个方向上的移动 y=y+50; else if(direction=above) y=y-50; else if(direction=left) x=x-50; else if(direction=right) x=x+50; manRect.setLocation(x,y); Rectangle

    16、directionRect=direction.getBounds(); for(int k=0;k10;k+) Rectangle personRect=personk.getBounds();if(manRect.intersects(personRect)&(man.number!=k)/如果覆盖就不移动 move=false; if(manRect.intersects(directionRect) move=false; if(move=true) /移动到新的位置 man.setLocation(x,y); 发生操作时调用: public void actionPerformed(

    17、ActionEvent e) dispose(); new Hua_Rong_Road(); 2.流程图如图二:图二:流程图五、运行调试与分析讨论运行结果1.运行小程序如图3所示: 图三2.点击按钮使按钮获得焦点如图四所示: 图四3.用鼠标或者键盘移动人物按钮如图五: 图五4.点击重新开始按钮后如图六所示: 图六 六、设计体会与小结 通过本程序,我练习使用布局管理器设计了一个华容道游戏界面,并且练习使用事件监听器监听焦点的得失,首先增加焦点事件监视器:addFocusListener(事件监听器),当组件具有焦点监视器后,如果组件从无输入焦点变成有输入焦点或从有输入焦点到无输入焦点都会触发Fo

    18、cusEvent事件。创建监视器的类必须要实现FocusListener接口,该接口有两个方法:public void focusGained(FocusEvent e) /获得焦点触发public void focusLost(FocusEvent e) /失去焦点触发 练习了通过鼠标事件实现按钮的移动,鼠标事件的类型是MouseEvent,即组件触发鼠标时,MouseEvent类自动创建一个事件对象。Java分别使用MouseListener接口与MouseMotionListener接口来处理鼠标事件。MouseListener接口可以处理5种鼠标事件:单击、按下、释放、进入和退出。Mo

    19、useMotionListener接口可以处理2种鼠标事件:拖动、移动。 练习了通过键盘事件实现按钮的移动,当按下、释放或敲击键盘上一个键时就发生了键盘事件,当一个组件处于激活状态时(获得焦点),敲击键盘上一个键就导致了这个组件发生了键盘事件。事件源使用addKeyListener方法获得监视器。KeyEvent为键盘事件的类型,KeyListener是事件监视器实现的接口,其中有三种相应事件:按键、释放键、按下和释放的组合事件。Public void KeyPressed(KeyEvent e)Public void KeyTyped(KeyEvent e)Public void KeyRe

    20、leased(KeyEvent e) 用KeyEvent类的public int getKeycode()方法和public char getKeychar()判断哪个键被按下、敲击或释放。七、参考文献1作者:丁振凡 . 参考书籍名称M:java语言实用教程. 出版地: 北京邮电大学出版社.出版年限:2007.2作者:耿祥义 . 参考书籍名称M: Java基础教程 . 出版地: 清华大学出版社.出版年限:2009. 附录(源码清单)import java.awt.*;import java.awt.event.*;public class MoveExample public static v

    21、oid main(String args) new Hua_Rong_Road(); class Person extends Button implements FocusListener int number; Color c = new Color(255,245,170); Person(int number,String s) super(s); setBackground(c); this.number = number; c = getBackground(); addFocusListener(this); public void focusGained(FocusEvent e) setBackground(Color.red); public void focusLos


    注意事项

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

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




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

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

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


    收起
    展开