猜数字游戏课程设计完整版

猜数字游戏课程设计完整版
猜数字游戏课程设计完整版

北京邮电大学世纪学院

实验、实习、课程设计报告撰写格式与要求

(试行)

一、实验报告格式要求

1、有实验教学手册,按手册要求填写,若无则采用统一实验报告封面。

2、报告一律用钢笔书写或打印,打印要求用A4纸;页边距要求如下:页边距上下各为2.5厘米,左右边距各为2.5厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。

3、统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。

4、实验报告中的实验原始记录,须经实验指导教师签字或登记。

二、实习报告、课程设计报告格式要求

1、采用统一的封面。

2、根据教学大纲的要求手写或打印,手写一律用钢笔书写,统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。打印要求用A4纸;页边距要求如下:页边距上下各为2.5厘米,左右边距各为2.5厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。

三、报告内容要求

1、实验报告内容包括:实验目的、实验原理、实验仪器设备、实验操作过程、原始数据、实验结果分析、实验心得等方面内容。

2、实习报告内容包括:实习题目、实习任务与要求、实习具体实施情况(附上图表、原始数据等)、实习个人总结等内容。

3、课程设计报告或说明书内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。

四、课内实践课报告撰写要求

1、大型作业类的按课程设计要求撰写;

2、带实习性质的按实习要求撰写;

3、其余的按实验要求撰写。

五、其它

由于存档的需要,所有报告必须双面打印,请教师做好把关工作。

北京邮电大学世纪学院

教务处

2005、12

课程设计报告

课程设计名称Java程序设计专业计算机科学与技术

班级 2 班

学号08030212

姓名陈雪莹

指导教师陈志成

成绩

2011年3月10日

目录

目录根据word生成

一、设计任务与要求

1.1 设计任务与要求

程序设计专题的任务与要求:

课程设计的任务:

根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。

(1)掌握Java的语言规范,面向对象的核心概念和特性;

(2)掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等;

(3)掌握Java应用软件的开发环境和开发过程;

(4)掌握面向对象的思想和程序设计方法。

课程设计的要求:

设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字。用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如偏大或者是偏小。

1.2 选题目的与意义

通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用my eclipse软件。同时更加深入的了解字符界面的编程过程。使我更熟练的掌握Java 程序框架的搭建和类的创建格式。在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。

二、需求分析

2.1 用户需求分析

设计一个猜数字游戏程序,要求具体如下特性:

(1)趣味性:要求游戏内容丰富多彩,语言风趣幽默。

(2)大众性:要求游戏界面操作简单,游戏规则简单易懂。

(3)合理性:游戏设计严谨,有条理,具体需求如下

①输入任意一个数字。数字的要求是1—100的自然数即可。

②系统对您输入的数字进行判断。

如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数

小.系统将提示您,数字太小请您重新输入。

如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生

成数大。系统将提示您,数字太大请您重新输入。

如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,

请从新输入。

③游戏开始时,系统自动记录您猜数字的时间,结束后显示游戏共花费的时间。

④每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。

⑤在游戏开始时,自动显示游戏规则。

⑥在游戏结束时,可以选择关闭游戏,或者再来一局。

2.2 开发环境分析

硬件要求能运行Windows 9.X操作系统的微机系统。JA V A程序设计语言及相应的集成开发环境,J2SDK和eclipse开发工具。

J2SDK简介:j2sdk是就阿Java的开发环境包。它包含JDK(开发工具包)和JRE(运行时环境包) 。JDK包含JRE ,JDK是开发人员必装软件,JRE是客户端运行时必装软件,J2SDK就是JDK,J2JRE就是JRE。Jcreator是开发JAVA的软件。开发JAVA 也可以用记事本开发原程序

eclipse简介:Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java 开发工具(Java Development Tools,JDT)。Eclipse的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。Eclipse中三个最吸引人的地方:一是它创新性的图形API,即SWT/JFace,在此之前,我曾经用过Java 的AWT/SWING 来开发Windows应用程序,AWT/SWING其界面客观地讲不够美观,而且界面响应速度比较慢;而SWT/JFace则大大改善了Java在这方面的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插

三、系统设计

3.1 系统总体设计

猜数字游戏—游戏随机给出一个1—100 (包括1和100) 之间的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案。(系统设计如图3.1)

图3.1

游戏界面:采用图形界面显示。页面有如下功能:开始,结束,重来,帮助。

游戏开始后,由计算机产生一个1-100的随机数,不显示在图形界面,但显示在字符界面。

用户只需输入所猜想的数字,打印在输入框内,按“确定”按钮表示确定,游戏返回提示语句,按照提示语句操作,直至游戏结束。

同时,计算机开始对游戏进行计时和计数功能。

游戏过程中,如果不想继续玩了,可以直接退出,想重新开局,按“重新开始”按钮即可。

想控制界面大小只需拖拽图形界面边框即可。

游戏结束后,可以选择“关闭”游戏,或者是“重新开始”。

3.2 功能模块设计

(模块功能设计如图3.2)

图3.2

3.3 类的设计

3.3.1 类的定义

类是把具有相同属性的事物划分为一类,从而得出抽象的概念。在面向对象程序设计中,类是一个独立的程序单位,是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了抽象描述。类的概念使我们能对属于该类的全部对象进行统一的描述。在定义对象之前应先定义类。

描述一个类需要指明下述三个方面内容:

类标识:类的一个有别于其他类的名字。

属性说明:用来描述相同对象的静态特征。

方法说明:用来描述相同对象的动态特征。

3.3.2 定义类的格式

class 类名

数据成员

成员方法

类的结构是由类说明和类体两部分组成的。

类的说明部分由关键字 class 与类名组成,类名的命名遵循 Java 标识符的定义规则。

类体是类声明中花括号所包括的全部内容,它又是由数据成员(属性)和成员方法(方法)两部分组成。

数据成员描述对象的属性;成员方法则刻画对象的行为或动作,每一个成员方法确定一个功能或操作。

3.3.3 类的分类

从用户的角度看,Java 源程序中的类分为两种:

系统定义的类:即Java 类库,它是系统定义好的类。Java 语言由语法规则和类库两部分组成,语法规则确定Java 程序的书写规范;类库则提供了Java 程序与运行它的系统软件(Java 虚拟机)之间的接口。

用户自定义类:系统定义的类虽然实现了许多常见的功能,但是用户程序仍然需要针对特定问题的特定逻辑来定义自己的类。

进行 Java 程序设计,实际上就是定义类的过程。一个 Java 源程序文件往往是由许多个类组成的。

3.3.4类的搭建

首先,搭建Java程序框架。打开Eclipse,新建名为GuessNumberGame的项目,然后新建名为GuessNumber的Java类。给GuessNumber加上合适的javadoc。

(1)Random(随机数)

Random(随机数)的功能就是借助Java API提供的Random类来产生一个随机数。定义一个整型变量number来保存随机产生的整数,并且用直接初始化的方法把random产生的随机数赋给number变量。

Random类是在java.util这个包中。建立时可以手动在源程序顶部输入import

java.util.Random;语句来申明该程序将要使用java.util包中的Random类。也可以运用Eclipse,把光标移动到有红色波浪线的Random上,然后按下Ctrl+Shift+M,Eclipse 会自动完成导入的工作。此时保存一下源代码,警告就会消失。

四、程序实现

4.1 程序流程图(如图4.1)

图4.1

4.2 关键算法与技术实现

4.2.1源程序

/* 程序运行时自动产生1-100的随机数

* 接受用户键盘输入数据并给出指示信息

* 直至猜对,游戏者猜对后,显示猜对次数

* 并且供计时功能

*/

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.util.Random;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

import javax.swing.WindowConstants;

/**

* @author 陈雪莹

*

* 有趣的猜数字游戏

*/

public class GuessNumber extends javax.swing.JFrame {

{

//Set Look & Feel

try { //设置窗口外观为windows外观

javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsL ookAndFeel");

} catch(Exception e) {

e.printStackTrace();

}

}

private JLabel jLabel1;

private JTextField jTextField1;

private JButton jButton1;

private JButton jButton2;

private int number=0;

private int counter=0;

long startTime = System.currentTimeMillis();

long endTime;

/**

* Auto-generated main method to display this JFrame

*/

public static void main(String[] args) {

GuessNumber inst = new GuessNumber();

inst.setVisible(true); //显示窗口

}

/**

*新建一个随机数产生器,然后生成一个1到100之间的整数

*/

public GuessNumber() {

super();

initGUI();

Random random = new Random();

number = random.nextInt(100); //产生一个1-100间的随机数

}

/**

*初始化窗口组件

*/

private void initGUI() {

try {

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//窗口关闭时销毁窗口

getContentPane().setLayout(null);//设置窗口布局为绝对布局

{

jLabel1 = new JLabel();

getContentPane().add(jLabel1);

jLabel1.setText("欢迎进入有趣的猜数字游戏,游戏规则如下:
" +

"游戏随机产生1-100的整数,玩家通过输入数字来匹配所产生的数字。
"+ " 用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息
"+

" 当有偏差时,将会提醒偏差,如偏大或者是偏小。结束后记录游戏时间和猜测次数

"+

"我心里有一个1到100之间的整数,你猜是什么?");

jLabel1.setBounds(7, 0, 420, 147);//设置标签位置

}

{

jTextField1 = new JTextField();

getContentPane().add(jTextField1);

jTextField1.setBounds(42, 168, 112, 28);

jTextField1.addKeyListener(new KeyAdapter(){//文本框添加键盘按键监听-监听回车键

public void keyPressed(KeyEvent evt) {

jTextField1KeyPressed(evt);

}

});

}

{

jButton1 = new JButton();

getContentPane().add(jButton1);

jButton1.setText("确定");

jButton1.setBounds(182, 168, 77, 28);

jButton1.addActionListener(new ActionListener(){//按钮添加监听

public void actionPerformed(ActionEvent evt) {

jButton1ActionPerformed(evt);//按钮被点击时执行该方法

}

});

}

{

jButton2 = new JButton();

getContentPane().add(jButton2);

jButton2.setText("重新开始");

jButton2.setBounds(280, 168, 91, 28);

jButton2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

}

pack();

this.setSize(442, 265); // 设置窗口大小

setLocationRelativeTo(null); // 设置窗口在显示器居中显示

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* “确定”按钮事件监听

* @param evt

*/

private void jButton1ActionPerformed(ActionEvent evt) {

int guess=0;// 记录玩家所猜测的数字

counter++; // 计数器增加一。

// try,catch的异常管理。

try {

// 获取玩家的输入

guess=Integer.parseInt(jTextField1.getText());

} catch (Exception e) {

// 如果玩家不是输入一个合法的整数,则让他重新输入。

JOptionPane.showMessageDialog(null, "数字不合法,请输入一个1-100之间的整数!"); //显示一个对话框

jTextField1.setText("");//清空文本框内容

jTextField1.requestFocus();//文本框获取输入焦点

return ;

}

// 对玩家的输入进行判断。

if (guess > number){

JOptionPane.showMessageDialog(null, "输入的大了,再小一点吧!");

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(null,"你是神么??这也太给力了吧!!");

break;

case 2:

case 3:

case 4:

case 5:

case 6:

case 7: JOptionPane.showMessageDialog(null,"这么快就猜对了,你很smart啊!");

break;

default:JOptionPane.showMessageDialog(null,"猜了半天才猜出来,小同志,尚须努力啊!");

break;

}

JOptionPane.showMessageDialog(null,"您总共猜了"+counter+"次共花了

"+(endTime-startTime)/1000+"秒的时间答对正确答案!");

}

jTextField1.setText("");

jTextField1.requestFocus();

}

private void jButton2ActionPerformed(ActionEvent evt) { // 重新开始

Random random = new Random(); // 重新生成随机数

number = random.nextInt(100); // 产生一个1-100间的随机数

counter=0; // 记录玩家猜测的次数

jTextField1.setText("");

startTime = System.currentTimeMillis();

}

private void jTextField1KeyPressed(KeyEvent evt) {

//监听文本框回车

if (evt.getKeyCode()==KeyEvent.VK_ENTER) {

jButton1.doClick();// 文本框按回车键执行“确定”按钮的事件

}

}

}

4.2.2关键算法

(1)记录猜测次数模块

// 记录玩家猜测的次数

counter = 0;

// 计数器增加一

counter++;

首先定义了一个counter变量来记录玩家猜测的次数,并直接初始化为0。在打印一行游戏提示以后,便开始一个do-while语句。

在do-while语句中,首先用异常处理语句获取玩家的输入,如果玩家输入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家的输入。从而,guess变量一定包含一个合法的整数。之后要对玩家的输入进行判断。

如果玩家的猜测太大或者太小,都做出提示。接着把计数器增加1,表示玩家做过一次猜测。

最后便是do-while语句的判断:当玩家猜测的数字和随机产生的答案不同,则再次进入循环,否则便结束循环,执行下面的代码。(用Eclipse的Alt+/快捷键帮助编写do-while语句。)

(2)输入输出模块

// 获取玩家的输入

guess=Integer.parseInt(jTextField1.getText());

// 如果玩家不是输入一个合法的整数,则让他重新输入

JOptionPane.showMessageDialog(null, "数字不合法,请输入一个1-100之间的整数!");

jTextField1.setText("");

jTextField1.requestFocus();

return ;

}

// 对玩家的输入进行判断。

if (guess > number){

JOptionPane.showMessageDialog(null, "输入的大了,再小一点吧!");

jTextField1.setText("");

jTextField1.requestFocus();

return ;

}

if (guess < number){

JOptionPane.showMessageDialog(null, "输入的小了,再大一点吧!");

jTextField1.setText("");

jTextField1.requestFocus();

return ;

}

if (guess == number) {

endTime=System.currentTimeMillis();

(3)判定成绩模块

// 判断成绩。

switch (counter) {

case 1: JOptionPane.showMessageDialog(null,"你是神么??这也太给力了吧!!");

break;

case 2:

case 3:

case 4:

case 5:

case 6:

case 7: JOptionPane.showMessageDialog(null,"这么快就猜对了,你很smart啊!");

break;

default:JOptionPane.showMessageDialog(null,"猜了半天才猜出来,小同志,尚须努力啊!");

break;

}

JOptionPane.showMessageDialog(null,"您总共猜了"+counter+"次共花了

"+(endTime-startTime)/1000+"秒的时间答对正确答案!");

}

jTextField1.setText("");

jTextField1.requestFocus();

}

switch语句是基于整型表达式的条件判断语句,猜数字用它来进行成绩判断。可以看出,switch语句是和若干case语句和一个default语句搭配使用的。代码中的switch语句用counter变量的值进行判断。

当counter的值为1时,便执行case 1里面的语句,即打印“你是神么??这也太给力了吧!!”的字样,随后的break语句表示整个switch语句执行到这里结束了。

当counter的值为2时,便执行case 2里面的语句。可以发现case 2到case 6都没有break语句,这表示依次执行下面的语句,从而counter的值为2至7时,都打印“这么快就猜对了,你很smart啊!”字样。

当counter的值不是1至7时,便执行default语句,打印“猜了半天才猜出来,小同志,尚须努力啊!”的字样。

(4)计时模块

计时模块的代码分别写在游戏的开始和游戏的结束,取得时间差,以毫秒为单位。

long startTime = System.currentTimeMillis();

long endTime = System.currentTimeMillis();

(5)异常处理

Java语言提供了异常(Exception)处理机制帮助程序员发现并处理异常。所谓异常,就是在程序执行过程中能干扰程序正常流程的事件。导致异常的原因很多,比如文件找不到、数组越界、除以零等。当异常出现时,一个异常对象将被自动生成并传递给Java“运行时环境”(runtime system),说得专业一点,就是抛出一个异常。异常对象包含了异常类型、程序运行状态等信息。“运行时环境”得到异常对象后便打断程序的正常流程,自动寻找一个专门处理该异常的代码块来解决问题。这样的代码块称作异常句柄(Exception Handler)。你可以在异常句柄中尝试修复错误、重试或者报错,或者实在无法进行下去的时候来个自我了断。如果“运行时环境”找不到异常句柄,Java程序便会自行中断。

一个典型的异常处理如下:

try {

statement(s);

} catch (exceptiontype1 name) {

statement(s);

} catch (exceptiontype2 name) {

statement(s);

} finally {

statement(s);

}

其中:

try语句括起来的语句可能抛出异常。try语句至少要搭配一个catch语句或finally 语句,不能单独使用。

catch语句必须和一个try语句配套使用,根据异常类型(exception type)分别处理不同的异常。也就是说,Java有许多预先定义的异常,你可以通过多个catch语句对它们分门别类地处理。你还可以自己定义异常类型。如果try语句块中没有抛出异常,这里自然不会被执行。

finally语句也必须和一个try语句配套使用,与catch语句不同,无论try语句块中是否抛出异常,finally所包括的语句块都会被执行

我设计的猜数字游戏需要从控制台获取玩家输入的数字,有多个异常处理

可以编写如下代码:

{

//Set Look & Feel

try {

javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsL ookAndFeel");

} catch(Exception e) {

e.printStackTrace();

}

}

// try,catch的异常管理。

try {

guess=Integer.parseInt(jTextField1.getText());

} catch (Exception e) {

使用异常机制的诸多好处

使得程序更健壮,界面更友善。

把程序的业务逻辑与错误处理分开,代码更合理,更美观。

异常可以分层次处理,使得代码更简洁。

同类的异常可以归到一类一起处理,处理更方便。

4.3 类与数据结构实现

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 专业:自动化 班级: 姓名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 1.1设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 1.2设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do?)。在确定解决方案框架过程中(How to do?),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 2.1题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。 2.2解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 2.3流程图 子函数流程图如图1所示:

Java课程设计 1-100以内猜数游戏

计算机与通信学院软件学院课程设计说明书 1-100以内猜数游戏 作者:刘正翔 学号:11700215 专业:软件技术 班级: 11级软件2班 指导教师:高玮军 答辩时间: 2012/6/2

1-100以内猜数游戏 刘正翔 11700215

摘要 本设计将一个1-100以内的猜数字游戏作为研究对象。设计出一个有系统随机选出一个1-100的数字不显示出来,由玩家猜这个数字,直到猜中为止,并显示出玩家猜中数字所用时间和次数对玩家做出评判,并对所涉及的相关技术进行初步的探讨。 程序运行就进入游戏玩家就可以进行数字猜猜看了。 关键字:数字游戏 java代码

目录 摘要 (3) 一、设计任务与要求 (1) 1.1课程设计的任务 (1) 1.2课程设计的要求 (1) 二、需求分析 (1) 2.1 用户需求分析 (1) 三、设计思路 (2) 3.1 系统总体设计 (2) 3.2 功能模块设计 (3) 四、详细设计 (5) 4.1 程序流程图 (5) 4.2 关键算法与技术实现 (7) 4.3 类与数据结构实现 (16) 五、运行调试与分析讨论 (17) 5.1 系统测试方案 (17) 5.2 运行结果分析 (18) 六、设计体会与小结 (22) 致谢 (24) 七、参考文献 (25)

一、设计任务与要求 1.1课程设计的任务 根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。 (1)掌握Java的语言规范,面向对象的核心概念和特性; (2)掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等; (3)掌握Java应用软件的开发环境和开发过程; (4)掌握面向对象的思想和程序设计方法。 1.2课程设计的要求 设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字。用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如偏大或者是偏小。 二、需求分析 2.1 用户需求分析 设计一个猜数字游戏程序,要求具体如下特性: (1)趣味性:要求游戏内容丰富多彩,语言风趣幽默。 (2)大众性:要求游戏界面操作简单,游戏规则简单易懂。 (3)合理性:游戏设计严谨,有条理,具体需求如下 ①输入任意一个数字。数字的要求是1—100的自然数即可。 ②系统对您输入的数字进行判断。

数字逻辑课程设计报告(猜数字游戏)

滁州学院 课程设计报告 课程名称:数字逻辑课程设计 设计题目:猜数字游戏的设计 院部:计算机与信息工程 专业:网络工程 组别:第五组 起止日期: 2012年5月28日~2012年6月15日 指导教师:张永定 计算机与信息工程学院二○一二年 、

课程设计任务书 课程设计题目猜数字游戏的设计 组长严盼盼学号2011211329 班级网工112班院部计算机与信息工程专业网络工程 组员武倩闫静周晶晶夏艾 指导教师张永定 课程设计目的1.设计一个具有用保存用来进行比较的数据,输入新的数据通过比较器与保存的数据进行比较,用计数器进行计数统计功能的电路。 2.通过此次实验加深对所学数电知识的运用。 3.锻炼Multisim 10的仿真能力和硬件调试能力。 课程设计所需环境硬件环境:微型计算机 软件环境:Windows XP Multisim 10 课程设计任务要求1.猜数字游戏由若干个按键、若干个发光二极管。 2.输入为六位二进制数,与正确值进行比较,判断得出结果。 3.如果出现连续5次猜错,则红灯亮,表示游戏结束。 4.游戏开始时,可以对存储值进行设置。 课程设计工作进度计划 序号起止日期工作内容分工情况 1 5.28~6. 2 课程内容介绍和查找资 料严盼盼:介绍课程内容 武倩、闫静、周晶晶、夏艾:查找资料 2 6.3~6.6 设计总体思路,基本原 理和框图 严盼盼:分析数字电路所需的芯片 3 6.7~6.10 单元电路设计严盼盼:对电路进行总设计 武倩、闫静、周晶晶:负责了解各芯片功能 夏艾:负责连接线路 4 6.11~6.12 搭建仿真电路并进行测 试,调试电路严盼盼、周晶晶:搭建电路 武倩、闫静、夏艾:故障分析并进行改进 5 6.13~6.15 整理文档与总结武倩:负责整理文档 指导教师签字:年月日 系(教研室)审核意见: 系(教研室)主任签字:年月日

猜数字游戏课程设计完整版

北京邮电大学世纪学院 实验、实习、课程设计报告撰写格式与要求 (试行) 一、实验报告格式要求 1、有实验教学手册,按手册要求填写,若无则采用统一实验报告封面。 2、报告一律用钢笔书写或打印,打印要求用A4纸;页边距要求如下:页边距上下各为厘米,左右边距各为厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。 3、统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。 4、实验报告中的实验原始记录,须经实验指导教师签字或登记。 二、实习报告、课程设计报告格式要求 1、采用统一的封面。 2、根据教学大纲的要求手写或打印,手写一律用钢笔书写,统一采用国家标准所规定的单位与符号,要求文字书写工整,不得潦草;作图规范,不得随手勾画。打印要求用A4纸;页边距要求如下:页边距上下各为厘米,左右边距各为厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。

三、报告内容要求 1、实验报告内容包括:实验目的、实验原理、实验仪器设备、实验操作过程、原始数据、实验结果分析、实验心得等方面内容。 2、实习报告内容包括:实习题目、实习任务与要求、实习具体实施情况(附上图表、原始数据等)、实习个人总结等内容。 3、课程设计报告或说明书内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。 四、课内实践课报告撰写要求 1、大型作业类的按课程设计要求撰写; 2、带实习性质的按实习要求撰写; 3、其余的按实验要求撰写。 五、其它 由于存档的需要,所有报告必须双面打印,请教师做好把关工作。 北京邮电大学世纪学院

猜数字游戏C语言课程设计报告书

《C程序设计》 课程设计报告(2014— 2015学年第 2 学期) 题目:猜数字游戏 学院:机械工程学院 班级:机械1310班 学号: 1303090190 姓名:晨 指导教师:罗涛华 时间:起 2015年5月25日止2015年5月31日

一、课程设计基本信息 课程代码:05190124 课程名称:计算机基础课程设计 课程英文名称: Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:食品科学与工程学院、机械工程学院、电气与电子工程学院、土建学院、动物科学与营养工程学院、化学与环境工程学院、工商管理类、国际经济与贸易、旅游管理、金融学、行政管理、汉语言文学、英语、护理学、康复治疗专业、生物科学类、制药工程、制药工程(生物制药)、药物制剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、程序设计课程 学分:1 总学时:1周 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能:1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3.系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4.根据个人的设计调试过程,撰写设计报告。 三、课程设计容 熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。 四、课程设计要求 1.要求每个同学都要认真对待,积极参与。 2.课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同时填写并完 成《课程设计报告册》。 3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参 与的将作不及格处理。

java课程设计 猜数游戏课程设计报告

《面向对象程序设计》 课程设计报告 题目: 下拉列表运算器设计 专业: xxxxx 班级: xxx 姓名: xx 指导教师: xx 成绩: xx xxxx 年 x 月xx 日 xx

目录 1 设计内容及要求 (1) 1.1 课程设计目的 (1) 1.2 设计项目名称 (1) 1.3 类的结构分布 (1) 2 概要设计 (2) 2.1系统总体功能 (2) 2.2 游戏流程概述 (2) 3 设计过程或程序代码 (3) 3.1 猜数游戏 (3) 3.2功能模块详细设计 (4) 3.3 类的设计 (5) 4 程序代码调试 (6) 4.1程序流程 (6) 4.2关键算法与技术实现 (6) 4.2.1 随机数的获取 (6) 4.2.2 输入输出 (6) 4.2.3 判断时间 (7) 4.2.4 自动计数 (7) 4.2.5 结果输出 (8) 4.2.6 图形界面的实现 (8) 4.3 类的实现 (9) 5设计结果与分析 (10) 5.1登录界面 (10) 5.2游戏界面 (10) 5.3猜数举例 (11) 参考文献 (12)

1 设计内容及要求 功能要求:该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止。游戏结束后计算出玩家所用的时间与所猜的次数。 1.1 课程设计目的 通过设计一个《标准化考试系统设计》,进一步熟悉Java中的概念、基本知识和技能利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对Java的理解与eclipse环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。 1.2 设计项目名称 猜数游戏设计 1.3 类的结构分布 图 1 类的分布

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

java课程设计贪吃蛇游戏设计

前言 Java最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景。于是改造了Oak,以“Java”的名称正式发布。 Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

猜数字实验报告

《程序设计课程设计》题目:《猜数字》游戏 物联网工程学院计算机科学与技术专业 学号: 学生姓名:孙文佳 班级:计科1305 成绩:

设计思路: 猜数字是一个比较益智的游戏,游戏规则也很简单,真正自己实现游戏的运行也并不是什么难事,下面就主要讲讲自己的设计思路。 大的框架是把函数封装在类中,这样就可以应用所学的类。 首先是随机产生一个4位整数,根据要求,最高位不能为0,且每一位的数不能相同。让系统随机产生4个个位数,这里就用到srand(time(NULL))获取系统的时间作为种子,防止每次运行的结果都是相同的。time()函数包含在头文件time.h中。用一个for语句,依次产生这四个数,因为要求最高位不能为0,这里就用一个while语句重新生成a[0],然后就是每位上的数不得相同,依然用while语句解决这个问题。 接着是提示用户输入一个四位数,把这个四位数各位上的数保存在数组b[4]中,然后就是比较b[4]和a[4],计算数字正确且位置正确的数的个数,还有数字正确但位置错误的数的个数(这应该是游戏的额核心),其实这一步也不难,就是利用一个for语句逐个比较b[j]与a[i],如果b[j]等于a[i],wrong++,然后判断i是否等于j,是的话right++,wrong--,如果猜了8次还不正确的话,提示用户是否继续,这里用一个switch语句就行了。如果猜了15次还不正确的话,提示用户游戏失败,是否重新玩一局。在此之前把这次的记录写入txt文件中,这里就用到c++的输入输出流,对于数据的保存只要学会格式,依葫芦画瓢即可。还有就是数据的读取,在游戏结束时输出上一局的结果。

Java课程设计 点小游戏

2016—2017学年第二学期 《面向对象程序设计》课程设计报告 题目:21点小游戏 专业: 班级: 姓名: 指导教师: 成绩: 计算机学院 2017年5月16日

1.设计目的 面向对象程序设计是一门实践性很强的专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。通过这次设计,掌握了以下内容:面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用类、包、接口的定义与使用。常用工具类与算法的实现(数组、向量、字符串、链表),、中常用标准GUI组件及相应的事件处理,Java的异常处理机制,Java的数据库连接技术,Java的多线程技术与动画制作以及Java的网络编程。 游戏规则是:各个参与者设法使自己的牌达到总分21而不超过这个数值。2.设计思路 本游戏选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 在要牌的过程中,如果所有的牌加起来超过21点,玩家就输了——叫爆掉(Bust),游戏也就结束了。假如玩家没爆掉,而庄家的总点数加起来大于21点后,那庄家就输了。假如庄家没爆掉,而玩家也没有爆掉,那么玩家就与庄家比点数大小,大为赢。一样的点数则庄家赢。

图 1 结构 3.设计结果与分析 当打开该小游戏时,打开游戏菜单里面的开始游戏,软件运行界面如下图所示 图2 主界面 图3 玩家点数大于21点 图4 玩家点数大于庄家点数 图5 庄家点数大于玩家点数 图6 继续要牌 图7 玩家点数等于庄家点数

猜数字游戏课程设计

攀枝花学院课程设计 题目:猜数字游戏 院(系):数学与计算机 年级专业: 姓名: 学号: 指导教师: 二〇**年*月***日 攀枝花学院教务处制

攀枝花学院本科学生课程设计任务书

课程设计(论文)指导教师成绩评定表

目录 摘要 (5) 1 需求分析 (6) 1.1 需求概述: (6) 1.2 需求环境: (6) 1.3 功能描述: (6) 2 概要设计 (7) 2.1程序功能模块 (7) 2.2 程序流程图 (7) 3 详细设计 (8) 3.1 随机数字模块 (8) 3.1.1 代码功能 (8) 3.1.2 详细代码 (8) 3.2 循环输入所猜测数字 (8) 3.2.1 代码功能 (8) 3.2.2 详细代码 (8) 3.3 对比两数字 (9) 3.3.1 代码功能 (9) 3.3.2 详细代码 (9) 3.4 游戏计时 (9) 3.4.1 代码功能 (9) 3.4.2 详细代码 (9) 4 测试运行 (10) 4.1 显示随机数字 (10) 4.2 不显示随机数字 (11) 结束语 (12) 参考文献 (13) 程序源代码 (14)

摘要 猜数字游戏是一项有趣的小游戏,玩家需要输入一个数字与电脑所给出的随机数字相比较,如若数字相同,则游戏结束;若数字不同,则给出所猜测数字同随机数字比较大小,继续进行猜测,直至猜对为止。 猜数字游戏小程序编写过程中,需要循环输入所猜测数字;同时也需要电脑随机给出一个数字以及游戏计时函数。 关键词:循环;随机函数;计时函数;

1 需求分析 1.1 需求概述: 猜数游戏突破一般游戏的娱乐功能,在娱乐的同时开拓了玩家的思维及应变能力。猜数字游戏是一种看似简单但事实很难的游戏,我们在玩的同时要不停地动脑筋,计算着数字的概率,这就锻炼着我们对数字的敏感和对概率的熟悉。这个游戏不仅学生可以玩,成人也是很适合的,我们在玩游戏的同时也在不停的锻炼我们的耐心和恒心。由于我们是初学者,设计过程中有很多不足之处,所以我们的游戏并没有排行等功能。该游戏可能有点难度,但我认为这或许会更好,我们玩的时候也是和我们自己比赛,不停的超越自己。 1.2 需求环境: 本课程设计需要的设备为硬件要求和软件配置要求具体要求如下: ①硬件要求:一台计算机。 ②软件配置:WINDOWS、C/VC++6.0。 1.3 功能描述: 1,游戏软件随机产生1个数字,但不显示,给用户提供输入提示符,让用户猜这个数字的值。如果正确地猜中这个数字,则猜数字成功。 2,玩家猜数字的次数不限。 3,玩家每次输入猜测数字,统会将输入数字与本次游戏产生的随机数比较,相等则猜数字成功,不相等则根提示猜测数字与随机数比较,大了还是小了并记录当前游戏猜测时间。 4,当玩家成功猜中数字时,系统会输出本局所用时间作出评价。

猜数字游戏的分析与实现

课程设计名称:猜数字游戏的分析与实现 目录

一游戏说明 二总体设计 三程序代码 四运行结果 五附录文档 一游戏说明 1使用说明 (1)开始功能键选择 1:开始游戏 2:查看排行榜 3:查看帮助 4:清除排行榜 5 :等级设定 (2)系统将提交的数与它自动产生的数进行比较,输出结果“*A*B”形式。其中A代表数字正确相应位置也正确,B代表数字正确但位置不正确。如:1A3B表示游戏者有1个数字的位置正确且数值也正确,除此以外,游戏者还猜对了3个数字,但位置不对,即游戏者已经猜出4位数据,但有3个数据位置不对

2程序说明书 (1)程序的功能说明:猜数字游戏是一个运行在Windows平台下的小型游戏软件,依据猜数字游戏的基本规则,给用户进行成绩排行,并可以随着玩家的游戏记录进行更新。游戏用户可以选择开始游、排行榜查看、帮助等主要功能。当用户选择开始游戏时,系统会让用户逐次猜数字,用户每次猜数字后系统会给出本次猜数字的结果提示,如位置和数字都正确的数字个数、数字正确但位置不正确的数字个数。如果用户猜数字的次数超过10次,则提示用户游戏失败,如果在10次之内猜出4个数字和正确的顺序,则提示用户猜数字成功,并到排行榜中进行比较,如果排名在前一名,则计入排行榜中,以便其他用户查看。在排行榜查看功能中,用户可以查看当前的游戏排行,如有新的记录产生,则插入到排行榜中,并把排行榜中位次最末的记录挤出排行榜。在帮助模块,用户可以查看游戏规则,当熟悉规则后可以退出帮助模块。 (2)程序的设计说明:排行榜中存放玩家信息和成绩,排行榜对应record文件。如删除该文件,则调用系统后,会初始化排行榜,重新建立该文件,并设置初始的玩家姓名和游戏记录。 3 软件可以实现的基本功能 (1)游戏区:玩家可以在游戏区逐次猜数字,系统给出玩家每次猜数字后的提示,包括数值、位置均正确的数字个数和数值正确但位置不正确的数字个数。 (2)刷新排行榜:当玩家成功完成一轮猜数字游戏后,可通过和排行榜中相应记录的比较判断玩家是否可以进入排行榜,进入排行榜的资格游戏成绩在前五名的玩家。 (3)查看排行榜:玩家可以查看当前排行榜中的排名顺序,从而确定自己的游戏目标。排行榜的查看按一定顺序显示给用户,便于查看。 (4)清除排行榜:玩家可以选择清除排行榜功能,使得排行榜上的玩家姓名和玩家游戏记录从系统中清除,只留下系统默认的玩家名(player)和系统默认记录10次。 (5)帮助:玩家通过帮助功能了解游戏规则和排行榜设置规则。 4模块设计说明 (1).游戏区模块 该模块为玩家提供猜数字游戏的主体功能,由系统自动产生4个随机排列的整数,并给用户10次机会猜测数字的数值和排列顺序。如果用户在10次之内没有猜出正确的结果,则提示用户游戏失败,否则提示用户猜数字成功,并调用产生新记录模块对玩家游戏成绩进行处理。流程图如下:

java课程设计猜数游戏课程设计报告

xx xx 学号 《面向对象程序设计》 课程设计报告 下拉列表运算器设计目题: xxxxx 业:专xxx :班级xx 姓名: xx 指导教师: :绩成 xx

xx xxxxx年月日 目录 1 设计内容及要求 (1) 1.1 课程设计目的 (1) 1.2 设计项目名称 (1) 1.3 类的结构分布 (1) 2 概要设计 (2) 2.1系统总体功能 (2) 2.2 游戏流程概述 (2) 3 设计过程或程序代码 (3) 3.1 猜数游戏 (3) 3.2功能模块详细设计 (4) 3.3 类的设计 (5) 4 程序代码调试 (6) 4.1程序流程 (6) 4.2关键算法与技术实现 (6) 4.2.1 随机数的获取 (6) 4.2.2 输入输出 (6) 4.2.3 判断时间 (7) 4.2.4 自动计数 (7) 4.2.5 结果输出 (8) 4.2.6 图形界面的实现 (8) 4.3 类的实现 (9) 5设计结果与分析 (10) 5.1登录界面 (10) 5.2游戏界面 (10) 5.3猜数举例 (11) 参考文献 (12)

1 设计内容及要求 功能要求:该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止。游戏结束后计算出玩家所用的时间与所猜的次数。 1.1 课程设计目的 通过设计一个《标准化考试系统设计》,进一步熟悉Java中的概念、基本知识和技能利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对Java的理解与eclipse环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。 1.2 设计项目名称 猜数游戏设计 1.3 类的结构分布 类的分布1 图 2 概要设计 在设计标准考试设计时,编写了2个Java源文件:GuessShu.java,Dengru.java. 游戏分为随机数的获取,输入输出模块,判断模块,自动计数模块,结果输出模块。其中输入输出模块中系统会对玩家给出的数进行判断和输出。判断模块会对玩家的水平进行判断,并计算出玩家所用的时间和次数。 2.1系统总体功能 猜数游

猜数字游戏课程设计报告

XXXX学校 《C程序设计》 课程设计报告 设计题目:猜数字游戏 附录完整源代码 专业: 班级: 学生: 学号: 指导教师: 起止时间: xxx.x.x -xxx.x.x xxxx-xxxx年 xx 学期

目录 1 、程序设计描述 1.1 程序设计目的: 1.2 程序设计要求: 1.3、猜数字游戏的简介: 2 、程序设计内容: 2.1、游戏主要框架图: 2.2、开始游戏框架: 2.3、最佳排行框架: 2.4、游戏操作说明模块: 2.5、退出游戏系统: 2.6、游戏系统总流程图: 3、猜数字游戏源代码: 3.1、void main()函数函数功能: 3.2、void game();//双人游戏 void pgame();//单人游戏 3.4、排行榜模块函数功能: 3.5、继续游戏模块函数功能: 3.6、操作说明模块函数功能: 4、调试与测试: 4.1、调试方法 4.2、测试结果的分析与讨论 4.3、测试过程中遇到的主要问题及采取的解决措施 5、程序具体说明书: 6、程序设计心得: 7、参考文献

1 、程序设计描述 1.1 程序设计目的: 综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 1.2 程序设计要求: 1、巩固和加强《C语言程序设计》课程的理论知识。 2、掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程设计的思想和方法;学会利用流程图。 5、掌握调试程序的基本方法及上机操作方法。 6、掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。课程设计的思想和方法还可以作为做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养独立分析问题和解决问题的能力。为做毕业设计打好基础。 8、培养自己的创新能力和创新思维。可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 9、培养自己良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 1.3、猜数字游戏的简介: 猜数字游戏(又称 Bulls and Cows )是一种大概于20世纪中期兴起于的益智类小游戏。一般由两个人玩,也可以由一个人和电脑玩,在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 2 、程序设计内容: 2.1、游戏主要框架图: 该模块为玩家提供猜数字游戏的主体功能,即开始游戏、继续游戏、最佳排行、操作说明、退出游戏。给用户一个清晰明了的操作界面!流程图如下:

猜数字游戏课程设计报告

学校 《C程序设计》 课程设计报告 设计题目:猜数字游戏 附录完整源代码 专业: 班级: 学生: 学号: 指导教师: 起止时间: xxx.x.x -xxx.x.x xxxx-xxxx年 xx 学期

录 1 、程序设计描述 1.1 程序设计目的: 1.2 程序设计要求: 1.3、猜数字游戏的简介: 2 、程序设计内容: 2.1、游戏主要框架图: 2.2、开始游戏框架: 2.3、最佳排行框架: 2.4、游戏操作说明模块: 2.5、退出游戏系统: 2.6、游戏系统总流程图: 3、猜数字游戏源代码: 3.1、void main()函数函数功能: 3.2、void game();//双人游戏 void pgame();//单人游戏 3.4、排行榜模块函数功能: 3.5、继续游戏模块函数功能: 3.6、操作说明模块函数功能: 4、调试与测试: 4.1、调试方法 4.2、测试结果的分析与讨论 4.3、测试过程中遇到的主要问题及采取的解决措施 5、程序具体说明书: 6、程序设计心得: 7、参考文献

、程序设计描述 1.1 程序设计目的: 综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。 1.2 程序设计要求: 1、巩固和加强《C语言程序设计》课程的理论知识。 2、掌握C语言的基本概念、语法、语义和数据类型的使用特点。 3、掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 4、进一步理解和运用结构化程设计的思想和方法;学会利用流程图。 5、掌握调试程序的基本方法及上机操作方法。 6、掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。课程设计的思想和方法还可以作为做毕业论文时的参考资料。 7、通过查阅手册和文献资料,培养独立分析问题和解决问题的能力。为做毕业设计打好基础。 8、培养自己的创新能力和创新思维。可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。 9、培养自己良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。 1.3、猜数字游戏的简介: 猜数字游戏(又称 Bulls and Cows )是一种大概于20世纪中期兴起于英国的益智类小游戏。一般由两个人玩,也可以由一个人和电脑玩,在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 2 、程序设计内容: 2.1、游戏主要框架图: 该模块为玩家提供猜数字游戏的主体功能,即开始游戏、继续游戏、最佳排行、操作说明、退出游戏。给用户一个清晰明了的操作界面!流程图如下:

Java课程设计(猜数字游戏)完整版

课程设计任务书

2015-2016学年第一学期 面向对象程序设计(Java) 课程设计说明书 班级名称:2014计算机科学与技术(对口) 学生姓名:徐竹青 学号:2014214190 题目:猜数字游戏 指导教师:徐志红 起止日期:2015年12月25日至2015年12月31日 计算机与信息工程学院

目录 1.选题背景 (1) 2.设计思路 (1) 2.1 课程设计思想 (1) 2.1.1设计内容 (1) 2.1.2设计要求 (1) 2.2功能需求 (1) 2.3软硬件运行环境及开发工具 (1) 3.过程论述 (2) 3.1需求分析 (2) 3.1.1系统功能图 (2) 3.1.2知识点 (2) 3.2程序代码分析 (2) 4.结果分析 (7) 4.1测试与操作说明 (7) 4.2测试数据及程序运行情况 (7) 4.2.1猜数游戏结果 (7) 5.结论 (8) 参考文献 (8) 致谢 (8)

1.选题背景 Java语言作为当今Internet上最流行的编程语言,它的产生自然与游戏密切相关。本次课程设计是为了配合Java程序设计课程,帮助学生深入学习和掌握Java语言,熟练运用这个工具而设立的课程。通过课程设计的综合训练,加强学生对Java语言的理解,检验学生对专业理论知识的理解与掌握程度,锻炼学生综合运用Java程序设计所学的知识,实际分析问题、解决问题的能力。 通过对猜数字游戏程序设计的学习,使学生掌握编程的基本方法,能够根据现实生活实践编制出一些使用的小程序,为以后学习其他相关课程打下基础。 2.设计思路 2.1 课程设计思想 2.1.1设计内容 设计一个猜数字游戏程序,要求具体如下特性: (1) 输入任意一个数字。数字的要求是0-1000的自然数即可。 (2)系统对您输入的数字进行判断。如果玩家输入的数字与计算机随机生成的数相比较, 如果输入的数字和位置都正确。则提示为A,如果数字正确,位置错误,则提示为B。 (3)每猜测一次,系统会记录下来。显示剩余的猜数次数。 2.1.2设计要求 设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字。用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如0A1B,0A 表示用户没有猜对一个数字和位置都正确的数,1B 表示用户猜对了一个数字,但数字的位置是错的。 2.2功能需求 一个较完善的猜数字游戏的程序功能,应该具有产生随机数、用户输入数字、如何猜数等功能。 所以要求完成以下功能: (1)首先计算机内部产生一个随机数。 (2)由用户输入数字,根据程序的格式限制,来判断用户输入的数格式是否正确。 (3)如何进行猜数,并显示出猜数的次数以及剩余的次数。 2.3软硬件运行环境及开发工具 (1)编成语言:Java语言。 (2)开发环境:Microsoft Windows 7、JDK,Eclispse。

java猜数游戏实验报告

课程设计报告 课程设计名称Java程序设计-猜数游戏 指导教师钟世刚 专业班级信息安全 学号 姓名 成绩 2012年1月5日

目录 一、设计任务与要求 (1) 1.1 设计任务与要求 (1) 1.2 选题目的与意义 (1) 二、设计思想 (1) 2.1 系统总体设计 (1) 2.2 功能模块设计 (1) 2.3 类的设计 (2) 三、程序实现 (3) 3.1关键算法与技术实现 (3) 3.2代码 (3) 四、测试运行 (6) 4.1 运行结果分析 (6) 五、设计体会 (8) 5.1 汪莉琼设计体会 (8) 5.2曾祥平设计体会 (9) 主要参考文献 (9)

一、设计任务与要求 1.1 设计任务与要求 猜数游戏,系统随机出一个1到100的数字,然后用户在网页上猜,猜错了则提醒猜大了还是小了,直到猜对。 1.2 选题目的与意义 通过猜数游戏的设计过程,深刻了解掌握面向对象程序设计语言Java的jsp核心概念和特性;了解编程技术知识,会处理异常情况。掌握Java应用软件的开发环境和开发过程;灵活选择程序设计思想。 二、设计思想 2.1 系统总体设计 该软件功能分析说明图如所示: 总体利用javabean与jsp相结合,来实现简单清晰的程序思路。

2.2 功能模块设计 (1) Javabean 完全利用java 的语言编写,进入游戏系统后,判断猜数次数似否为0,为0则进行猜数,如果没有猜到,则提醒该数大了还是小了,继续猜,直到猜对。要进行下一次游戏则必须推出本次。 (2) jsp 页面 是在eclipse 开发环境里写的jsp 文件,其为动态页面,利用java :usebean 来实现该jsp 页面与javabean 的连接。简单清晰。 2.3 类的设计

java实验报告猜数字

《Java程序设计》实验报告 实验一:猜数字 专业班级:通信工程2008级1班姓名: 学号: 时间: 实验一:猜数字 1、实验目的:

让学生使用if-else分支和while循环语句解决问题。 2、实验要求: 编写一个java应用程序,实现如下功能: ※随机分配给客户一个1~100之间的整数。 ※用户从键盘输入自己的猜测。 ※程序返回提示信息,提示信息分别是“猜大了”、“猜小了”和“猜对了”。 ※用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。 3、程序效果图(各位同学的效果图应该各不相同!) 4、程序代码(主要语句有注释!) 5、实验思考问题

6、实验总结及心得 程序模板: import java.util.*; public class GuessNumber { public static void main (String args[ ]) {

System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; Scanner reader=new Scanner(System.in); System.out.println("输入您的猜测:"); 【代码1】// reader调用方法获取用户从键盘键入的整数,并赋值给yourGuess while (【代码2】) // 循环条件。 { if (【代码3】) // 条件代码。 { System.out.println("猜大了,请再猜:"); 【代码4】// reader调用方法获取用户从键盘键入的整数,并赋值给yourGuess } else if(【代码5】) // 条件代码 { System.out.println("猜小了,请再猜:"); 【代码6】// reader调用方法获取用户从键盘键入的整数,并赋值给yourGuess } } System.out.println("猜对了!"); } } 答案代码: import java.util.*; public class GuessNumber { public static void main (String args[ ]) {

Java课程设计--猜数字游戏

Java课程设计--猜数字游戏

JavaEE课程设计报告 课题猜数字游戏 班级10中韩软工1班 学号10130305 姓名顾文宾

一、设计任务与要求 1.1 设计任务与要求 课程设计的任务是:根据所选课题“猜数游戏”,完成课程设计的分析、设计和编码,并用字符界面或图形界面实现。且写出课程设计报告。 课程设计的要求是:设计一个猜数游戏,系统自动生成一个数字,然后由玩家进行猜测,然后系统根据玩家输入的数字跟系统的进行比较,并给出提示。直到玩家猜对为止。 1.2 选题目的与意义 通过猜数游戏的设计过程,深刻了解掌握面向对象程序设计语言JavaEE的核心概念和特性;了解编程技术知识,会处理异常情况。学会制作图形界面;掌握JavaEE 应用软件的开发环境和开发过程;灵活选择程序设计思想。 通过撰写课程设计论文,锻炼科技论文写作能力。 二、需求分析 2.1 用户需求分析 设计一个猜数游戏,游戏规则如下 (1).首先由系统随机生成一个范围再1-100之间数。 (2).然后玩家进行猜数,输入一个数字。 (3).如果玩家输入的数字与系统随机生成数相比较,比随机生成的数小。系统将提示,猜小了并给出已猜次数。然后重新输入。 (4).如果玩家输入的数字与系统随机生成数相比较,比随机生成数大。系统将提示,猜大了并给出已猜次数。然后重新输入。 (5).如果玩家输入的数字与系统随机生成数相符。系统将提示,恭喜,猜对了。 2.2 开发环境分析 本程序使用WINDOWS环境下的Myeclipse6.5软件开发。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。

相关文档
最新文档