Bonjour/Bonsoir

Je suis un débutant en VisualBasic, soyez indulgent s'il vous plait

Voilà, je suis en train de faire un programme s'intitulant " Plus ou moin "
Le but, et donc de trouver le chiffre géneré aléatoirement.

Le voici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Module Module1
 
    Sub Main()
        ' Déclaration des variables
        Dim RandomClass As New Random()
        Dim RandomNumber As Integer
        Dim NombreEntree As String
        Dim Niveau As Integer = 1
        Dim Jeu As Integer = 0
        Dim NombreMini As Integer
        Dim NombreMax As Integer
        ' Présentation du programme
        Console.WriteLine("Bienvenue dans le plus ou moin")
        Console.WriteLine("Celui-ci est crée avec le langage de programmation VisualBasic.NET ( VB.NET )")
        Console.WriteLine("Merci d'appuyer sur <<Entrer>>")
        Console.Read()
        ' Création du nombre alétoire ( de 1 à 100 )
        RandomNumber = RandomClass.Next(1, 100)
        Console.WriteLine("On commence !")
        Console.WriteLine("On commence de 1 à 100")
        NombreMini = 1
        NombreMax = 100
        ' Boucle infinie permettant de jouer en illimité =) !
        Do
 
            Console.Read()
            Console.WriteLine("Entrer le nombre")
            Console.WriteLine("Valeur: " & RandomNumber)
            NombreEntree = Console.ReadLine()
            ' Si le nombre entree est égal au nombre généré:
            If NombreEntree = RandomNumber Then
                NombreMax += 100
                Niveau += 1
                Console.WriteLine("Bien joué !")
                Console.WriteLine("Niveau " & Niveau & ": de " & NombreMini & " à " & NombreMax)
                RandomNumber = RandomClass.Next(NombreMini, NombreMax)
                NombreEntree = 0
                Console.WriteLine("Le chiffre à rechercher se situe maintenant entre " & NombreMini & " et " & NombreMax)
                ' Sinon, si le nombre entree est plus petit que le nombre généré:
            ElseIf NombreEntree < RandomNumber Then
                Console.WriteLine("Le nombre recherché est plus petit !")
                ' Sinon, si le nombre entree est plus grand que le nombre généré:
            ElseIf NombreEntree > RandomNumber Then
                Console.WriteLine("Le nombre recherché est plus grand !")
            End If
            ' Faire en sorte que le jeu ne se termine jamais:
        Loop Until Jeu = 1
        Console.Read()
    End Sub
 
End Module
Le problème est le suivant:

J'entre pour la première fois le chiffre géneré aléatoirement, ça marche, il m'affiche bien le message " Bien joué ! ...... "
Je suis donc dans le niveau 2, et le nombre à trouver se trouve entre 1 et 200.
J'entre donc n'importe quel chiffre, et un message apparait sur VB:

L'exception System.InvalidCastException n'a pas été gérée
Message=La conversion de la chaîne "" en type 'Double' n'est pas valide.
Source=Microsoft.VisualBasic
StackTrace:
à Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)
à Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value)
à ConsoleApplication1.Module1.Main() dans C:\Users\Alexandre\documents\visual studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\Module1.vb:ligne 31
à System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
à System.Threading.ThreadHelper.ThreadStart()
InnerException: System.FormatException
Message=Le format de la chaîne d'entrée est incorrect.
Source=Microsoft.VisualBasic
StackTrace:
à Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
à Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)
InnerException:
Voilà, je ne comprends pas ce problème, enfin je pense que ça vient du type de format...

Cordialement