begin process at 2012 05 27 20:41:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Message Box

 > TROUVER LE NOMBRE [VBS]

TROUVER LE NOMBRE [VBS]


 Information sur la source

Note :
4,57 / 10 - par 7 personnes
4,57 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Message Box Classé sous :random, aléatoire, deviner, jeu Niveau :Débutant Date de création :22/07/2005 Vu :10 433

Auteur : maxwells

Ecrire un message privé
Site perso
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Voici un code que j'ai écrit vite fait
Il s'agit en fait de trouver un nombre que l'ordinateur choisi aléatoirement :
Pour cela on tape le nombre que l'on pense être et après l'ordi vous dit si c'est plus ou si c'est moins.
Il compte en combien de fois vous trouver le nombre et vous le dit à la fin.

Cette source utilise les différentes boite de dialogue de windows :
InputBox
Msgbox
elle utilise aussi la fonction Rnd() qui permet de générer un nombre aléatoire.
Cela peut peut-être aider les débutant...

Source

  • 'Voici un petit jeu écrit en script VBS
  • 'il consiste à trouver un nombre choisi aléatoirement par l'ordinateur
  • 'si le nombre que vous tapez est supérieur au nombre choisi par l'ordinateur, l'ordinateur vous indique qu'il faut que vous cherchiez dans les nombres inférieur à celui que vous venez de tapez
  • 'et inversement.
  • 'Code libre utilisable par tous pour tous.
  • Call Start()
  • Sub Start()
  • Prenom = Inputbox("Avant de commencer le jeu je voudrais savoir votre prénom pour que cela soit plus conviviable." & Chr(10) & "Quel est votre prénom ?","quel est votre nom")
  • BeginGame = Msgbox("Très bien " & Prenom & ", voici les règles du jeu : " & chr(10) & "L'ordinateur choisi un nombre compris entre 0 et 1000 et vous devez le trouver." & chr(10) & "Sachant que l'ordinateur vous dira si le nombre que vous devez trouvez est supérieur ou inférieur à celui que vous avez tapé." & chr(10) & chr(10) & "Voulez-vous commencer le jeu ?",vbinformation + vbyesno,"Règles du jeu...")
  • If BeginGame = vbyes then
  • Msgbox"Très bien alors c'est parti !!!",vbinformation,"Ok alors on y va !!!"
  • CodeJeu
  • End If
  • If BeginGame = vbno then Wscript.quit
  • QuitOrReplay = Msgbox("Voulez-vous refaire une partie ?",vbyesno + vbquestion,"Voulez-vous rejouer ?")
  • If QuitOrReplay = vbyes then CodeJeu
  • If QuitOrReplay = vbno then Wscript.quit
  • End Sub
  • Sub CodeJeu()
  • Randomize Timer
  • NombreATrouver = int(Rnd*1000)
  • NombreDeCoups = 0
  • While Cint(NombreJoueur) <> NombreATrouver
  • NombreJoueur = Inputbox("Tapez le nombre qui vous paraîtrait être celui que l'ordinateur à choisi.")
  • If Cint(NombreJoueur) < NombreATrouver then
  • Msgbox"C'est plus (+)!!!"
  • NombreDeCoups = NombreDeCoups + 1
  • End If
  • If Cint(NombreJoueur) > NombreATrouver then
  • Msgbox"C'est moins (-)!!!"
  • NombreDeCoups = NombreDeCoups + 1
  • End If
  • Wend
  • Msgbox"Bien joué " & Prenom & ", le nombre choisi par l'ordinateur était " & NombreATrouver & " ." & chr(10) & "Vous avez trouver ce nombre en " & NombreDeCoups & " coups."
  • End Sub
'Voici un petit jeu écrit en script VBS
'il consiste à trouver un nombre choisi aléatoirement par l'ordinateur
'si le nombre que vous tapez est supérieur au nombre choisi par l'ordinateur, l'ordinateur vous indique qu'il faut que vous cherchiez dans les nombres inférieur à celui que vous venez de tapez
'et inversement.


'Code libre utilisable par tous pour tous.

Call Start()
Sub Start()
	Prenom = Inputbox("Avant de commencer le jeu je voudrais savoir votre prénom pour que cela soit plus conviviable." & Chr(10) & "Quel est votre prénom ?","quel est votre nom")
    BeginGame = Msgbox("Très bien " & Prenom & ", voici les règles du jeu : " & chr(10) & "L'ordinateur choisi un nombre compris entre 0 et 1000 et vous devez le trouver." & chr(10) & "Sachant que l'ordinateur vous dira si le nombre que vous devez trouvez est supérieur ou inférieur à celui que vous avez tapé." & chr(10) & chr(10) & "Voulez-vous commencer le jeu ?",vbinformation + vbyesno,"Règles du jeu...")
	If BeginGame = vbyes then 
		Msgbox"Très bien alors c'est parti !!!",vbinformation,"Ok alors on y va !!!"
		CodeJeu
	End If
	If BeginGame = vbno then Wscript.quit
	
		QuitOrReplay = Msgbox("Voulez-vous refaire une partie ?",vbyesno + vbquestion,"Voulez-vous rejouer ?")
		If QuitOrReplay = vbyes then CodeJeu
		If QuitOrReplay = vbno then Wscript.quit
End Sub
Sub CodeJeu()

		Randomize Timer
		NombreATrouver = int(Rnd*1000)
		NombreDeCoups = 0

		While Cint(NombreJoueur) <> NombreATrouver
			NombreJoueur = Inputbox("Tapez le nombre qui vous paraîtrait être celui que l'ordinateur à choisi.")
			If Cint(NombreJoueur) < NombreATrouver then
				Msgbox"C'est plus (+)!!!"
				NombreDeCoups = NombreDeCoups + 1
			End If
			If Cint(NombreJoueur) > NombreATrouver then
				Msgbox"C'est moins (-)!!!"
				NombreDeCoups = NombreDeCoups + 1
			End If
		Wend
		Msgbox"Bien joué " & Prenom & ", le nombre choisi par l'ordinateur était " & NombreATrouver & " ." & chr(10) & "Vous avez trouver ce nombre en " & NombreDeCoups & " coups."
End Sub

 Conclusion

Voilà désolé je ne l'ai pas commenté.
Vos commentaires sur cette source sont les bienvenus (bien que ce ne soit pas très nécessaire vu que c'est une source très simple.


 Sources du même auteur

Source avec Zip Source avec une capture UN NOUVEAU PRESSE-PAPIER POUR WINDOWS
Source avec Zip Source avec une capture UN JEUX DE CLAVIER (=KEEBORDSET)
Source avec Zip OUVRIR PLUSIEURS FORM EN MÊME TEMPS

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) LOGICIEL DE MÉMO (POST-IT) par VBmasterX
Source avec Zip MESSAGE AUTO (MSG_AUTO) par omega8
Source avec Zip Source avec une capture MSG GENERATOR V 1.0 par ThePH267
Source avec Zip Source avec une capture [VB6] TOUT SAVOIR SUR LA POSITION ET LES DIMENTIONS DE LA BA... par lermite222
Source avec Zip Source avec une capture Source .NET (Dotnet) MESSAGE BOX A CHOIX MULTIPLE par mafieulemouton

 Sources en rapport avec celle ci

CHAÎNE ALÉATOIRE / RANDOM STRING par mizoz
Source avec Zip Source avec une capture OBTENIR DE VRAIS NB ALEATOIRE par Egyde
Source avec Zip Source avec une capture BMW SERIE 7 par serge_saati
Source avec Zip Source avec une capture $$$ BLACKJACK $$$ LE CÉLÈBRE JEU DU 21 PRATIQUÉ DANS LES CAS... par FrAnCkY555
Source avec Zip Source avec une capture ROULETTE RUSSE par Majen

Commentaires et avis

Commentaire de crenaud76 le 22/07/2005 16:58:33

Tu as l'air un peu faché avec les "Else" toi non ?
Perso, plutot que

If QuitOrReplay = vbyes then CodeJeu
If QuitOrReplay = vbno then Wscript.quit

Je coderai ceci ...

If QuitOrReplay = vbyes then
  CodeJeu
Else If QuitOrReplay = vbno then
  Wscript.quit
End If

Et même ceci ...

If QuitOrReplay = vbyes then CodeJeu Else Wscript.quit

Meme remarque pour la comparaison des nombres dans la boucle While !
Et l'incrément du compteur de coup pourrait être En dehors des If !!
Mais sinon ton code est propre alors 7/10 pour toi ...

christophe R.

Commentaire de Zlub le 22/07/2005 22:05:43

Pas mal.. un peu trop de texte de présentation

bonne remarque de crenaud76 ...
J'aurais pas si généreux pour la note, donc je note pas...
comme ça tu conserve une bonne note... (en fait c'est en originalitée que ça pêche selon moi..)

Commentaire de Julien39 le 23/07/2005 21:23:49 administrateur CS

Je suis d'accord avec Zlub tu aurais du raire un morpion il y en pas du tout ( je rigole ).

C'est pas mal malgré tout 6/10

Commentaire de jdaubertin le 26/07/2005 13:39:53

Lol c'est vraiment le genre de jeu simple à faire, c'est le tout premier "jeu" que j'ai fais lorsque j'ai commencé à apprendre la programmation. Enfin bon, de la à le poster, je pense qu'il y a assez de source du même type. De plus même cela était pour aider les débutants, je ne vois pas beaucoup de commentaires dans ton script. Résumé : source inutile donc je te met 5/10 parce que ça fonctionne et que c'est propre malgrè beaucoup de texte inutile.

Bonne continuation

Commentaire de Julien39 le 26/07/2005 15:39:47 administrateur CS

Une source inutile sa n'existe pas.
Si c'est le code tout simple, "le tout premier jeu qu'on fait pour apprendre la programmation" il n'y a pas de commentaire à mettre.

Une source peut etre déposée avec différentes motivations: Aider les autres à faire leurs programmes, mais aussi voir où se trouvent ses erreurs en soumettant son travail a des programmeurs plus experimentés et sa marche (premier commentaire).

Le partage de son travail est un acte que l'on se doit de saluer.

Alors arrete de critiquer inutilement et partage tes codes jdaubertin.

Commentaire de us_30 le 25/09/2005 10:50:21

Salut,

Boufff... le jeu de masacre, dites donc !

JE pense que Maxwells a très fait de mettre son petit jeu, et puis merci ! IL m'a amusé.

Si on doit à chaque fois se demander à qui doit profiter un code, et ben... on risque pas moins de ne plus avoir de site du tout ! Et comme le dit Julien39, la motivation pour déposer son code c'est aussi d'en connaître les défauts...

Et dans cette rubrique, je me permet de signaler quelques points.

Déjà, comme l'avait dit Crenaud, les deux lignes :

If QuitOrReplay = vbyes then CodeJeu
If QuitOrReplay = vbno then Wscript.quit

Peuvent à mon avis être remplacé plus simplement que ce qu'il avait été proposé, par :

If QuitOrReplay = vbyes then
CodeJeu
Else
Wscript.quit
End IF

=

L'instruction Call Start() et Sub start() n'ont pas lieu d'être, puisque par défaut si le code n'est pas encadré dans une Sub alors il est exécuté.

=

De l'ordre du détail, chr(10) peut être remplacé par VbCr.

=

L'instruction Cint n'est pas ici du meilleur emploi. Cint sert à convertir un nb en un type Integer, (donc l'arrondi si nécessaire), mais ici il est employé que pour garder la partie entière du nb entré. IL est donc de loin préférable d'utiliser Int ou Fix, fonctions dédier à cela. DE plus, on peut l'appliquer directement à l'instruction InputBox, cela évite de le repéter X fois par la suite...

Mais, il reste un souci... Si on rentre au lieu d'un nombre un texte, une erreur se produit... IL faudrait donc utiliser l'instruction Err, pour gérer se cas de figure...

=

La formule :

NombreATrouver = int(Rnd*1000)

Donne un nombre compris entre 0 et 999, et non pas 1000 !

IL faut pour avoir jusqu'à 1000 :

NombreATrouver = int(Rnd*1001)

=

Ensuite, si on veut arrêter le jeu au cours de la recherche, par le bouton Annuler, il se produit une erreur... Cela ne fait pas très propre... IL faudrait donc rajouter la gestion du bouton Annuler... Autre chose, si on rentre rien et OK, le code le considère comme si on avait rentré zéro, alors que le joueur n'a pas vraiment joué...

=

Bon... voilà, je pense qu'on pourrait encore aller plus loin, mais je n'arrête là. Voici ce que devient le code suite aux remarques :

=

    Prenom = InputBox("Avant de commencer le jeu je voudrais savoir votre prénom pour que cela soit plus conviviable." & vbCr & "Quel est votre prénom ?", "quel est votre nom")
    
    BeginGame = MsgBox("Très bien " & Prenom & ", voici les règles du jeu : " & vbCr & "L'ordinateur choisi un nombre compris entre 0 et 1000 et vous devez le trouver." & vbCr & "Sachant que l'ordinateur vous dira si le nombre que vous devez trouvez est supérieur ou inférieur à celui que vous avez tapé." & vbCr & vbCr & "Voulez-vous commencer le jeu ?", vbInformation + vbYesNo, "Règles du jeu...")
    If BeginGame = vbYes Then
        MsgBox "Très bien alors c'est parti !!!", vbInformation, "Ok alors on y va !!!"
        CodeJeu
    Else
        WScript.Quit
    End If
    
    QuitOrReplay = MsgBox("Voulez-vous refaire une partie ?", vbYesNo + vbQuestion, "Voulez-vous rejouer ?")
    If QuitOrReplay = vbYes Then
        CodeJeu
    Else
        WScript.Quit
    End If
    
Sub CodeJeu()
    Randomize Timer
    
        NombreATrouver = Int(Rnd * 1001)
        NombreDeCoups = 0
        
        While NombreJoueur <> NombreATrouver
            NombreJoueur = InputBox("Tapez le nombre qui vous paraîtrait être celui que l'ordinateur à choisi.")
            If NombreJoueur = "" Then Exit Sub
            On Error Resume Next
            NombreJoueur = Int(NombreJoueur)
            If Err <> 0 Then MsgBox "Vous n'avez pas entré un nombre !": Exit Sub
            If NombreJoueur < NombreATrouver Then
                MsgBox "C'est plus (+)!!!"
                NombreDeCoups = NombreDeCoups + 1
            ElseIf NombreJoueur > NombreATrouver Then
                MsgBox "C'est moins (-)!!!"
                NombreDeCoups = NombreDeCoups + 1
            End If
        Wend
   MsgBox "Bien joué " & Prenom & ", le nombre choisi par l'ordinateur était " & NombreATrouver & " ." & vbCr & "Vous avez trouver ce nombre en " & NombreDeCoups & " coups."
End Sub

=

Amicalement,
Us.

Commentaire de us_30 le 25/09/2005 10:52:11

Ah ! J'oublie ma note d'encouragement : 9/10 !

Us.

Commentaire de barbichette le 27/09/2005 08:26:36

d'accord avec jdaubertin.
C'est un jeu que l'on retrouve 50 fois sur n'importe quel site de programmation. On le trouve en fortran, basic, casio, TI, assembleur, et j'en passe comme sur les proc 68HCxx.
Je suis un peu dur mais entre le calcul du PGCD, le pivot de gauss ou la résolution d'équations de degré 2, qui reviennent toutes les trois semaines, il y a bien 6000 sources sur 13000 de vbfrance qui ne sont que des doublons.
Enfin, entre le code un peu maladroit et les noms de variables tantôt anglais, tantôt français, ça sent le copier-coller.

Alors, pour le code, l'originalité et le reste, je met 1/10

Commentaire de barbichette le 27/09/2005 08:44:33

Pour rajouter un truc, je suis bien content que tu arrive à programmer ça. Il faut bien commencer par quelque chose. Là n'est pas la question.
Le problème, c'est de mettre ce source en ligne.
Si on fait une recherche sur se site, on en trouve déjà trois sans se creuser les méninges sur le mot clé.
Voilà...

Barbichette

Commentaire de us_30 le 27/09/2005 22:29:04

Barbichette !

JE polémiquerais une seule fois : En quoi tes deux posts sont-ils constructif pour maxwells ? (niveau débutant)

et pis, "le compte est bon" , "des écrans de veilles" , "listeur de répertoires" , etc... il y en a aussi des tas sur internet, non ? et encore plus, si je tiens compte de tous les langages de programmation, comme toi ! ILS font donc plus que doublons ! ... et donc si tu es logique avec toi-même, il te reste plus qu'à les supprimer...

Us.

Commentaire de barbichette le 27/09/2005 23:31:14

Juste une petite info. Je ne suis pas du tout programmeur de metier, et loin d'être dans le milieu de l'informatique en général (PS: je travail sur l'autoroute). Donc, quand j'ai besoin d'un soft, je cherche d'abort sur internet avant de faire un prog. Or, dans les cas de mes codes sources, il n'en existait pas.
Pour l'écran de veille, j'ai du cherche sur des sites en anglais ou en Japonnais pour trouver des docs et des exemples ou bien importer des codes du C++ vers Delphi.
Maintenant, pour le listeur, il me semble bien avoir eu des remarques sur le fait que ça existait déjà et en mieux. donc, à mon tour de dire quand il y a doublons.

Que maxwells veuille s'améloirer, c'est une bonne chose. Si il y avait eu Internet quand j'ai appris le PC, j'aurais sûrement surfer sur la vague pour trouver des exemples. Mais là, il y en a au moins 19 codes pour le PGCD en basic. Il me semble que depuis le temps, on en a fait le tour plusieurs fois.

Mais la question est : Pourquoi mettre un code maladroit en disant, "Cela peut peut-être aider les débutant... ". Non, ça peut l'aider, et je pense que ça lui a permis d'avancer. Mais il y a mieux. Alors, pour de l'aide OUI, mais il faut le dire.
Pour le fun, NON.

Barbichette

Commentaire de maxwells le 28/09/2005 11:14:19

Salut à tous et merci pour tous vos commentaires mais petite précision, je suis conscient de tous ce que vous avez dit mais j'ai déposé cette source pour les débutants, cela ne signifie pas que je suis moi aussi un débutant.
Sinon vos commentaires sont toujours les bienvenus.

P.S. : merci à Barbichette pour prendre ma défense.

Commentaire de us_30 le 28/09/2005 21:59:38

?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème de génération de nombre aléatoire [ par fdiedler2000 ] Bonjour à tous,Je voudrais générer dans une boucle deux nombre aléatoire. Voila ce que j'ai fais :*****************        While testersolution() = Fa Deviner 1 nombre aléatoire en 1 minute env... [ par Magnetoboy ] Bonsoir, Je souhaitrai connaitre la procédure pour une macro sous Excel qui proposerait un nombre aléatoire 5 à 50 000 et des indications + ou - selon [VB6] HighScore et timer [ par Avenger21 ] Bonjour, Je débute dans VB6 et je voudrais savoir comment faire pour que a la fin d'un temps précis, le jeu ce stop et ouvre une nouvelle fenê Base de données et random [ par fabman21 ] Bonjour, J'aimerais avoir vos lumières sur ces deux points suivants .[^^ange] - J'aimerais creer 2 bases de donées, une contenant des prénoms et l'au jeu solitaire en vb.net [ par coral0021 ] [b]salut je recherche des codes permettant de créer le jeu solitaire [/b] Je propose un Jeu de Géographie : Apprentissage ou Test de vos connaissances du réseau hydrographique français. [ par gmarquer ] J'ai été faciné par un jeu trouvé sur Internet qui proposait, sur une carte de France, de cliquer sur le fleuve ou la rivière demandé(e). Bonne ou ma Proposition de jeu de Géographie (Fleuves de France) [ par gmarquer ] Bonjour à tous et à toutes !!!! Je viens de poster un message où je proposais un jeu de géographie sur les fleuves et rivières de France en disant qu VB.NET et "Des chiffres et des lettres" [ par Attila54 ] Re bonsoir J'enviseage de creer un petit soft base sur le jeu "des chiffres et des lettres" pour une maison de retraitecee du projet J'ai une idée Scroll horizontal jeu. [ par Hackdevil ] Bonjour, J'ai beau chercher mais j'ai du mal à trouver la réponse à ma question. J'aimerai comprendre le système de scroll dans des jeux du genre sup Déplacement aléatoire d'une PictureBox dans une Form [ par gege1505 ] Bonjour, je cherche depuis longtemps à faire déplacer une pictureBox de manière aléatoire dans une Form, j'ai posé plein de questions, sur plein de fo


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales