Java 陷入刽子手游戏
我目前正在学习Java编程,我们需要制作一个基本的刽子手游戏,没有图形界面,只需要主要的和更少的方法 这就是问题所在: 我做了一个方法,允许我在不同的主题之间进行选择,每个主题上有5个单词或一组单词,它随机选择其中一个,并将其分配给一个字符串变量“word”,我将使用这个变量 然后有一个方法创建一个字符串“HiddenWord”,只需将字符替换为“*”,并保留单词之间的空格 问题是,我不知道如何输入一个字符“字母”,并替换隐藏单词中的字母,逐步解析隐藏单词 我会提供我的代码,但它是西班牙语的,所以我会翻译一些关键词(你注意到我很棒的英语技能了吗?)Java 陷入刽子手游戏,java,string,Java,String,我目前正在学习Java编程,我们需要制作一个基本的刽子手游戏,没有图形界面,只需要主要的和更少的方法 这就是问题所在: 我做了一个方法,允许我在不同的主题之间进行选择,每个主题上有5个单词或一组单词,它随机选择其中一个,并将其分配给一个字符串变量“word”,我将使用这个变量 然后有一个方法创建一个字符串“HiddenWord”,只需将字符替换为“*”,并保留单词之间的空格 问题是,我不知道如何输入一个字符“字母”,并替换隐藏单词中的字母,逐步解析隐藏单词 我会提供我的代码,但它是西班牙语的,所
HideWord
method(我认为这里没有问题,也许单词之间的间距应该用另一种方式来实现):
好了,就这样,很抱歉我糟糕的语法和糟糕的Java,如果需要,我将提供更多的代码部分。一旦发现单词中有字母,你应该做什么,只需替换索引中的*字符,在原始单词中找到字母:
for(int i=0;i<word.length();i++)
{
if(letter==word.charAt(i))
{
char[] wordCharsArray = hiddenWord.toCharArray();
wordCharsArray[i] = letter;
hiddenWord= String.valueOf(wordCharsArray);
}
}
对于(int i=0;i对于效率,我只需使用:
do{
System.out.println(“输入字母”);
letter=objeto.teclado.next().charAt(0);
StringBuilder sb=新的StringBuilder();
对于(int i=0;i=0&&!已解析);//已解析==false可以简化为!已解析
是的,对不起,我一直在编辑它以避免使用所有方法,所以我一定犯了一些错误,那只是一个打字错误:SOh,那…起作用了:D从未使用过。Tocharray()以前,但它看起来非常适合这个刽子手的东西,非常感谢!谢谢你的帮助,但是,你的代码中有太多东西我甚至还不明白…如果我使用你的代码,我对代码所做的任何更改都需要在这里发另一篇帖子来修复,但我真的很感谢你的帮助:D@DanielSimon这和你没什么不同r代码,一个使用StringBuilder
构建字符串的部分。您不完全理解哪个部分?
main ()
{
Ahorcado objeto=new Ahorcado();
//Example word, since the full code is really long
String word = "Hello World";
int life;
String hiddenWord=objeto.hideWord(word);
System.out.println("Game just Started\n");
System.out.println(palabraOculta); //Hello world -> ***** *****
char letter;
boolean resolved=false;
do
{
System.out.println("Input a letter");
letter=objeto.teclado.next().charAt(0);
//Intentionally left almost Blank because every try did a weird Pyramid thing or just crash
for(int i=0;i<word.length();i++)
{
if(letter==word.charAt(i))
{
}
}
if(hiddenWord.equals(word))
{
resolved=true;
}
objeto.life--;
}
while(objeto.vidas>=0&&resolved==false);
}
for(int i=0;i<word.length();i++)
{
if(letter==word.charAt(i))
{
char[] wordCharsArray = hiddenWord.toCharArray();
wordCharsArray[i] = letter;
hiddenWord= String.valueOf(wordCharsArray);
}
}
do{
System.out.println("Input a letter");
letter=objeto.teclado.next().charAt(0);
StringBuilder sb = new StringBuilder();
for(int i=0; i<word.length(); i++){
if(letter == word.charAt(i)){
sb.append(word.charAt(i));
} else {
sb.append(hiddenWord.charAt(i));
}
}
hiddenWord = sb.toString();
resolved = hiddenWord.equals(word);
objeto.life--;
} while(objeto.vidas>=0 && !resolved); //resolved == false could be simplified to !resolved