Java猜数字游戏,求编程高手

来源:百度知道 编辑:UC知道 时间:2024/06/01 17:20:29
用java编写一个游戏,让用户或者电脑去猜一个1到1000之间的随机数。用键盘输入猜的数字,然后输出猜的数是过大,过小或者正确。一旦拥护猜到正确的数字,程序输出总共猜的次数。

要求1
包括一个叫Game的Class,它只有一个public method叫start( ),当运行它的时候启动游戏。当用户在游戏结束的时候输入no或者quit时游戏结束。每一次游戏结束后,系统应该询问用户的名字并与猜测次数一起纪录到high score list。当游戏再启动时程序显示整个high score list,并且按猜测次数升序排列。那个high score list必须一直保存。

要求2
在要求1的基础上,程序应该询问用户自己进行猜数字或者让电脑去猜。如果我们选择让电脑猜,意味着由用户想0一个数然后电脑去猜,你告诉电脑太大太小或者正确。High score list只记录用户猜的结果。

要求3
在满足要求1和2的基础上,每一次的分数必须包括游戏的时间,也就是说如果有两个高分有同样的猜测次数,系统会根据猜测的时间长短来决定哪一个排名更靠前。当第一次猜测被输入时游戏时间就会被开始记录,当做出正确的猜测时计时终止。
系统同时要有一个输入检查,也就是说不能输入一些错误的东西,比如非数字的值;或者对yes/no问题的回答只能是yes或者no,其他的输入系统会显示一条错误信息,然后重新输出一遍问题。

想回答 可惜觉得花1小时来拿这个30分不大合算 而且好像也有人在帮你做了
保存好像只能用文档保存 你可以专门写一个实现了Serializable接口的用来存储记录的类 然后将类存进文档(推荐)这样读取的时候直接读取这个类 将类的转换字符串方法变一下直接输出就可以了 你也可以写一个字符串函数 用户名、次数、时间分别用空格隔开 一条记录一行 读取存档的时候采用读取行的方式 然后对字符串进行处理获得记录信息
让电脑猜测 如果不加一些简单判断直接应用随机数猜的话铁定是比不过人 只要在获取随机数的时候加上范围就行了 比如说电脑猜了个5 结果是小了 那么就在大于5的小于某个数的范围内获取随机数 至于人告诉电脑太大了太小了就没必要了 系统直接判断吧 不然这样做人骗了电脑 电脑还用猜吗
输入检查只要将输入字符串转变为int 如果出现了NumberFormatException 那么就不是数字 再进行范围判断

其他的那条帖子都有了 你自己直接去看吧 下面是我存储类 读取类做的练习 希望对你有用

import java.awt.*;
import java.io.*;

import javax.swing.text.Position;

public class TestStorageOuput implements Serializable {
private String name;
private Point p;
private boolean flag;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Point getP() {
return p;
}

public void setP(Point p) {
this.p = p;
}

pu