Pierre-feuille-ciseaux sur Excel

BitterSweetLife
Messages postés
7
Date d'inscription
mercredi 23 mars 2011
Statut
Membre
Dernière intervention
23 mars 2011
- 23 mars 2011 à 15:46
bigfish_le vrai
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
- 23 mars 2011 à 17:23
Bonjour je dois rédiger un programme et j'ai du mal.

Je dois rédiger une macro qui réalise le jeu « Pierre – Feuille – Ciseaux » en faisant jouer un utilisateur avec votre programme. Mon programme doit d’abord jouer en tirant aléatoirement un nombre entre 0 et 2. 0 symbolisera la pierre, 1 la feuille et 2 les ciseaux. Puis, je dois demander à l’utilisateur de communiquer son choix, entre 0 et 2 également. Indiquez à l’utilisateur s’il a gagné, ou s’il y a égalité.

Les règles sont simples : la pierre bat les ciseaux, les ciseaux battent la feuille et la feuille bat la pierre. Il y a égalité quand les deux joueurs tirent le même objet.
A voir également:

5 réponses

BitterSweetLife
Messages postés
7
Date d'inscription
mercredi 23 mars 2011
Statut
Membre
Dernière intervention
23 mars 2011

23 mars 2011 à 16:46
non j'ai essayé mais je bloque


Sub jeu()
Dim x As Integer
Dim y As String
Dim s As Integer
x = Int(Rnd() * 0) + 2
s = InputBox("entre votre choix entre 0 et 2")
If x 0 And s 1 Then
MsgBox ("vous avez perdu")
Else
If x 0 And s 2 Then
MsgBox ("vous avez gagné")

Else
If x 0 And s 0 Then
MsgBox ("Match nul")
Else '0 symbolisera la pierre, 1 la feuille et 2 les ciseaux.
If x 1 And s 0 Then
MsgBox ("Vous avez perdu")
Else
If x 1 And s 1 Then
MsgBox ("Match nul")
Else
If x 1 And s 2 Then
MsgBox (" vous avez gagné")
Else
If x 2 And s 0 Then
MsgBox ("Vous avez gagné")
Else
If x 2 And s 1 Then
MsgBox ("vous avez perdu")
Else
If x 2 And s 2 Then
MsgBox ("Match nul")
End If


End Sub

ca m'affiche erreur :s
0
bigfish_le vrai
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
12
23 mars 2011 à 17:14
Arrf !!!

en fait il y a 2 erreurs :

la premiere: c'est pas du VB.net ou VB2005 mais du VBA donc tu n'es pas dans le bon theme !

Pas grave on reste ici, si un GA (Gentil Admin) passe par ici il nous remettras dans le droit chemin du VBA.

pour l'autre erreur il sagit des conditions Else if que ne s'ecrivent pas de la façon que les à écritent.

Sub jeu()
    Dim x As Integer
    Dim y As String
    Dim s As Integer
    x = Int(Rnd() * 0) + 2
    s = InputBox("entre votre choix entre 0 et 2")
    If x 0 And s 1 Then
        MsgBox ("vous avez perdu")
    ElseIf x 0 And s 2 Then
        MsgBox ("vous avez gagné")
    ElseIf x 0 And s 0 Then
        MsgBox ("Match nul")
    ElseIf x 1 And s 0 Then
        MsgBox ("Vous avez perdu")
    ElseIf x 1 And s 1 Then
        MsgBox ("Match nul")
    ElseIf x 1 And s 2 Then
        MsgBox (" vous avez gagné")
    ElseIf x 2 And s 0 Then
        MsgBox ("Vous avez gagné")
    ElseIf x 2 And s 1 Then
        MsgBox ("vous avez perdu")
    ElseIf x 2 And s 2 Then
        MsgBox ("Match nul")
    End If
End Sub


A+
0
BitterSweetLife
Messages postés
7
Date d'inscription
mercredi 23 mars 2011
Statut
Membre
Dernière intervention
23 mars 2011

23 mars 2011 à 17:18
merci beaucoup ;)
0
bigfish_le vrai
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
12
23 mars 2011 à 17:23
J'ajouterai que :

-j'aurai du me relire

pour l'autre erreur il sagit des conditions Else if qui ne s’écrivent pas de la façon que tu les as écritent.

-tu pourrais simplifier en t'intéressant au Select/Case en remplacement des conditions If. Cela te permettrais aussi de facilement regrouper les résultats : gagné, perdu et nul en une ligne pour chacun.

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bigfish_le vrai
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
12
23 mars 2011 à 16:41
Salut,

et alors c'est quoi la question ?

Si c'est : est-ce que quelqu'un peu le faire pour moi ?

Ma reponse est oui ! pour:

- 499 euros(promo grande semaine du blanc) si ce n'est pas urgent(sous un mois)

- 700 euros si c'est urgent(une semaine)

- 1200 euros si c'est tres urgent(hier) et oui les miracles sont pas donnés


A+
-1