ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:102.98KB ,
资源ID:29605350      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29605350.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(猜数字游戏论文.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

猜数字游戏论文.docx

1、猜数字游戏论文题目猜数字游戏1、课程设计的目的通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)编写一个猜数字游戏,要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。3、主要参考文献1朱福喜.Java语言程序设计(第二版).科学出版社2陈国君等.Java程序设计基础(第二版).清华大学出版社3 Deitel.Java大学基础教程(第六版).电子工业出版社 4 MaryCampione.Java语

2、言导学(第四版).机械工业出版社5 Y.Daniel Liang.Java语言程序设计基础篇(第六版). 机械工业出版社6 Kathy Sierra.Head First Java(第二版).东南大学出版社4、课程设计工作进度计划序号时间(天)内容安排备注11分析设计准备周一22编程调试阶段周二至周三31编写课程设计报告周四41考核周五总计5(天)指导教师(签字)日期年 月 日教研室意见:年 月 日学生(签字): 接受任务时间: 年 月 日题目名称猜数字游戏评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02科学实践、调研7通过实验、试验

3、、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量7按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力5具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、

4、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度5符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10设计说明书(论文)质量30综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。11创新10对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年月日摘 要 21.需求分析 31.1 用户需求分析 32.2 开发环境分析 32.问题描述 42.1课程设计的任务: 42.2.课程设计的要求: 43

5、 模块设计 53.1 系统总体设计 53.2 功能模块设计 54 功能设计 64.1.随机数的产生模块 64.2.输入判断模块 64.3.记录猜测次数模块 64.4.计时模块 64.5.输入输出模块 64.6.成绩判断模块 75.程序流程图 96.异常处理 107.调试分析 11总结 12参考文献 13程序附页 14摘 要猜数字是一款非常经典的脑力游戏,游戏规则简单,但是玩起来难度较大,是消磨时间、锻炼脑力的好选择。通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用my eclipse软件。同时更加深入的了解字符界面的编程过程。使我更熟练的掌握Java程序框架的搭建

6、和类的创建格式。在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。 关键词 猜数字游戏,JAVA编程,课程设计1.需求分析1.1 用户需求分析设计一个猜数字游戏程序,要求具体如下特性:a.输入任意一个数字。数字的要求是1100的自然数即可。b.系统对您输入的数字进行判断。如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将提示您,数字太小请您重新输入。如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。

7、系统将提示您,数字太大请您重新输入。如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。c. 游戏开始时,系统自动记录您猜数字的时间,结束后显示游戏共花费的时间。d. 每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。e. 在游戏结束时,可以选择关闭游戏,或者再来一局。2.2 开发环境分析硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和eclipse开发工具。J2SDK简介:j2sdk是就阿Java的开发环境包。它包含JDK(开发工具包)和JRE(运行时环境包) 。eclipse简介:Eclipse

8、 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。2.问题描述2.1课程设计的任务:根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。(1)掌握Java的语言规范,面向对象的核心概念和特性;(2)掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等;(3)掌握Java应用软件的开发环境和开发过程;(4)掌握面向对象的思想和程序设计方法。2.2.课程设计的

9、要求:设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字。用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如偏大或者是偏小。3 模块设计3.1 系统总体设计猜数字游戏游戏随机给出一个1100 (包括1和100) 之间的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案。游戏开始后,由计算机产生一个1-100的随机数,不显示在图形界面,但显示在字符界面。用户只需输入所猜想的数字,打印在输入框内,按“确定”按钮

10、表示确定,游戏返回提示语句,按照提示语句操作,直至游戏结束。同时,计算机开始对游戏进行计时和计数功能。3.2 功能模块设计4 功能设计4.1.随机数的产生模块我们可以借助Java API提供的Random类来产生一个随机数。首先在main函数中加入以下代码:Random random = new Random(); number = random.nextInt(100); / 产生一个1-100间的随机数4.2输入判断模块JOptionPane.showMessageDialog(null, 数字不合法,请输入一个1-100之间的整数!); / 显示一个对话框 jTextField1.set

11、Text();/ 清空文本框内容 jTextField1.requestFocus();/ 文本框获取输入焦点4.3.记录猜测次数模块/ 记录玩家猜测的次数counter = 0;/ 计数器增加一counter;4.4.计时模块计时模块的代码分别写在游戏的开始和游戏的结束,取得时间差,以毫秒为单位。long startTime = System.currentTimeMillis();long endTime = System.currentTimeMillis();4.5.输入输出模块/ 对玩家的输入进行判断。if (guess number) JOptionPane.showMessage

12、Dialog(null, 猜大了哦!); jTextField1.setText(); jTextField1.requestFocus(); return; if (guess number) JOptionPane.showMessageDialog(null, 太小啦); jTextField1.setText(); jTextField1.requestFocus(); return; if (guess = number) endTime = System.currentTimeMillis();4.6.成绩判断模块/ 判断成绩。 switch (counter) case 1: J

13、OptionPane.showMessageDialog(null, 你是神么? 这也太给力了吧!); break; case 2: case 3: case 4: case 5: case 6: case 7: JOptionPane.showMessageDialog(null, 这么快就猜对了,很不错哦!); break; default: JOptionPane.showMessageDialog(null, 猜了半天才猜出来,还要多多练习哦!); break; JOptionPane.showMessageDialog(null, 您总共猜了 + counter + 次 共花了 +

14、(endTime - startTime) / 1000 + 秒的时间答对正确答案!); jTextField1.setText(); jTextField1.requestFocus(); 5.程序流程图6.异常处理我们在运行程序时往往会出现许多错误,而Java语言提供了异常(Exception)处理机制帮助程序员发现并处理异常。所谓异常,就是在程序执行过程中能干扰程序正常流程的事件。导致异常的原因很多,比如文件找不到、数组越界、除以零等。当异常出现时,一个异常对象将被自动生成并传递给Java“运行时环境”,如果“运行时环境”找不到异常句柄,Java程序便会自行中断。try statemen

15、t(s); catch (exceptiontype1 name) statement(s); catch (exceptiontype2 name) statement(s); finally statement(s);try语句括起来的语句可能抛出异常。try语句至少要搭配一个catch语句或finally语句,不能单独使用,我设计的猜数字游戏需要从控制台获取玩家输入的数字,有多个异常处理try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); getContentPane().setLayout(null); catc

16、h (Exception e) e.printStackTrace(); try / 获取玩家的输入 guess = Integer.parseInt(jTextField1.getText(); catch (Exception e)7.调试分析总结经过这几天努力终于完成了这份课设,虽然在操作的过程中我都遇到了许多的困难,但是却使我得到了许多的意外收获。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。在写代码的过程中我们也遇到了一些的困难,就是对一些有关Java语言的不理解,我便又到课本中去查找。一个项目的成败关键不全在于技

17、术。要想在一个愉快的氛围里边以轻松的心情来完成紧张的工作,严谨的态度和工作的热情都是必不可少的。以前上课时有许多的问题并没有真正的认识到,但通过这次试验的制作,使我掌握了许多更重要的知识点。参考文献1 黄明等,梁旭,周绍斌.Java课程设计 电子工业出版社 20062 杨昭.二级Java语言程序设计教程 中国水利水电出版社 20063 赵文靖.Java程序设计基础与上机指导 清华大学出版社 20064 张广彬,孟红蕊,张永宝.Java课程设计案例精编清华大学出版社 20075 黄晓东.Java课程设计案例精编(第一版) 中国水利水电出版社 20046 美Cay S.Horstmann程峰等译.

18、JAVA2核心技术机械工业出版社 2003 7 赵毅主.跨平台程序设计语言Java 西安电子科技大学出版社20068王路群.Java高级程序设计 中国水利水电出版社 20069 夏宽理.Java语言程序设计 机械工业出版社. 2008.10 丁新民.Java程序设计教程 人民邮电出版社. 2006.程序附页package liupeng;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyE

19、vent;import java.util.Random;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JFrame; import javax.swing.JOptionPane;import javax.swing.JTextField;import javax.swing.WindowConstants;import java.awt.FlowLayout; public class GuessNum extends javax.swing.JFrame private JLabel jLa

20、bel1; private JTextField jTextField1; private JButton jButton1; private int number = 0; private int counter = 0; long startTime = System.currentTimeMillis(); long endTime; /* *新建一个随机数产生器,然后生成一个1到100之间的整数 */ public GuessNum() super (刘鹏); initChuankou(); Random random = new Random(); number = random.n

21、extInt(100); / 产生一个1-100间的随机数 /* *初始化窗口组件 */ private void initChuankou() try setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);/ 窗口关闭时销毁窗口 getContentPane().setLayout(null);/ 设置窗口布局为绝对布局 JFrame frame = new JFrame(Test Buttons); frame.setLayout(new FlowLayout(); jLabel1 = new JLabel(); getCon

22、tentPane().add(jLabel1); jLabel1.setText(欢迎进入有趣的猜数字游戏!请输入1100中的任意一个数:); jLabel1.setBounds(2, 0, 200, 50);/ 设置标签位置 jTextField1 = new JTextField(); getContentPane().add(jTextField1); jTextField1.setBounds(50, 60, 112, 28); jTextField1.addKeyListener(new KeyAdapter() / 文本框添加键盘按键监听-监听回车键 public void key

23、Pressed(KeyEvent evt) jTextField1KeyPressed(evt); ); jButton1 = new JButton(); getContentPane().add(jButton1); jButton1.setText(确定); jButton1.setBounds(70, 110, 60, 28); jButton1.addActionListener(new ActionListener() / 按钮添加监听 public void actionPerformed(ActionEvent evt) jButton1ActionPerformed(evt)

24、;/ 按钮被点击时 执行该方法 ); pack(); this.setSize(220, 200); / 设置窗口大小 setLocationRelativeTo(null); / 设置窗口在显示器居中显示 catch (Exception e) e.printStackTrace(); setVisible(true); private void jButton1ActionPerformed(ActionEvent evt) int guess = 0; / 记录玩家所猜测的数字 counter+; / 计数器增加一。 try / 获取玩家的输入 guess = Integer.parse

25、Int(jTextField1.getText(); catch (Exception e) / 如果玩家不是输入一个合法的整数,则让他重新输入。 JOptionPane.showMessageDialog(null, 数字不合法,请输入一个1-100之间的整数!); / 显示一个对话框 jTextField1.setText();/ 清空文本框内容 jTextField1.requestFocus();/ 文本框获取输入焦点 return; / 对玩家的输入进行判断。 if (guess number) JOptionPane.showMessageDialog(null, 猜大了哦!);

26、jTextField1.setText(); jTextField1.requestFocus(); return; if (guess number) JOptionPane.showMessageDialog(null, 太小啦); jTextField1.setText(); jTextField1.requestFocus(); return; if (guess = number) endTime = System.currentTimeMillis(); / 判断成绩。 switch (counter) case 1: JOptionPane.showMessageDialog(n

27、ull, 你是神么? 这也太给力了吧!); break; case 2: case 3: case 4: case 5: case 6: case 7: JOptionPane.showMessageDialog(null, 这么快就猜对了,很不错哦!); break; default: JOptionPane.showMessageDialog(null, 猜了半天才猜出来,还要多多练习哦!); break; JOptionPane.showMessageDialog(null, 您总共猜了 + counter + 次 共花了 + (endTime - startTime) / 1000 + 秒的时间答对正确答案!); jTextField1.setText(); jTextField1.requestFocus(); private void jTextField1KeyPressed(KeyEvent evt) / 监听文本框回车 if (evt.getKeyCode() = KeyEvent.VK_ENTER) jButton1.doClick();/ 文本框按回车键 执行“确定”按钮的事件 public static void main(String args) System.out.println(欢迎来到猜数字游戏); new GuessNum();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1