C# Un simple jeu du Pendu
Je suis en train de créer un simple jeu du Pendu et j'ai obtenu jusqu'à présent, à faire lire tous les mots à partir d'un fichier texte, mais je ne sais pas comment faire le code du travail pour chaque mot. J'ai un autre projet, le travail avec les 3/4 des mots mais avec de répéter les instructions if imbriquées. Je veux le rendre aussi courte que possible.
C'est le code que j'ai pour l'instant :
using System;
using System.Linq;
class Program
{
static void Main()
{
string[] words = System.IO.File.ReadAllLines(@"C:\Users\ADMIN\Desktop\Letters\Letters.txt");
int LengthOfArray = words.Length;
Random rnd = new Random();
int random = rnd.Next(1, 3);
char[] letters = words[random].ToCharArray();
bool WordIsHidden = true;
char hiddenChar = '_';
char GuessedLetter = hiddenChar;
var retry = true;
while (retry = true)
{
Console.WriteLine(letters);
letters = GuessedLetter.ToString().ToCharArray();
for (int i = 1; i <= LengthOfArray; i++)
{
Console.Write("{0} ", GuessedLetter);
}
Console.WriteLine("Enter a letter!");
char letter = char.Parse(Console.ReadLine());
if (words[random].Contains<char>(letter))
{
WordIsHidden = false;
GuessedLetter = letter;
Console.Write(letters);
}
else
{
if (WordIsHidden == true)
{
Console.Write("You guessed wrong!");
}
}
}
}
}
Aussi je suis en train de faire le jeu de chaque lettre, l'utilisateur a deviné sur ses position, mais maintenant, la lettre est une ligne de plus que le reste de la parole, et il n'est pas dans sa bonne position.
Édité:
Here is the result :
cat
___Enter a letter!
a
__
aaaEnter a letter!
t
aa
tttEnter a letter!
SI quelqu'un a une idée de où vient-il et comment puis-je résoudre ce problème, toute aide sera grandement appréciée.
- Et votre question est?
Vous devez vous connecter pour publier un commentaire.
Ok, je vais deviner le problème ici, mais je pense que vous êtes à décrire une par une erreur ici:
devrait être:
Que l'indexation en C# commence à 0. C'est probablement à l'origine du problème que vous voyez. Cependant une boucle foreach ici vaudrait mieux que vous n'êtes pas à l'aide de la valeur de " i " à tous.
comme pour rendre le programme plus court, ne vous inquiétez pas trop à droite maintenant, obtenir le programme de travail puis refactoriser le code plus tard. J'aimerais des conseils en commençant par la recherche en LINQ/IEnumerable extensions, aussi l'inférence de type via le mot-clé var.
EDIT:
Ok j'ai passé 5 minutes à la recherche de plus de votre code, je l'ai mis dans un couple de correctifs (voir les commentaires). Veuillez consulter l'encontre du code d'origine. Ce n'est pas joli, efficace ou solution élégante, mais j'espère qu'il se comporte plus en ligne avec ce que vous attendiez.
Essayer cette