初学Hang子手游戏
问题描述:
我正在做一个hang子手游戏,如果我猜字母的错误字母,我在正确的标签上加1,但是这个代码在正确的时候加1到正确的。我怎样才能解决这个问题?初学Hang子手游戏
public class Form extends javax.swing.JFrame {
String FindWord = "apple";
int w = 0;
}
private void attemptSignActionPerformed(java.awt.event.ActionEvent evt) {
int charPos = 1;
String letter = aLetter.getText();
charPos = FindWord.indexOf(letter);
myMessage.setText("position is " + charPos);
if (charPos == 0) Char0.setText(letter);
if (charPos == 1) Char1.setText(letter);
if (charPos == 2) Char2.setText(letter);
if (charPos == 3) Char3.setText(letter);
if (charPos == 4) Char4.setText(letter);
if (charPos == 5) Char5.setText(letter);
charPos = FindWord.indexOf(letter, charPos + 1);
if (charPos == 0) Char0.setText(letter);
if (charPos == 1) Char1.setText(letter);
if (charPos == 2) Char2.setText(letter);
if (charPos == 3) Char3.setText(letter);
if (charPos == 4) Char4.setText(letter);
if (charPos == 5) Char5.setText(letter);
下面是我在与
if (charPos == -1) {
w++;
inCorrect.setText(Integer.toString(w));
}
}
麻烦我只想加1到不正确的时候我猜字母不是单词“苹果”的部分。
答
当你调用
charPos = FindWord.indexOf(letter, charPos + 1);
你在信中只发生一次,不是两次的情况下设置charPos
回到-1
。你需要摆脱这一点。
要么
- 使用不同的变量用于字母的第二位置,OR
- 写入到这一个循环,以允许任何数量的信的出现,OR
- 或设置一个布尔变量来表明是否找到了这封信;并用它来确定是否要添加一个到
incorrect
。
为了您的利益:[在很少的几行中的hangman的java实现](http://*.com/a/22269413/256196) – Bohemian 2014-12-08 03:38:22