java(JEE)课程设计方案报告_第1页
java(JEE)课程设计方案报告_第2页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、烟台工程职业技术学院系专业级课程设计(论文)题目:打字游戏姓名学号指导教师(签名)二O一一年七月十四日打字游戏【摘要】这是个功能比较齐全的打字游戏,最关键的是可以调整数字下落的速度和多 少,再进行加载,方便了用户的使用。另外,该程序会根据的用户打字正确和错误的多少来判断通过与否。Java 良好的跨平台的开发中显示了巨大的威力。Java 语言面向对象的优势也使得开发游戏变得非常容易。随着计算机的日益普及、Java 功能在移动设备上的实现,Java应用程序产生的游戏,非丰富了人们的生活内容、提供了快捷的资讯起着不可忽 视的作用。.、八 、-刖言通过本课程设计教案所要求达到的目的是:实现一个简单的打

2、字 游戏。锻炼人们使用键盘的的快速性。相关知识:线程、java标准类库、GUI程序设计。作用:为用户开发一个简单的打字小游戏,用来提高用户的打字速度, 既能达到娱乐的效果又能很好的提高使用键盘的快速性。应用前景:打字游戏作为大众的日期查看软件,便于人们练习打字,用 法简单,设计新颖,适合各种用户,有广泛应用前景。设计需要的条件:对java技术的灵活应用、初步了解软件工程理论知 识,掌握日期处理技术。、java 源文件及其功能如表 1 所示表 1序 号文件名主要功能备注1Puzzle.java程序的主类,定义了各个组件 的动作和为窗口设置图标包含主函数 程序的入口2CardFrame.java游

3、戏介绍界面添加继续按钮采用卡片布 局3Menu Frame.java初始化游戏界面,创建并添加 组件声明了6个 静态方法4Showlmage.java在游戏中显示正确和错误的个 数来提供帮助5Split.java根据难度控制速度6Matrix.java初始化游戏7Grades.java游戏记录和存档,游戏暂停的 实现存档文件格式为*.rc8GameOver.java游戏时间和步数的计算和游戏 结束的判断9poin t.java获得字数,并向其他函数传 参。10Butt on Click.java实现鼠标动作。11Arg.java提供成绩记录的路径公用接口二、详细设计该打字游戏结合了许多元素,可

4、游戏成功时和打破记录时的判断,同时 还有游戏时间和步数的记录, 并以文档形式进行保存。 在打字时首先把 图片添加到background目录下,程序会自动获取该目录下的所有文 件,并加载到游戏中,进行打字后,显示在按钮上。游戏结束时可以显 示游戏成绩和记录的存档。(一)成员变量见表2表 2成员变量描述变量类型名称开始状态Boolea nStart窗口宽度intfWidth窗口高度intfHeight结束对象gOverGameOver焦点控制boolea nin dex(二)方法见表3表 3方法名功能备注Puzzle()StartGame()en dgame()FrameLoseFocus()Fr

5、ameGetFocu s()men uNewClick()menu GradesClick()menu ShowClik()men uExit()menu HelpCIik ()menu AboutClik()创建游戏窗口和设置 图标开始游戏控制,更新 开始菜单 结束游戏控制使窗口失去焦点事件使窗口得到焦点事件实现分数记录和显示在游戏中显示个数退出游戏实现帮助功能实现关于功能弹出结束窗口调用类spite()调用类Class Grades调用类class ShowImage四运行效果(一)游戏启动后的初始界面 图1ETitle_7r XI(二)选择开始后弹出如下对话框:图2(三)通关后的画面:图

6、3速度- - 开始皓束,正确11,错误;E(四)选择速度如图4速度(五)在游戏过程中 闯关失败 如图5图5(六)如果你的游戏全部通关如图6图6四、结论经过这段时间的学习我收获不小,总结起来有如下几点:Java EE 编程技术编著:郝玉龙、姜韡(一) 更进一步理解了JAVA编程的思想,体会到JAVA与其他编程语言的不同。 对于这种面向对象的编程思想, 使刚入门的人很快就能写出自 己的程序。(二) 锻炼了自己的动手和自学能力,在编程中有许多类和方法在课本 中没有学到和提及到。都是通过自己查帮助文档,或通过网络进行学习 和了解到的。和别人在一起交流是一件很快了的事。(三) 体会到写程序最重要的是程序

7、思想,而不是单纯的写代码。如何 解决类之间的关联和继承关系,如何组织类是很关键的。此外对于接口 和变量的私有还是公有,以及参数传递等方面也收获不小。该程序需要改进的地方:(一) 在变量的访问权限设置不到位,当时为了保证程序的运行通过, 好多本来私有的变量都定义为公有,对于类的成员保护做的不够。(二) 如果在移动图块时,发出声音就会更完美。(三) 给程序添加背景音乐。(四) 程序界面风格设计还有待改进。五、结束语 在这次课程设计中,遇到过很多的问题,有些甚至是没有学过的,但是经过询问老师,和同学一起讨论与网上搜索都成功解决了问题。首先感谢陈娅冰老师的指导,也感谢帮助我的同学,感谢网上的提供相 关

8、知识的朋友,在你们的帮助下终于完成了课程设计,没有大家的帮 助,完全靠自己的力量完成是很困难的。六、参考文献与附录专著:Java 程序设计使用教程编著:叶核亚 出版社:电子工业出版社出版社:清华大学出版社、北京交通大学出版社 电子文献:附录: 程序代码java.awt.event.ActionEvent 。import java.awt.event.ActionListener 。 import java.awt.event.KeyEvent 。import java.awt.event.KeyListener 。import javax.swing.JButton 。import javax

9、.swing.JFrame 。import javax.swing.JLabel 。import javax.swing.JMenu 。import javax.swing.JMenuBar 。import javax.swing.JMenuItem 。import javax.swing.JOptionPane 。import javax.swing.JPanel 。import javax.swing.JTextArea 。import javax.swing.JTextField 。import javax.swing.event.CaretEvent 。 import javax.sw

10、ing.event.CaretListener 。public class Guess extends JFrameprivate int count 。private String rs= 。private JTextField trs 。private JTextField tinput 。private JTextArea ta 。private int a 。private int b 。private JLabel msg 。public static void main(String args) new Guess() 。public Guess()initMenu() 。JLab

11、el l1=new JLabel( 最终结果 ) 。 trs=new JTextField(5) 。trs.setEditable(false) 。 trs.setEnabled(false)。JLabel l2=new JLabel( 请输入数字 )。 tinput=new JTextField(5) 。tinput.setEditable(false) 。ta=new JTextArea(8,30) 。 ta.setEditable(false) 。final JButton ok=new JButton(OK) 。 ok.setEnabled(false) 。JPanel pa=new

12、JPanel()。 add(pa,Center) 。pa.add(l1)。pa.add(trs)。pa.add(l2)。pa.add(tinput) 。 tinput.addCaretListener(new CaretListener() public voidcaretUpdate(CaretEvent e) if(validate_input()ok.setEnabled(true) 。elseok.setEnabled(false) 。)。tinput.addKeyListener(new KeyListener()public void keyPressed(KeyEvent e)

13、if(e.getKeyCode() = KeyEvent.VK_ENTER)ok.doClick() 。public void keyReleased(KeyEvent arg0) / TODO Auto-generated method stubpublic void keyTyped(KeyEvent arg0) / TODO Auto-generated method stub)。pa.add(ok) 。pa.add(ta)。msg=new JLabel( 请点击菜单开始游戏 ) 。pa.add(msg)。ok.addActionListener(new ActionListener()

14、 public void actionPerformed(ActionEvent e) setAB() 。 count+ 。ta.setText(ta.getText()+ 第 +count+ 次尝 试: +tinput.getText()+a+A+b+Bn) 。tinput.setText() 。 if(count=6) JOptionPane.showMessageDialog(null, GAMEOVER) 。 tinput.setEditable(false) 。 msg.setText( 请点击菜单开始游戏 ) 。trs.setText(rs) 。rs= 。if(a=4)JOptio

15、nPane.showMessageDialog(null, YOU WIN) 。 tinput.setEditable(false) 。msg.setText( 请点击菜单开始游戏 ) 。trs.setText(rs) 。rs= 。a=0。b=0。 ) 。setSize(350,300)。 setLocation(500,300) 。setDefaultCloseOperation(EXIT_ON_CLOSE) 。 setVisible(true) 。public void initMenu()JMenuBar mb=new JMenuBar() 。JMenu m=new JMenu( 功能

16、) 。mb.add(m) 。JMenuItem mi1=new JMenuItem( 开始游戏 ) 。JMenuItem mi2=new JMenuItem( 退出 ) 。 m.add(mi1) 。m.add(mi2) 。mi1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) begin() 。) 。mi2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) dispo

17、se() 。) 。mb.setVisible(true) 。 add(mb,North) 。public void begin()for(int i=0 。 rs.length()4 。 i+)int ran=(int)(Math.random()*10) 。 if(!rs.contains(String.valueOf(ran) rs+=String.valueOf(ran) 。trs.setText(*) 。tinput.setEditable(true) 。count=0 。ta.setText(null) 。msg.setText(null) 。public boolean valid

18、ate_input()String input=tinput.getText() 。return input.matches(d4) 。public void setAB()String input=tinput.getText() 。for(int i=0。i4。i+)if(rs.charAt(i)=in put.charAt(i)a+。String flag=。for(i nt i=0。i4。i+)for(int j=0。j4。j+)if(rs.charAt(i)=in put.charAt(j) &! flag.c ontain s(i nput.substri ng(j,j+1) b+。flag+=input.substring(j,j+1)。b-=a。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论