繁体   English   中英

我的刽子手游戏显示的破折号“-”比预期的要多

[英]My hangman game displays more dashes “-” than supposed to

我是编程新手,目前正在通过创建一个刽子手游戏来挑战自己,我编写了一些代码,它需要一个单词,将它分成一个 char 数组,接受一个答案并显示答案。问题是每次for 循环在 main 中运行,更多的破折号“-”不断出现。

提前感谢人们的回答,快乐的编码:)

 using System; using System.Collections.Generic; using System.Text; namespace Hangman { class Funk { public char[] Word = new char[20]; public char[] GuessedLetters = new char[20]; public string HiddenWord = "-"; public string GetHiddenWord() { for (int i = 1; i < Word.Length; i++) { HiddenWord += "-"; } return HiddenWord; } public bool IsAnswerCorrect() { if ( 10 == 10) { return true; } else { return false; } } public void SetGuessedLetters(char answer, int value) { GuessedLetters[value] = answer; } public Funk(string word) { Word = word.ToCharArray(); } } }

 using System; namespace Hangman { class Program { static void Main(string[] args) { //Get word and set word //Write Word as hidden //take letter as guess //Hangman mechaniks bool GameOver = false; int NumberOfGuesses = 6; Console.WriteLine("Enter Word"); string name = Console.ReadLine(); Console.Clear(); Funk funk = new Funk(name); while (GameOver == false) { for (int i = 0; i < funk.Word.Length; i++) { Console.WriteLine(funk.GetHiddenWord()); Console.WriteLine("Guess away, you have " + NumberOfGuesses + " guesses left"); Console.WriteLine("Answers:" + funk.GuessedLetters[0] + funk.GuessedLetters[1] + funk.GuessedLetters[2] + funk.GuessedLetters[3] + funk.GuessedLetters[4] + funk.GuessedLetters[5] + funk.GuessedLetters[6] + funk.GuessedLetters[7]); char answer = Console.ReadKey().KeyChar; funk.SetGuessedLetters(answer, i); Console.Clear(); } } } } }

把初始化HiddenWord = "-"; GetHiddenWord()方法中:

    public string GetHiddenWord()
    {

        HiddenWord = "-"; // init every time here
        for (int i = 1; i < Word.Length; i++) {
            HiddenWord += "-";
        }

        return HiddenWord;
    }

实际上,如果您不重新将HiddenWord重新初始化为空,您 append 就会出现更多破折号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM