问题描述
This是我正在制作的C ++中的the子手游戏的链接。它在repl上运行良好,但是在我尝试构建和运行它时却无法正常工作。在比赛开始时就已经猜到了它的字母,到那时,显然您还没有猜到。至少我认为,字母也很随意,与游戏无关。至少有人可以在他们的计算机上运行它,看看是否只有我吗?谢谢!它开始于:
WELCOME TO HANGMAN!!
----------------------------------------------------------------------------------------------------------
Here are the rules:
* you must enter one letter
* that letter cannot be a symbol
* you have ten guesses
* correct guesses won't count against you
* you cannot guess the same letter twice
* and finally,if you need to give up enter any numeral
You have 10 incorrect guesses left
The word so far is
_ _ _ _ _
You have guessed: A,B,I,J,K,Q,R,T,What is your guess?
这是初次打开时提供的内容,但是,我希望它表明您尚未猜测任何东西,因为您还没有。
cout << "You have " << guesses << " incorrect guesses left" << endl;
cout << "The word so far is\n\n";
for (int i = 0; i < word.length(); i++)
{
if (i == word.length() - 1)
{
cout << guessedWord[i] << endl;
}
else
{
cout << guessedWord[i] << " ";
}
}
cout << "\n\nYou have guessed: ";
for (int i = 0; i < guessed.size(); ++i)
{
if (guessed[i])
{
cout << static_cast<char>(i + 'A') << ",";
}
}
cout << "\nWhat is your guess?" << endl;
cin >> myGuess;
istringstream myGuess2(myGuess);
char guess = toupper(myGuess2.peek());
if (isalpha(guess) == false)
{
if (isdigit(guess) == true)
{
break;
}
else
{
cout << "That is not a letter,please try again" << endl;
continue;
}
}
else if (guessed[guess - 'A'])
{
cout << "You have already guessed this." << endl;
continue;
}
如果您不想放弃任何条件(如果您输入数字),或者您没有输入实际的字母字符,那么它就是该部分的样子,然后继续使用您猜出的ascii值减去“ A”的ascii值即可得到字母在布尔数组中的位置,然后将字母的值设置为true。之后,只需检查您的猜测是否正确以及所有内容,就可以了。
解决方法
您仍然没有在问题中包含所有相关代码。
在比赛开始时就已经猜到了鞋子的字母,那时候,显然您还没有猜到。
问题出在代码的这一点:
For j = 0 To db3._dataSet.Tables(0).Rows.Count - 1
If db3._dataSet.Tables(0).Rows(j).Item("AUFTRAGNUMMER") = db._dataSet.Tables(0).Rows(selectedIndex)(0) Then
CheckedListBox1.Items.Add(db3._dataSet.Tables(0).Rows(j).Item("ANZPOS") & " : " & db3._dataSet.Tables(0).Rows(j).Item("ARTIKEL") & " : " & db3._dataSet.Tables(0).Rows(j).Item("BEZEICHNUNG"))
End If
Next
这不会将array<bool,26> guessed;
的元素设置为array
,并且它们的值不确定。
如果您希望他们是false
,则需要写:
false
为避免此类问题,您可以使用AAA样式(几乎始终为自动),并以此方式定义变量:
array<bool,26> guessed{};