Мой палач для l oop, который проверяет, не является ли «угаданная буква» в «Word» неправильным - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь сделать игру палача.

Каждый раз, когда программа делает предположение, буквы должны располагаться в том порядке, в котором они отображаются. У меня есть некоторое представление о том, что происходит, но я просто не могу обернуться вокруг него.

Код, на который я ссылаюсь, находится в методе SetHiddenWordTwo в классе Funk .

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);
            funk.SetHiddenWord();

            while (GameOver == false) {
                for (int i = 0; i <= NumberOfGuesses; 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]}");

                    char answer = Console.ReadKey().KeyChar;
                    funk.SetGuessedLetters(answer, i);
                    funk.SetHiddenWordTwo();

                    Console.Clear();
                }
            }               
        }
    }
}

Класс фанка:

using System;
using System.Collections.Generic;
using System.Text;

namespace Hangman
{
    class Funk
    {
        public char[] Word { get; set; }
        public char[] GuessedLetters = new char[20];
        public char[] HiddenWord { get; set; }

        public void SetHiddenWord()
        {
            string hiddenWord = "-";

            for (int i = 1; i < Word.Length; i++) {
                hiddenWord += "-";
            }

            this.HiddenWord = hiddenWord.ToCharArray();   
        }

        public void SetHiddenWordTwo() 
        {
            Char asd;
            for (int i = 0; i < Word.Length; i++)
            {
                asd = GuessedLetters[i];

                if (asd == Word[i])
                {
                    HiddenWord[i] = Word[i];
                }
            }
        }

        public char[] GetHiddenWord() 
        {
            return HiddenWord;
        }

        public void SetGuessedLetters(char answer, int value) 
        {
            GuessedLetters[value] = answer;
        }

        public Funk(string word) 
        {
            Word = word.ToCharArray();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...