Mon égal si les déclarations continuent à renvoyer faux des guessances de la lettre n'est pas la première lettre, est-ce que quelqu'un a une idée pourquoi cela peut être? J'ai beaucoup débogué c'est comme ça que j'ai découvert qu'il renvoie une fausse déclaration booléenne. J'ai beaucoup googlé mais je n'ai trouvé aucun éclaircissement. Les deux premières instructions if return true si la réponse est la lengh correcteC# Egal à la déclaration 0 Faux
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Guess_The_Word
{
public partial class Form1 : Form
{
private int wrongGuesses = 0;
private int userGuesses;
private int score = 0;
private string secretWord = String.Empty;
private string[] words;
private string currentWord = string.Empty;
private string userGuess = string.Empty;
private string userInput = string.Empty;
private string randomInput = string.Empty;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void guessBtn_Click(object sender, EventArgs e)
{
char[] userInputArray = userInputBox.Text.ToLowerInvariant().ToCharArray();
char[] currentWordCharArray = currentWord.ToLowerInvariant().ToCharArray();
//Assume that userInput would never be superior than randomCharArray
//And contain only one char
for (int i = 0; i < currentWordCharArray.Length; i++)
{
if (userInputArray.Length > 0 && userInputArray.Length > i)
if (currentWordCharArray.Length > 0 && currentWordCharArray.Length > i)
if (userInputArray[0].Equals(currentWordCharArray[i]))
{
UpdateScore();
}
}
// Clean userInput in form
userInputBox.Text = string.Empty;
}
private void resetGamebtn_Click(object sender, EventArgs e)
{
SetUpWords();
}
private void SetUpWords()
{
string path = (@"C:\commonwords.txt"); // Save the variable path with the path to the txt file
words = File.ReadAllLines(path);
int guessIndex = (new Random()).Next(words.Length);
currentWord = words[guessIndex];
wordlbl.Text = string.Empty;
for (int i = 0; i < currentWord.Length; i++)
{
wordlbl.Text += "*";
}
}
private void userInputBox_TextChanged(object sender, EventArgs e)
{
}
private void UpdateScore()
{
score++;
scorelbl.Text = Convert.ToString(score);
}
}
}
Vous n'attribuez pas le résultat 'rand.Next()' aux éléments du tableau. –
'rand.Next (Min, Max)' renvoie une valeur - vous devez l'ajouter à votre tableau – thisextendsthat
L'une des réponses at-elle aidé @LiamVallance? – mjwills