Я пытаюсь сделать игру палача.
Каждый раз, когда программа делает предположение, буквы должны располагаться в том порядке, в котором они отображаются. У меня есть некоторое представление о том, что происходит, но я просто не могу обернуться вокруг него.
Код, на который я ссылаюсь, находится в методе 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();
}
}
}