gpt4 book ai didi

java - 如何向 Java mastermind 游戏添加 "cheat"函数

转载 作者:行者123 更新时间:2023-11-30 08:14:16 25 4
gpt4 key购买 nike

我正在编写一个策划游戏,这是我的代码:

import java.util.*;

public class mm {
public static void main(String[] args) {
System.out.println("I'm thinking of a 4 digit code.");
int[] random=numberGenerator();
int exact=0, close=0;
while(exact!=4){
int[] guess=userinput();
exact=0;
close=0;
for(int i=0;i<guess.length;i++){
if(guess[i]==random[i]){
exact++;
}
else if(random[i]==guess[0] || random[i]==guess[1] || random[i]==guess[2] || random[i]==guess[3]){
close++;
}
}
if(exact==4){
System.out.println("YOU GOT IT!");
}
else{
System.out.println("Exact: "+exact+" Close: "+close);
}
}
}

public static int[] userinput(){
System.out.println("Your guess: ");
Scanner user = new Scanner(System.in);
String input = user.nextLine();
int[] guess = new int[4];
for (int i = 0; i < 4; i++) {
guess[i] = Integer.parseInt(String.valueOf(input.charAt(i)));
}
return guess;
}

public static int[] numberGenerator() {
Random rnd = new Random();
int[] randArray = {10,10,10,10};
for(int i=0;i<randArray.length;i++){
int temp = rnd.nextInt(9);
while(temp == randArray[0] || temp == randArray[1] || temp == randArray[2] || temp == randArray[3]){
temp=rnd.nextInt(9);
}
randArray[i]=temp;
}
return randArray;
}
}

现在程序可以运行了。但是,我想添加一个功能,如果用户输入是“*”,程序会打印“已输入作弊代码。 secret 代码是:XXXX(//生成的随机数)”然后继续询问。我尝试编写一个单独的cheat() 函数来实现此目的。但它会再次调用numbergenerator(),因此密码每次都会改变。如何避免这个问题呢?或者还有其他方法可以实现这个功能吗?

顺便说一句,这是作弊功能的逻辑:

if (guess.equals("*")){
System.out.format("cheat code entered. The secret code is:")
for(int i=0;i<guess.length;i++){
System.out.print(guess[i]);
}
}

最佳答案

作弊是这样的:

if (guess.equals("*")){
System.out.format("cheat code entered. The secret code is:")
for(int i=0;i<random.length;i++){
System.out.print(random[i]);
}
}

编辑:从userinput()访问随机的两种方法

A) 将随机值作为参数传递给 userinput()

public static int[] userinput(int[] random){
...

B)随机生成一个成员变量(可能是更好的方法)

public class mm {
static int[] random;
public static void main(String[] args) {
System.out.println("I'm thinking of a 4 digit code.");
random=numberGenerator();
...

关于java - 如何向 Java mastermind 游戏添加 "cheat"函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29881516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com