![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 6 777
|
Bonsoir à tous
Je lance un appel à tous ceux qui aiment se creuser les méninges qui raffolent des casse-têtes, des enigmes etcie. J'essaye d'adapter en VBA le jeu de Nim J'y suis arrivé pour deux joueurs humains. Maintenant je me suis lancé vers une option [Jouer contre l'ordinateur] et c'est ça là que j'ai besoin de vous, car je ne suis pas assez doué en maths et (je suppose que c'est ce qu'il faut utiliser) en modules de classes. Alors avis aux amateurs. Vous trouverez plus de détails dans le classeur joint et ou j'en suis. Merci de l'intérêt que vous porterez à ce projet. Staple1600 PS: Je serai épaté si on pouvait faire un jeu de NIm sans VBA (tout en formules) donc bienvenue aux formulistes qui se piqueraient au jeu. |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 6 777
|
Bonjour à tous
Voici une version un peu plus améliorée. (avec des modules de classes) (Merci à John Walkenbach et son classeur de démonstration) (Merci également aux messages et leurs intervenants des archives du forum concernant les modules de classes) Il reste le plus compliqué (en tout cas pour moi) Mettre en place l'algo du joueur Ordinateur. J'espère que cela intéressera quelqu'un sur le forum. Merci d'avance à ceux qui sauront m'aider. Staple1600 PS: Je suis désolé de n'avoir pas su percevoir lors de ma scolaritél'importance des mathématiques) Dernière modification par Staple1600 ; 06/07/2007 à 17h41. |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: décembre 2005
Localisation: Chelles 77500
Version Excel : Excel 2004 (MAC)
Messages: 852
|
Salut Staple,
Un humain contre un ordinateur, l'ordinateur gagnera toujours s'il commence. L'algo est simple, si celui qui prend la dernière est le gagnant, et qu'on peut prendre de 1 à 3 alumettes, il faut que le reste modulo 4 soit différent de zéro. L'ordinateur jouera ce modulo, sinon il a perdu, sauf si l'humain fait une erreur voir petite macro jointe Code:
Sub nim()
' nim Macro
' Macro enregistrée le 06/07/2007 par Gruick
Randomize
nbalumettes = InputBox("entrez le nombre d'alumettes")
prem = MsgBox("Moi, l'ordinateur, je joue en prem ?", vbYesNo)
1 If prem = vbNo Then
retrait = InputBox("t'en retires combien, simple humain ?")
If retrait > 3 Or retrait < 1 Then MsgBox "Pas plus de 3, pas moins de 1": GoTo 1
Else
retrait = nbalumettes Mod 4
If retrait = 0 Then retrait = Int(3 * Rnd) + 1
MsgBox "J'en retire " & retrait
End If
nbalumettes = nbalumettes - retrait
MsgBox "Il en reste " & nbalumettes
If nbalumettes = 0 Then GoTo 2
If prem = vbNo Then prem = vbYes: GoTo 1
If prem = vbYes Then prem = vbNo: GoTo 1
2 If prem = vbNo Then MsgBox "T'as gagné, mais c'est incohérent, t'as dû tricher !!!"
If prem = vbYes Then MsgBox "Face à l'intelligence artificielle, tu peux pas lutter !!!"
End Sub
Ca devrait être plus rigolo entre plusieurs joueurs contre l'ordinateur. A plus, Gruick
__________________
MOI, J'AIME ...IER !!Dernière modification par Gruick ; 06/07/2007 à 23h19. |
|
|
|
|
|
#4 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 6 777
|
Bonsoir Gruick
Citation:
Déjà que j'ai échoué au Bac littéraire déjà (en 84 si je me souviens bien) Alors faire tout seul un algo avec mes petits neurones.. Merci pour ta contribution en tout cas |
|
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: décembre 2005
Localisation: Chelles 77500
Version Excel : Excel 2004 (MAC)
Messages: 852
|
Salut Staple,
On peut dire, vu tes délectables envois, que tu as rattrapé ton retard... pas besoin d'être bardé de diplômes, instruction ne veut pas dire intelligence. Moi, avant la terminale, les math c'était la corvée, puis j'ai eu un prof qui nous en a donné le goût, et puis l'informatique aide à comprendre les maths. Donc pour le nim, je pense que ma macro est facile à comprendre, mais pour l'adapter sur un USF, c'est une autre paire de manches. Pour moi, c'est là que ça coince. Il faut compter les alumettes, et celles jouées, le faire disparaître, et ce à chaque coup, humain ou machine... Donc, amis USFiens, à vos claviers... Gruick |
|
|
|
|
|
#6 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 6 777
|
Bonjour Gruick le forum
Bien évidemment je me suis empressé d'essayer d'intégrer ton code (enfin sa logique) dans l'userform Dans un premier temps ImageGroup.Tag=1 puis nbalumettes =Image1.Tag+...+Image16.Tag et la moi aussi je coince J'ai compris ta macro un peu moins le Citation:
donc ex: MOD(13,4)=1 donc l'ordi prend un alumette eil en reste 12 J'en prends 3 il en reste 9 l'ordi en prend donc MOD(9;4)=1 il en reste 8 C'est bien ça? Ce que je n'arrive pas à fiare c'est garder en mémoire les changements de nbalumettes Donc je me joins à toi pour en appeller (non pas à la tendresse) mais aux XLDien(nes) et leur dextérité excellemment VBAiste. Quand aux maths, j'aurai voulu les aimer Alors pour me rattraper souvent je lie magazine Tangente (bien que je ne capte qu'un 1/10 de ce que je lis) Allez j'y retourne. Bonn week à tous |
|
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: décembre 2005
Localisation: Chelles 77500
Version Excel : Excel 2004 (MAC)
Messages: 852
|
re,
Voui m'sieu, T'as bien compris le truc, la fonction modulo, c'est ma préférée depuis toujours. J'en mets partout en bon cochon... C'est la variable nbalumettes qui contient le nombre initial, puis le nombre restant. Quand l'ordinateur se sent perdu, il jouera aléatoirement de 1 à 3, d'où la fonction randomize et le int(3*rnd)+1, qui lui donnera un nombre stochastique de 1 à 3 (fallait pas me parler du bac littéraire) (bref, des chiffres et des lettres). ImageGroup.Tag=1 nbalumettes =Image1.Tag+...+Image16.Tag ??? pour moi, Tu devrais soumettre tout ça dans le forum général, il y a des costauds. A plus, Gruick |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Version Excel : Excel 2000 (PC)
Messages: 7 989
|
Bonjour Staple, Gruick, le forum,
Staple, Ton histoire d'allumettes ne m'enflamme vraiment pas.... Maintenant, si elles sont là pour allumer les bougies, çà marche.... Alors un bon Anniversaire à toi. Jean-Pierre
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin. Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore.... Aidez-la. C'est ici : http://www.excel-downloads.com/forum...orter-xld.html |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: décembre 2005
Localisation: Chelles 77500
Version Excel : Excel 2004 (MAC)
Messages: 852
|
re,
Quelle andouille je fais, de toutes façons je finirai comme ça, à la charcuterie... Où avais-je la tête ? Bon anniversaire cher Staple, et en plus je te dois mon 500e post. Sept un grand jour, ce sept sept sept, et je suis dans le sept sept. Gruick |
|
|
|
|
|
#10 (permalink) | ||
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 6 777
|
Re à tous
Et oui un an de plus... Merci à tous GruickC'est pas grave si cela fait un double-post? Et je ne sais pas si cela intereressait plus de monde dans le forum général Jean-PierrePS: je n'ai pas posté dans le forum général car il s'agit d'un divertissement pas d'un réel problème (je veux jouer au nim j'ai une boite d'alumettes toujours prêtes (surtout aujourd'hui )Et je peux également jouer en ligne. REPS: question subsidiaire: Est-il facile de convertir du, javascript en VBA Personne ne s'est jamais attelè à la tâche Dans le genre On a déjà XLS2HTM XLS2TXT On pourrait avoir JS2XLS Dernière modification par Staple1600 ; 07/07/2007 à 14h50. |
||
|
|
|
|
|
#11 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 6 777
|
Bonjour
Ci joint la version avec quelques ajouts INCLUE la version de Gruick Tester la et jouer contre l'ordinateur ---> Gruick je me suis permis quelques modifs sur ton code et je t'ai emprunté quelquechose de rose... voir sur l'userform PS : tu me l'autorises hein? |
|
|
|
|
|
#12 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: décembre 2005
Localisation: Chelles 77500
Version Excel : Excel 2004 (MAC)
Messages: 852
|
Salut Staple,
Merci pour tes hommages, j'en couine de joie "We are the Champions, my friend..." Qu'est-ce que je raconte, moi !!!! Mon code n'était qu'une simple approche du problème pour mettre l'algo en valeur, mais pour l'appliquer aux dessins, ouille ouille ouille ! Les USF ont un language spécial que je ne maîtrise pas totalement (euh , fait misme). C'est un beau challenge. Pour ma part, je me suis attaqué à un jeu de dominos, au 5 partout, avec un problème d'inputbox non résolu, mais contourné. Personne n'a pu me dire où était le blocage. On m'a conseillé l'USF, mais c'était trop compliqué. J'ai néanmoins réussi mon truc. Malheureusement trop gros pour être posté, et le modulo a encore servi. On va y arriver, saperlipopette !!!! A bientôt, j'espère Gruick |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Votre Avis pour un projet | sly99 | Forum Excel | 1 | 07/11/2006 00h16 |
| Avis requis pour barbatruc... | jmps | Le salon de XLD | 17 | 01/08/2005 23h59 |
| réaliser une recherche | stephane5108 | Forum Excel Downloads - Archives | 6 | 20/11/2004 08h58 |
| Cadeau pour les Forumeurs / Forumeuses ayant des petits gamins ... | @+Thierry | Forum Excel Downloads - Archives | 39 | 15/06/2004 18h16 |
| programme pour réaliser des combinaisons pour jouer au kéno | jfk | Forum Excel Downloads - Archives | 2 | 12/02/2003 19h55 |