猜数字小游戏JAVA程序报告汇总

猜数字小游戏JAVA程序报告汇总
猜数字小游戏JAVA程序报告汇总

JAVA程序设计报告

——猜数字小游戏

目录

一、猜数字小游戏简介 (4)

二、用户需求分析 (4)

三、问题描述 (4)

1.课程设计的任务

2.课程设计的要求

四、模块设计 (5)

1.课程设计的要求

2.功能模块设计

3.流程图

五、功能设计 (7)

1 . 随机数的产生模块

2 . 输入判断模块

3 . 记录猜测次数模块

4.计时模块

5.输入输出模块

6.成绩判断模块

六、异常处理 (9)

七、调试分析 (10)

八、不足之处 (11)

九、总结 (12)

十、程序附页 (13)

摘要

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

一、猜数字小游戏简介

系统随机产生任意一个1—100的自然数,玩家输入数字,若输入的数字比随机生成数小,系统将提示,数字太小请您重新输入;如果输入的数字比随机生成数大,系统将提示,数字太大请您重新输入;若输入的字符不是合法字符,系统将提示,您输入的数字不合法,请从新输入,游戏开始时,系统自动记录您猜数字的时间和次数,结束后显示游戏共花费的次数和时间及对游戏结果的评价。

二、用户需求分析

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

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

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

如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将提示您,数字太小请您重新输入。

如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。系统将提示您,数字太大请您重新输入。

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

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

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

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

f. 游戏结束前可选择直接显示答案

三、问题描述

1.课程设计的任务:

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

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

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

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

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

2.课程设计的要求:

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

四、模块设计

1 . 系统总体设计

2 .

3 . 流程图

五、功能设计

1 . 随机数的产生模块

我们可以借助Java API提供的Random类来产生一个随机数。

首先在main函数中加入以下代码:

Random random = new Random();

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

2 . 输入判断模块

在游戏界面中输入不合法

try {

guess = Integer.parseInt(jTextField1.getText()); //玩家输入获取

}

catch (Exception e) {

JOptionPane.showMessageDialog(null, "请输入一个1-100之间的整数"); //显示对话框,输入不合法jTextField1.setText(""); //清空文本框内容

jTextField1.requestFocus();

return; }

3 . 记录猜测次数模块

// 记录玩家猜测的次数

counter = 0;

// 计数器增加一

counter++;

4 . 计时模块

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

long startTime = System.currentTimeMillis();

long endTime = System.currentTimeMillis();

5 . 输入输出模块

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

if (guess > number) {

JOptionPane.showMessageDialog(null, "o(≧v≦)o猜大了");

jTextField1.setText("");

jTextField1.requestFocus();

return;

}

if (guess < number) {

JOptionPane.showMessageDialog(null, "o(≧v≦)o太小啦");

jTextField1.setText("");

jTextField1.requestFocus();

return;

}

if (guess == number) {

endTime = System.currentTimeMillis();

6 . 成绩判断模块

// 判断成绩。

switch (counter) {

case 1:

JOptionPane.showMessageDialog(null, "O(∩_∩)O太给力了吧");

break;

case 2:

case 3:

JOptionPane.showMessageDialog(null,"OH MY GOD!!!好腻害");

break;

case 4:

case 5:

case 6:

JOptionPane.showMessageDialog(null,"O(∩_∩)O猜对,很不错哦!");

break;

case 7:

case 8:

case 9:

case 10:

JOptionPane.showMessageDialog(null,"(+﹏+)有点慢,还要多练习");

break;

default:

JOptionPane.showMessageDialog(null, "(+﹏+)oh! NO,太慢啦,");

break;

}

六、异常处理

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

try {statement(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);

} catch (Exception e) {

e.printStackTrace();

}

try {

// 获取玩家的输入

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

} catch (Exception e)七、调试分析

八、不足之处

本小游戏还未建立游戏记录部分,无法记录玩家游戏成绩记录和建立游戏排行榜在界面设计方面还较为简单,

游戏还有很多可修改和增加难度的地方

总结

经过这几天努力终于完成了这份课设,虽然在操作的过程中我都遇到了许多的困难,但是却使我得到了许多的意外收获。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。在写代码的过程中我们也遇到了一些的困难,就是对一些有关Java 语言的不理解,我便又到课本中去查找。一个项目的成败关键不全在于技术。要

想在一个愉快的氛围里边以轻松的心情来完成紧张的工作,严谨的态度和工作的热情都是必不可少的。以前上课时有许多的问题并没有真正的认识到,但通过这次试验的制作,使我掌握了许多更重要的知识点。

程序附页

package JA V A;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.ArrayList;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class Login extends JFrame {

ArrayList names = new ArrayList();

ArrayList pwd = new ArrayList();

private static final long serialVersionUID = 1L;

public Login() {

this.setLocation(100, 100);

this.setSize(400, 180);

this.setTitle("欢迎进入有趣的猜数字小游戏");

loginWindow();

setLocationRelativeTo(null); //窗口居中显示this.setVisible(true);

}

public void loginWindow() {

JLabel name = new JLabel("请输入玩家姓名:");

JLabel password = new JLabel("请输入登陆密码:");

final JTextField tfName = new JTextField(20);

final JPasswordField tfPassword = new JPasswordField(20);

JButton ok = new JButton("注册");

JButton cancel = new JButton("登录");

JPanel pm = new JPanel();

JPanel p1 = new JPanel();

JPanel p2 = new JPanel();

JPanel p3 = new JPanel();

p1.add(name);

p1.add(tfName);

p2.add(password);

p2.add(tfPassword);

ok.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

names.add(tfName.getText());

pwd.add(tfPassword.getText());

JOptionPane.showMessageDialog(null, "注册成功");

tfName.setText("");

tfPassword.setText("");

}

});

cancel.addActionListener(new ActionListener() {

//@SuppressWarnings("deprecation")

//@Override

@SuppressWarnings("deprecation")

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

for (int i = 0; i < names.size(); i++) {

if (names.get(i).equals(tfName.getText())) {

if (pwd.get(i).equals(tfPassword.getText())) {

JOptionPane.showMessageDialog(null, "登陆成功");

setVisible(false);//隐藏原界面

new GuessNum();//进入主界面

}

else {

JOptionPane.showMessageDialog(null, "用户名或密

码有误");

}

}

}

}

});

p3.add(ok);

p3.add(cancel);

pm.add(p1);

pm.add(p2);

pm.add(p3);

this.add(pm);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new Login();

}

}

package JA V A;

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.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 static final long serialVersionUID = 1L;

private JLabel jLabel1;

private JTextField jTextField1;

private JButton jButton1;

private JButton jButton2;

private JButton jButton3;

private int number = 0;

private int counter = 0;

long startTime = System.currentTimeMillis();

long endTime; //计算时间

public GuessNum() {

super ("猜数字小游戏");

initChuangkou();

Random random = new Random();

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

}

private void initChuangkou() {

try {

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

//窗口关闭时销毁窗口

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

JFrame frame = new JFrame("Test Buttons");

frame.setLayout(new FlowLayout());

jLabel1 = new JLabel();

getContentPane().add(jLabel1);

jLabel1.setText("★欢迎进入有趣的猜数字游戏★请输入1~100中的任意一个数:");

jLabel1.setBounds(75,20, 200, 50);

jTextField1 = new JTextField();

getContentPane().add(jTextField1);

jTextField1.setBounds(110, 100, 112, 28);

jTextField1.addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent evt) {

jTextField1KeyPressed(evt);

}

});

jButton1 = new JButton();

getContentPane().add(jButton1);

jButton1.setText("确定");

jButton1.setBounds(120, 160, 100, 25);

jButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent evt) {

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

}

猜数字小游戏JAVA程序报告

JAVA程序设计报告 ——猜数字小游戏 目录 一、猜数字小游戏简介 (4) 二、用户需求分析 (4) 三、问题描述 (4) 1.课程设计的任务 2.课程设计的要求 四、模块设计 (5) 1.课程设计的要求 2.功能模块设计 3.流程图 五、功能设计 (7) 1 . 随机数的产生模块 2 . 输入判断模块 3 . 记录猜测次数模块 4.计时模块 5.输入输出模块 6.成绩判断模块 六、异常处理 (9) 七、调试分析 (10) 八、不足之处 (11) 九、总结 (12) 十、程序附页 (13) 摘要 猜数字是一款非常经典的脑力游戏,游戏规则简单,是消磨时间、锻炼脑力的好选择。通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用my eclipse软件。同时更加深入的了解字符界面的编程过程。使我更熟练的掌握Java程序框架

的搭建和类的创建格式。在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。 一、猜数字小游戏简介 系统随机产生任意一个1—100的自然数,玩家输入数字,若输入的数 字比随机生成数小,系统将提示,数字太小请您重新输入;如果输入的数字 比随机生成数大,系统将提示,数字太大请您重新输入;若输入的字符不是 合法字符,系统将提示,您输入的数字不合法,请从新输入,游戏开始时, 系统自动记录您猜数字的时间和次数,结束后显示游戏共花费的次数和时间 及对游戏结果的评价。 二、用户需求分析 设计一个猜数字游戏程序,要求具体如下特性: a.输入任意一个数字。数字的要求是1—100的自然数即可。 b.系统对您输入的数字进行判断。 如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生 成数小.系统将提示您,数字太小请您重新输入。 如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随 机生成数大。系统将提示您,数字太大请您重新输入。 如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。 c. 游戏开始时,系统自动记录您猜数字的时间,结束后显示游戏共花费 的时间。 d. 每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。 e. 在游戏结束时,可以选择关闭游戏,或者再来一局 f. 游戏结束前可选择直接显示答案 三、问题描述 1.课程设计的任务: 根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。 (1)掌握Java的语言规范,面向对象的核心概念和特性;

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 类的分布

猜数字小游戏JAVA程序报告

JAVA程序设计报告 ——猜数字小游戏目录 一、猜数字小游戏简介 (4) 二、用户需求分析 (4) 三、问题描述 (4) 1.课程设计的任务 2.课程设计的要求 四、模块设计 (5) 1.课程设计的要求 2.功能模块设计 3.流程图 五、功能设计 (7) 1 . 随机数的产生模块 2 . 输入判断模块 3 . 记录猜测次数模块 4.计时模块 5.输入输出模块 6.成绩判断模块 六、异常处理 (9)

七、调试分析 (10) 八、不足之处 (11) 九、总结 (12) 十、程序附页 (13) 摘要 猜数字是一款非常经典的脑力游戏,游戏规则简单,是消磨时间、锻炼脑力的好选择。通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用my eclipse软件。同时更加深入的了解字符界面的编程过程。使我更熟练的掌握Java程序框架的搭建和类的创建格式。在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。 一、猜数字小游戏简介 系统随机产生任意一个1—100的自然数,玩家输入数字,若输入的数字比随机生成数小,系统将提示,数字太小请您重新输入;如果输入的数字比随机生成数大,系统将提示, 数字太大请您重新输入;若输入的字符不是合法字符,系统将提示,您输入的数字不合法, 请从新输入,游戏开始时,系统自动记录您猜数字的时间和次数,结束后显示游戏共花费的 次数和时间及对游戏结果的评价。 二、用户需求分析 设计一个猜数字游戏程序,要求具体如下特性: a.输入任意一个数字。数字的要求是1—100的自然数即可。 b.系统对您输入的数字进行判断。 如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将 提示您,数字太小请您重新输入。 如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。系 统将提示您,数字太大请您重新输入。 如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。c. 游戏开始时,系统自动记录您猜数字的时间,结束后显示游戏共花费的时间。

猜数字游戏代码C语言

猜数字游戏代码C语言 #include <stdio.h> #include <stdlib.h> #include <time.h> void fun() { static int gc,count,try_time; static int a[4],b[4],i,j,k=0,m=0,n=1,u,sumA=0,sumB=0,flag[10]={0}; srand(time(NULL)); count=4; try_time=10; for(i=0;i<count;i++) { int t; do { t=rand()%10; }while(i==0 && t==0);

if(flag[t]==0) { a[i]=t; flag[t]=1; } else i--; } printf("\n∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("∽猜数游戏∽\n"); printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("∽1: 开始游戏∽\n"); printf("∽2: 查看上次成绩∽\n"); printf("∽3: 帮助信息∽\n");

printf("∽4: 系统设置∽\n"); printf("∽0: 退出游戏∽\n"); printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n"); printf("请输入选择: "); scanf("%d",&n); if(n==0) { printf("\n\n感谢您的使用,游戏退出!\n"); exit(0); } if(n==2){ printf("\n\n上次的成绩为:%d\n",u); do { printf("输入0返回上级菜单:"); scanf("%d",&n); printf("输入错误!请重新输入!\n"); }while (n>0); {

java实验—猜数字游戏

户需求分析 1.玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。 2.对玩家输入的数字进行判断大小,如果不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入,给出提醒以便玩家进一步选择。 3.玩家猜中时系统给出所用时间和游戏水平的判断,系统给出是否继续的提示及判断。 4.系统根据您猜数字的次数,自动计数. 5.直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统. 2 开发环境分析 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在结构上,MyEclipse的特征可以被分为7类: 1. JavaEE模型 2. WEB开发工具 3. EJB开发工具 4. 应用程序服务器的连接器 5. JavaEE项目部署服务 6. 数据库服务 7. MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。 该程序基于JDK和MyEclipse编写,选用MyEclipse是界面设计所需。根据系统范围随机产生一个数字,可根据玩家选择给出不同的数字。玩家输入所猜数字时给出与真实数字的大小比较。在玩家猜中时,可给出其所用时间,并给出评价。最后,游戏的结束与继续可由玩家控制。

猜数字游戏的VB代码

猜数字游戏的VB代码 本猜数字游戏的方法及规则: 系统自动生成一个四位数(四个数字没有重复),玩者需要猜中这个数字。玩者在四个文本框内输入四个数字,按“ENTER”后,如果猜对,则文本框变绿,本轮结束,按“CLEAR”进入下一轮。如果不对,则会在下面显示“xAxB”,其中“xA”表示有四个数字中有多少个数字是数字和所在位置都猜对的,“xB”表示有多少个数字猜对但是所在位置不对。比如,答案是“1234”,玩者猜“5432”,则显示“1A2B”,因为“3”猜对且位置也对,“4”猜对但位置不对,“2”猜对但位置不对。如果玩者猜“1324”,则显示“2A2B”;如果玩者猜“4567”,则显示“0A1B”;如果玩者猜“4256”,则显示“1A1B”,原因自己推。(四位数也可能是零开头。)最多猜错十次,如十次没有猜对,则游戏失败,本轮结束,按“CLEAR”进入下一轮。按“QUIT”可查看答案,同时本轮结束。各控件在界面上的布局如下:

Option Explicit Private Sub Command1_Click() '此为“确认”按钮。 If Form1.ForeColor <> vbMagenta Then If Command2.Enabled = False Then Dim keydig(1 To 4) As Integer, ansdig(1 To 4) As Integer Dim n, m, cnt_A, cnt_B As Integer, isappliable As Boolean Static count, keynum As Integer 'command按钮事件执行终,必须使变量count仍然残留。 Do If count = 0 Then '“count”变量计算Command1_Click执行的次数,每执行一次增加1。 Randomize keynum = Int(Rnd * (9876 - 123 + 1)) + 123 '生成一个四位随机整数。 End If '3rd

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系统总体功能 猜数游

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

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

三、报告内容要求 1、实验报告内容包括:实验目的、实验原理、实验仪器设备、实验操作过程、原始数据、实验结果分析、实验心得等方面内容。 2、实习报告内容包括:实习题目、实习任务与要求、实习具体实施情况(附上图表、原始数据等)、实习个人总结等内容。 3、课程设计报告或说明书内容包括:课程设计任务与要求、总体方案、方案设计与分析、所需仪器设备与元器件、设计实现与调试、收获体会、参考资料等方面内容。 四、课内实践课报告撰写要求 1、大型作业类的按课程设计要求撰写; 2、带实习性质的按实习要求撰写; 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猜数游戏实训报告

XXXXXXX 大学 实习(实训)报告名称Java程序设计项目实训01 猜数游戏 2112年12月31日至2013年1月6日共1周 院系计算机工程系 班级 姓名 系主任 教研室主任 指导教师

目录 目录 (2) 一、课程设计的目的与要求 (3) 二、题目说明 (3) 2.1程序开发背景 (3) 2.2开发工具介绍 (4) 三、总体设计 (4) 3.1.系统总体设计: (4) 3.2.系统流程图: (5) 3.3功能结构图: (6) 四、详细说明 (6) 4.1 类与数据结构的实现 (6) 4.2 关键算法的实现 (7) 4.3 运行结果分析 (11) 五、遇到的问题和解决方法 (13) 六、课程设计总结 (13) 七、参考文献 (14) 附录(源程序代码) (14)

一、课程设计的目的与要求 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 实训为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 二、题目说明 功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语. 界面要示:用字符界面实现,也可用图形界面实现. 2.1程序开发背景 设计一个猜数字游戏程序,要求具体如下特性: (1)趣味性:要求游戏内容丰富多彩,语言风趣幽默。 (2)大众性:要求游戏界面操作简单,游戏规则简单易懂。 (3)合理性:游戏设计严谨,有条理,具体需求如下 ①输入任意一个数字。数字的要求是1—100的整数即可。 ②系统对您输入的数字进行判断。 如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将 提示您,数字太小请您重新输入。 如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。 系统将提示您,数字太大请您重新输入。 如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输 入。 ③游戏开始时,系统自动记录您猜的时间,结束后显示所花费的时间。 ④每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。 ⑤在游戏开始时,自动显示游戏规则。 ⑥在游戏结束时,可以选择关闭游戏,或者重新开始。

java猜数字游戏源代码

import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; class WindowButton extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L; int number; JTextField inputNumber; JLabel feedBack; JButton buttonGetNumber,buttonEnter; WindowButton(String s){ super("猜数字小游戏"); buttonGetNumber=new JButton("得到一个随机数"); feedBack=new JLabel("无反馈信息",JLabel.CENTER); feedBack.setBackground(Color.green); inputNumber=new JTextField("0",5); buttonEnter=new JButton("确定"); buttonEnter.addActionListener(this); buttonGetNumber.addActionListener(this); buttonGetNumber.addActionListener(this); Box boxH1=Box.createHorizontalBox(); boxH1.add(new JLabel("获取1-100之间的随机数:")); boxH1.add(buttonGetNumber); Box boxH2=Box.createHorizontalBox(); boxH2.add(new JLabel("输入您的猜测: ")); boxH2.add(inputNumber); Box boxH3=Box.createHorizontalBox(); boxH3.add(new JLabel("单击确定按钮: ")); boxH3.add(buttonEnter); Box boxH4=Box.createHorizontalBox();

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。

猜数字游戏C++代码

#include #include #include #include #include #include"windows.h" void main() {using namespace std; int a[4],b[4];int i,j;char chong='Y';int d; while(chong=='Y'||chong=='y'){//确保可以无数次游戏直到不选“Y”退出system("cls"); cout<<"猜数字游戏(输入-1中途退出)"<0;j--){//游戏只有10次机会 if(ca==4){ cout<<"恭喜你获胜了"<>a[i];//初始化输入四个数 if(a[i]==-1) exit(1); } while(a[0]<0||a[0]>9){ cout<<"第一个数输入有误,请重新输入"<

猜数字游戏Java代码

import java.util.Random; import javax.swing.JOptionPane; public class GuessNumber{ public static void main(String[]args){ //TODO Auto-generated method stub int start=JOptionPane.showConfirmDialog(null,"猜数字,游戏开始?","游戏开始",JOptionPane.YES_NO_CANCEL_OPTION); if(start==JOptionPane.YES_NO_OPTION){ int num=(new Random().nextInt(100)); String inputValue;//保存用户输入字符串 int inputuNum;//保存字符串转换的整数 int i=1;//记录猜数的次数 while(i<=8){ inputValue=JOptionPane.showInputDialog("请输入一个0^100的整数\n,共8次机会,这是第"+i+"次"); int inputNum=Integer.parseInt(inputValue); if(inputNum==num){ JOptionPane.showMessageDialog(null,"恭喜您,猜对啦!","猜数字游戏",https://www.360docs.net/doc/db2329771.html,RMATION_MESSAGE); break; } else if(inputNum>num) JOptionPane.showMessageDialog(null,"您猜的数字偏大!","猜数字游戏",JOptionPane.WARNING_MESSAGE); else JOptionPane.showMessageDialog(null,"您猜的数字偏小!","猜数字游戏",JOptionPane.WARNING_MESSAGE); i++; } if(i>8) JOptionPane.showMessageDialog(null,"8次机会用尽,游戏结束!","游戏结束",JOptionPane.ERROR_MESSAGE); } else JOptionPane.showMessageDialog(null,"退出游戏","猜数字游戏",https://www.360docs.net/doc/db2329771.html,RMATION_MESSAGE);

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

《面向对象程序设计》 课程设计报告 题目:下拉列表运算器设计 专业 : XXXXX 班级:XXX 姓名: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 设计结果与分析...................................................... 1..0. 5.1登录界面 ...................................................... 1..0. 5.2游戏界面 ...................................................... 1..0. 5.3猜数举例 ...................................................... 1..1. 参考文献....................................................................... 1..2. .

android猜数字游戏程序代码以及效果图

android真机测试运行效果图如下:

以下是MainActivity.java文件 //*************MainActivity.java************************* package com.example.guessinggame; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { private Button easyBtn; //响应“简单”按钮 private Button normalBtn;//响应“标准”按钮 private Button hardBtn; //响应“困难”按钮 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/db2329771.html,yout.activity_main); initControl(); //初始化控件 } //初始化控件 public void initControl(){ easyBtn = (Button)findViewById(R.id.easy); normalBtn = (Button)findViewById(R.id.normal); hardBtn = (Button)findViewById(R.id.hard); } //响应button点击事件 public void clickButton(View v){ Intent intent = new Intent(MainActivity.this , GuessingGame.class); switch (v.getId()) { case R.id.easy: intent.putExtra("numOfData", 3); intent.putExtra("guessNums", 8); startActivity(intent); break; case R.id.normal: intent.putExtra("numOfData", 4); intent.putExtra("guessNums", 10); startActivity(intent);

java编写猜数字游戏

import java.util.Scanner; //导入键盘输入类 /* 猜100以内的数字游戏: 1. 通过键盘输入猜一个数字 2. 判断提示大了或小了或猜正确了 3. 游戏结束,提示猜了几次 限制只能猜10次 */ public class GuessNumberGame { public static void main(String[] args) { //定义变量 int number = (int)(Math.random()*100); //被猜的数 int userNum = 0; //玩家猜的数 int count = 0; //猜的次数 //实例化键盘输入类 Scanner in = new Scanner(System.in); //提示 System.out.println("=========================="); System.out.println("||\t猜数字游戏\t||"); System.out.println("=========================="); //循环 do{ count++; //计数 if(count>=10){ System.out.print("Game OVer"); break; } System.out.println("\n还剩余"+(10-count)+"次\n"); System.out.print("请输入一个100以内的正整数:"); //接收 userNum = in.nextInt(); //判断大小 if(userNum > number){ System.out.println("\n---------------------"); System.out.println("| 请输入一个小点的数 |"); System.out.println("-----------------------\n"); }else if(userNum < number){ System.out.println("\n----------------------"); System.out.println("| 请输入一个大点的数 |"); System.out.println("------------------------\n"); }else{

猜数字游戏课程设计报告

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、游戏主要框架图: 该模块为玩家提供猜数字游戏的主体功能,即开始游戏、继续游戏、最佳排行、操作说明、退出游戏。给用户一个清晰明了的操作界面!流程图如下:

相关文档
最新文档