A. JAVA猜数字游戏:现在规则如下,输入一个1-100之间的数请人猜
import java.util.*;
import java.io.*;
public class CaiShu{
public static void main(String[] args) throws IOException{
Random a=new Random();
int num=a.nextInt(100);
System.out.println("请输入一个100以内的整数:");
for (int i=0;i<=9;i++){
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String str=bf.readLine();
int shu=Integer.parseInt(str);
if (shu>num)
System.out.println("输入的数大了,输小点的!");
else if (shu<num)
System.out.println("输入的数小了,输大点的!");
else {
System.out.println("恭喜你,猜对了!");
if (i<=2)
System.out.println("你真是个天才!");
else if (i<=6)
System.out.println("还将就,你过关了!");
else if (i<=8)
System.out.println("但是你还……真笨!");
else
System.out.println("你和猪没有两样了!");
break;}
}
}
}
B. 数学。猜游戏。
7 9
13 5
C. 请问这个猜数字游戏怎么玩,几A几B的!
先解释标准规则,再介绍几种变体。
通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4个数,不能让猜的人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
如正确答案为 5234,而猜的人猜 5346,则是 1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为 2B,合起来就是 1A2B。
接着猜的人再根据出题者的几A几B继续猜,直到猜中(即 4A0B)为止。
猜数字游戏通常设有猜测次数的上限。根据计算机测算,如果采用严谨的猜测策略,任何数字最多7次就可猜出(即达到 4A0B)。值得注意的是,在有些地方把次数上限定义为最多几次猜测以后就可以肯定数字是几,但这时或还需要再猜一次才能得到 4A0B 的结果。
标准的猜数字游戏由10个数码(0-9)和4个数位组成。可以通过变化数码或数位来丰富游戏。例如,可以使用9个数码玩4个数位的游戏。
猜数字游戏的一种变体允许重复的数码。这种规则的游戏被称为 Mastermind。其规则大致为:
除了上面的规则外,如果有出现重复的数字,则重复的数字每个也只能算一次,且以最优的结果为准。例如,如正确答案为5543,猜的人猜5255,则在这里不能认为猜测的第一个5对正确答案第二个,根据最优结果为准的原理和每个数字只能有一次的规则,两个比较后应该为1A1B,第一个5位子正确,记为1A;
猜测数字中的第三个5或第四个5和答案的第二个5匹配,只能记为1B。当然,如果有猜5267中的第一个5不能与答案中的第二个5匹配,因此只能记作1A0B。
(3)猜猜数学游戏规则扩展阅读:
猜数字游戏最常用的解法,其算法步骤如下:
a、首先猜 1234,得到第一个反馈(xAyB)。
b、从所有数字中,筛选出满足已知反馈的所有可能数字,称之为“可能集”。
c、对于所有数字(而不仅限于筛选出来的可能集),逐一评估每个数字的“好坏”,并给其打分。选取得分最高的那个数字猜。如果有多个数字的评分一样高,则优先选取可能集中的数字。
d、重复步骤 b-c,直到猜出 4A0B 为止。
D. 在数学课上老师让学生做一个猜数游戏游戏的规则是老师让学生每个每人在心里想
想什么
E. 猜数字游戏1到一百猜中就惩罚 怎么问得心里想好一个数字怎么玩怎么问
你说一个数字如78,让别人猜。如果别人猜的数字比你的数字大(如90),你就说“大了,再猜0-90”;反之亦然。最后猜到你数字的那个人受惩罚
F. 求猜数字1——26游戏排列规则
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Random;
// 一上来导入包不用说了吧
public class Caishuzi {
//服务器端口号8181
static final int PORT = 8181;
//声明一个服务器套接字
ServerSocket serverSocket;
//客户端套接字
Socket socket;
//数据输入流
DataInputStream netIn;
//数据输出流
DataOutputStream netOut;
//随机数的数组
int randomNum[];
//游戏等级
int level = 0;
public Caishuzi() { //猜数字的构造函数
initRandomNum();
waitConnect();
}
//
private void initRandomNum() {//初始化随机数
randomNum = new int[5];//数组初始化,大小为5
Random ran = new Random();//随机数类
for (int i = 0; i < 5; i++) {
randomNum[i] = ran.nextInt(100);//生成5个随机数,范围0~99
}
}
//
private void waitConnect() {//等待客户端连接
BufferedReader ansiIn = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("服务器启动.");
try {
serverSocket = new ServerSocket(PORT);//服务器套接字
System.out.println("等待客户端连接......");
socket = serverSocket.accept();//侦听并接受到此套接字的连接,注意这句话会一直运行直到有客户端连上
System.out.println(" " + socket);
netIn = new DataInputStream(socket.getInputStream());
netOut = new DataOutputStream(socket.getOutputStream());//分别得到客户端的输入输出流,这样就可以Client—Server间相互传递数据了
} catch (Exception e) {
e.printStackTrace();
}
}
//
private void processAnswer() {//应答客户端
try {
String clientMsg = netIn.readUTF();//取得客户端传过来的字符
while (!clientMsg.equals("end")) {//不停循环,但如果客户端传过来的字符是"end",就结束了
System.out.println("客户端:" + clientMsg);
System.out.print("生成随机数为" + randomNum);
int clientInputNum = Integer.parseInt(clientMsg);//把客户端猜的数字转成int型
if (clientInputNum < 0 || clientInputNum > 100)//小于0或大于100不行哦
System.out.print("输入超过范围,请输入0~100以内的数字");
String serverMsg = " ";
if (clientInputNum == randomNum[level]) {
serverMsg = "恭喜你猜对了!";
} else if (clientInputNum > randomNum[level]) {
serverMsg = "您输入太大了!";
} else if (clientInputNum < randomNum[level]) {
serverMsg = "您输入太小了!";
}
//以上为猜的数字和服务器生成的随机数比,究竟是大于小于还是等于呢,把结果设到serverMsg变量
netOut.writeUTF(serverMsg);//然后把信息传到客户端
if (serverMsg.equals("end")) {
return;
}
clientMsg = netIn.readUTF();//继续下一次猜数字
}
} catch (Exception e) {
//
System.out.print("连接关闭或数据处理错误");
}
}
public static void main(String[] args) {
Caishuzi s = new Caishuzi();
}
}
另外补充,你给的程序是服务器端的代码,光这一个可玩不了猜数字游戏哦,还得要客户端的程序。
G. 请问猜数字这个游戏怎么玩来着
有人写下4个数字,A代表位置和数字都对,B代表数字对位置不对,每次猜数字者说出四个内数字,写数字者回答对容了几个数字,比如:写数字者写下 8.0.2.3,而猜数字者猜8.5.3.2 那就是1A,2B,以此类推,用的回合数最少的为胜者
H. 猜数字的游戏规则
先解释标准规则,再介绍几种变体。
通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的4个数,不能让猜的人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
如正确答案为 5234,而猜的人猜 5346,则是 1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为 2B,合起来就是 1A2B。
接着猜的人再根据出题者的几A几B继续猜,直到猜中(即 4A0B)为止。
猜数字游戏通常设有猜测次数的上限。根据计算机测算,如果采用严谨的猜测策略,任何数字最多7次就可猜出(即达到 4A0B)。值得注意的是,在有些地方把次数上限定义为最多几次猜测以后就可以肯定数字是几,但这时或还需要再猜一次才能得到 4A0B 的结果。
标准的猜数字游戏由10个数码(0-9)和4个数位组成。可以通过变化数码或数位来丰富游戏。例如,可以使用9个数码玩4个数位的游戏。
猜数字游戏的一种变体允许重复的数码。这种规则的游戏被称为 Mastermind 。其规则大致为:
除了上面的规则外,如果有出现重复的数字,则重复的数字每个也只能算一次,且以最优的结果为准。例如,如正确答案为5543,猜的人猜5255,则在这里不能认为猜测的第一个5对正确答案第二个,根据最优结果为准的原理和每个数字只能有一次的规则,两个比较后应该为1A1B,第一个5位子正确,记为1A;猜测数字中的第三个5或第四个5和答案的第二个5匹配,只能记为1B。当然,如果有猜5267中的第一个5不能与答案中的第二个5匹配,因此只能记作1A0B。