一种猜数字的游戏叫什么游戏
1. 破译密码有守护的那是个什么游戏
破译密码有守护的那是“猜数字”游戏。
猜数字是一种古老的的密码破译类益智类小游戏,起源于20世纪中期,一般由两个人或多人玩,也可以由一个人和电脑玩。
标准的猜数字游戏由10个数码(0-9)和4个数位组成,可以通过变化数码或数位来丰富游戏。
2. java游戏编程1A2B是一款十分经典的猜数字游戏,每局开始,计算机都会随机生成四个数字
package com.test;
import java.util.Random;
import java.util.Scanner;
/**
* 我的测试类
*
* @author 刘逸晖
*
*/
public class MyTest {
/**
* 生成不同的正整数随机数,返回字符串数组
*
* @param count
* 需要生成随机数的数量
* @param max
* 随机数的最大值
* @param min
* 随机数的最小值
* @return 生成的随机数
*/
private static String[] generateRandomNumber(int count, int min, int max) {
if (count > 0 && min > -1 && max > min) {
String[] numbers = new String[count];
Random random = new Random();
// 生成随机数。
for (int i = 0; i < numbers.length; i++) {
numbers[i] = min + random.nextInt(max - min) + "";
}
// 检查是否存在重复的随机数。
int equalIndex = areEqual(numbers);
while (equalIndex != -1) {
numbers[equalIndex] = min + random.nextInt(max - min) + "";
equalIndex = areEqual(numbers);
}
return numbers;
} else {// 参数不合法。
return null;
}
}
/**
* 判断字符串数组中的元素是否存在相等的
*
* @param array
* 预判断的数组
* @return 如果数组中有相等的元素,返回其下标;如果数组中没有相等的元素,或数组为空返回-1
*/
private static int areEqual(String[] array) {
if (array != null && array.length > 0) {
// 将数组中的每一个成员与其之前的所有成员进行比较,判断是否有相等的。
for (int current = 0; current < array.length; current++) {
// 将当前便利的数组成员与其之前的所有成员进行比较,判断是否有相等的。
for (int previous = 0; previous < current; previous++) {
if (array[current].equals(array[previous])) {
return previous;
}
}
}
}
return -1;
}
/**
* 搜索字符串数组
*
* @param array
* 数组
* @param value
* 预搜索的值
* @return 如果数组中有成员的值与预搜索的值相等返回成员下标,否则返回-1
*/
private static int search(String[] array, String value) {
if (array != null && array.length > -1 && value != null) {
for (int i = 0; i < array.length; i++) {
if (array[i].equals(value)) {
return i;
}
}
}
return -1;
}
public static void main(String[] args) {
System.out.println("欢迎你来到1a2b,输入n退出,输入y重新开始");
System.out.println("系统会随机产生4个0到9之间不同的数字,请你来猜");
System.out.println("输出a不仅代表你猜中了,还代表你猜对它的位置了哦!\r\n输出b则代表你猜中了,但位置不对哦");
// 开始循环,一次循环代表一局游戏。一局结束后立刻开启下一局。
while (true) {
System.out.println("新的一局开始了!");
// 产生随机数。
String[] randomNumbers = generateRandomNumber(4, 0, 9);
Scanner scanner = new Scanner(System.in);
// 创建变量存放输入记录。
String[] records = new String[] { "", "", "", "" };
// 创建变量存放ab结果。
String result = "";
// 请用户输入4次值。为什么请用户输入4次?因为数组中有4个成员。
for (int i = 0; i < randomNumbers.length; i++) {
// 获得输入的值。
String inputValue = scanner.nextLine();
// 判断是否需要退出。
if (inputValue.equals("n") || inputValue.equals("")) {
System.out.println("Goodbye");
return;
}
// 创建变量定义是否忽略本次输入。
boolean ignore = false;
// 判断是否需要重新开始。
if (inputValue.equals("y")) {
ignore = true;
i = randomNumbers.length;
}
// 判断是否重复输入。
for (String record : records) {
if (inputValue.equals(record)) {
ignore = true;
i--;
System.out.println("这个值你已经输入过了哦!\r\n在给你一次机会。");
continue;
}
}
if (ignore) {
continue;
}
// 对输入的值进行搜索。
int searchResult = search(randomNumbers, inputValue);
// 如果搜索到了相关的值。
if (searchResult > -1) {
// 记录。
records[i] = inputValue;
// 不仅搜索到了输入的值,并且位置正确。
if (searchResult == i) {
result = result + "a";
System.out.println("a");
} else {// 搜索到了输入的值,但位置错误。
result = result + "b";
System.out.println("b");
}
} else {// 输入错误。
System.out.println("这里没有这个值哦!\r\n再给你一次机会!");
i--;
}
}
System.out.println(result);
}
}
}
3. 1到100得数字游戏怎么玩
一般十个人以上玩,一个人出数字,其他人猜。
随机写下在1-100之间随便1个数字,不能让猜的人知道。其他的人就可以开始猜,没有猜中的话会接着你猜的数字给出新的范围。猜中数字的就输了。
补充
猜数字(又称 Bulls and Cows )是一种古老的的密码破译类益智类小游戏,起源于20世纪中期,一般由两个人或多人玩,也可以由一个人和电脑玩。
先解释标准规则,再介绍几种变体。
通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的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个数位的游戏。
4. 一个经典的猜数字游戏,请高手帮忙。
前2次猜不同的8个数字
结果如下:
1 猜出2个(a或者b都算),
2 猜出3个,
3 猜出4个,
其中1,3情况属于非常好的,利用剩下的2个轻易解决
2 如果2次,出现一个0A0B 那结果也是非常好的,利用这4个数先解决剩余的2个
如果没有,就是最不好的结果了,
反正自己不能做到必胜,
5. 呃,那个猜数字的游戏名叫什么
游戏名就叫“猜数字”。电子辞典“文曲星”里就有这个游戏。
6. 有那些和推理有关的数字游戏
推荐你玩《2A3B》。我是在苹果商店上找到的,感觉是以前文曲星上玩过的猜数字游戏的升级版。需要在12步内猜出5位数的数字,难度比之前4位数的大很多。我最高纪录是8步,大家可以来挑战看看噢!以下是官网的游戏介绍:与传统的猜数字游戏不同,这次需要你从13个字符(0,1,2,3,4,5,6,7,8,9,X,Y,Z)中猜出不重复的5个字符来。如果答案是“X2049” ,你猜得是“X1234”那结果就是1A2B(1A表示有1个字符完全正确,就是第1个字符X。2B表示有2个字符猜对了,但位置不对。就是这里的2和4,绝对练脑啊。
7. 猜数字的游戏规则是什么
通常两个人玩,一个人出数字,另一个人猜。出数字的人要想好一个没有重复数字的4个数,不能让猜的人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
8. 模拟以前文曲星电子词典中的一个小游戏《猜数字游戏》规则:文曲星随机产生四
这游戏就是一个猜数字的小游戏,只要你猜对号码的话,这场比赛你就赢了,如果你没猜对的话,就什么都没有赢。
9. 100以内猜数的游戏
数字炸弹游戏规则:在一个数字范围内,有一个数字作为炸弹,谁猜中这个炸弹就被惩罚.比如范围是1~99,炸弹是60,然后猜了一个数字是30,30不是炸弹,那么现在猜数字的范围就缩小到30~100;
又猜了一个数字80,80也不是炸弹,那么现在又缩小范围到30~80,每次猜不能猜边界上的值,直到有人猜中这个炸弹,然后就受到惩罚。