Изображение ниже описывает результат, который я получил до сих пор ... он пропускает старые буквы, которые пробовали. поэтому, если буква угадана правильно, все буквы, включая старые буквы, должны отображаться на точке .......
теперь отображается только данная буква без старых букв
![enter image description here](https://i.stack.imgur.com/jTdsK.png)
//
// это код, который я получил до сих пор
class Program
{
static void Main(string[] args)
{
Program myProgam = new Program();
myProgam.Start();
Console.ReadKey();
}
void Start()
{
GalgjeSpel galgje = new GalgjeSpel();
galgje.Init("eetlepel");
List<string> woordenlijst = WoordenLijst();
string nieuwwoord= SelecteerWoord(woordenlijst);
galgje.Init(nieuwwoord);
ToonWoord(nieuwwoord);Speelgalgje(galgje);
//Console.WriteLine("Het geheime woord is: " + galgje.geheimWoord);
//Console.WriteLine("Het geraden woord is: " + galgje.geradenWoord);
}
List <string> WoordenLijst()
{
List<string> Woordenlijst = new List<string>();
Woordenlijst.Add("slapen");
Woordenlijst.Add("poepen");
Woordenlijst.Add("eten");
Woordenlijst.Add("vakantie");
Woordenlijst.Add("reizen");
return Woordenlijst;
}
string SelecteerWoord(List<string> woorden)
{
GalgjeSpel gaglje = new GalgjeSpel();
Random rnd = new Random();
int randomwoord = rnd.Next(1, 5);
string nieuwwoord = woorden[randomwoord];
gaglje.geheimWoord = nieuwwoord;
return nieuwwoord;
}
void ToonWoord(string woord)
{
GalgjeSpel galgje = new GalgjeSpel();
Console.Write($"het geheime woord is: ");
char[] letter = woord.ToArray();
for (int i = 0; i< woord.Length; i++)
{
galgje.geheimWoord += letter[i];
Console.Write($"{letter[i]} ");
}
Console.WriteLine();
Console.Write("het geraden woord is: ");
for (int i = 0; i < woord.Length; i++)
{
galgje.geradenWoord += (". ");
Console.Write(". ");
}
Console.WriteLine();
}
void ToonLetter(List<char> letters)
{
int i = 0;
Console.Write("Ingevoerde letters zijn: ");
foreach (var element in letters)
{
Console.Write($"{letters[i]} ");
i += 1;
}
Console.WriteLine();
}
char LeesLetter(List<char> geheimeletters)
{
char letter;
List<char> ingevoerdeletter = new List<char>();
string tletter ="";
do
{ Console.WriteLine();
Console.Write("voer een letter in: ");
letter = char.Parse(Console.ReadLine());
tletter =tletter + " "+ letter ;
return letter;
} while (geheimeletters.Contains(letter));
{
}
}
bool Speelgalgje(GalgjeSpel galgje)
{
//char lijst van ingevoerde letters
List<char> ingevoerdeLetters = new List<char>();
// char lijst van geheime letters
List<char> geheimeletters = new List<char>();
// zet elke geheime letter in een char array
char[]geheimewoord = galgje.geheimWoord.ToArray();
// voeg elke char letter toe aan lijst van geheime letters
for (int i=0; i<geheimewoord.Length; i++)
{
geheimeletters.Add(geheimewoord[i]);
if (galgje.geradenWoord == galgje.geheimWoord)
{
return true;
}
else
{ char letter = LeesLetter(geheimeletters);
ingevoerdeLetters.Add(letter);
ToonLetter(ingevoerdeLetters);
galgje.Raadletter(letter);
}
}return false;
}
}
////
namespace galgje2
{
class GalgjeSpel
{
public string geheimWoord;
public string geradenWoord;
public void Init(string geheimwoord)
{
this.geheimWoord = geheimwoord;
this.geradenWoord="";
char[] letter = new char [geheimwoord.Length];
for (int i =0; i< letter.Length; i++)
{
this.geradenWoord += ".";
}
}
public bool Raadletter(char letter)
{
char[] secretword = geradenWoord.ToArray();
if (geheimWoord.Contains(letter))
{
for(int i=0; i<geheimWoord.Length; i++)
{
if (geheimWoord[i]==letter)
{
secretword[i] = letter;
Console.Write($"{letter} ");
}
else
{
Console.Write($". ");
}
}
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("------------------------------");
Console.ResetColor();
Console.WriteLine();
}
else
{
Console.WriteLine("letter does not match secretword");
}
return false;
}
}
}