XL 2019 jeu de dames VBA

Baptiste FLOCH

XLDnaute Nouveau
Bonjour,

Etant étudiant en dernière année de Master CGAO nous devons réaliser un jeu sur Excel.

Nous avons donc décider de créer un jeu de dames mais nous rencontrons des soucis.

- Lorsque que l'on peut manger, il le fait avant d'avoir déplacer le pion.
- On a aussi un soucis sur le déplacement des pions qui se duplique si on le bouge deux fois.

Est-il possible de me filer un coup de main ?

Cordialement

Baptiste FLOCH
 

Pièces jointes

  • jeu de dames.xlsm
    79.6 KB · Affichages: 23

vgendron

XLDnaute Barbatruc
Bonjour

je ne sais pas si ton fichier posté est complet, mais déjà. le reset bug
pour rénitialiser, il suffit de copier coller le plateau "Jeu de base"
VB:
Sub Réinit()
With Sheets("Jeu de base") 'définition du plateau initial
    Set PlateauDépart = .Range("B2:K11")
End With
With Sheets("Jeu")
    Set PlateauJeu = .Range("B2:K11") 'plateau de jeu
    PlateauJeu.Value = PlateauDépart.Value 'on copie le plateau initial
End With
End Sub

pour le reste.. à priori, gerer la selection d'un pion et son déplacement dans le meme évènement, c'est pas l'idéal..

pas sur que ce soit aussi simple
perso, je passerais par un type personalisé "pion" qui définit la position du pion et son statut (en vie, mangé, dame)
après; pourquoi pas évènement _change pour la selection du pion qu'on va jouer et évènemnt doubleclic pour son déplacement...?
 

patricktoulon

XLDnaute Barbatruc
bonjour
le problème d'animation quand une couleur mange l'autre n'est pas ton plus gros problème
je viens de tester et on peu faire des mouvements que dans un vrai jeu il ne serait pas possible

perso je l'aurait fait avec des label activx qui ont leur events post action et ou pré action
alors je sais ce sera peut etre plus compliqué mais le résultat sera plus probant
et les pions mange ceux de leur camp 😂
😂 😂 😂 😂 😂 😂 😂
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Hello @patricktoulon
je suis d'accord avec toi. effectivement, ce jeu de dame est assez approximatif..

@Baptiste FLOCH
je pense qu'il faudrait déjà que tu listes les règles du jeu que tu appliques, et comment tu les codes ensuite.
1) recul interdit (sauf pour le saut)
2) saut: uniquement d'un joueur adverse
3) transformation en Dame quand arrivée sur fin plateau
4) avance en diagonale uniquement
5) régle de saut de la dame==> Doit elle atterir juste derrière le pion sauté, ou peut elle arriver plus loin..?
6) règle du souffler n'est pas jouée. appliquée ou pas??

==> pour chaque pion, il faut savoir à quel joueur il appartient, sa position sur le plateau, son statut (Mangé, Vivant, Dame)
==> pour ca: définir un type perso "Tpion"
et donc un tableau de 40 pions

est ce que tu gères une vraie partie?
cad: chaque joueur joue chacun son tour?
fin de partie detectée comment?

Bref.. y a du boulot d'algo avant de coder..
 

patricktoulon

XLDnaute Barbatruc
bon déjà le bouton reset la fonction etait absente
VB:
Sub resetpateau()
    Set plage = Feuil1.[b2:k11]
    plage.ClearContents
    Application.ScreenUpdating = False
    For i = 1 To 4
        For c = 1 To 10
            With plage.Cells(i, c)
                If .Interior.Color <> vbWhite Then .Value = "L" Else .Value = ""
            End With
            With plage.Cells(11 - i, c)
                If .Interior.Color <> vbWhite Then .Value = "J" Else .Value = ""
            End With
        Next
    Next
End Sub
ensuite dans les deux camps chaque pio pense à sa geule (tout ce qui rentre fait ventre)😂
😂 😂 😂 😂 😂 😂

remarque qui sait tu pourrais deposer un brevet "les dames canibales" ,

et il y en a qui proutent tellement fort en partant qui font disparaitre les précédents
😂
demo.gif
😂 😂
 

patricktoulon

XLDnaute Barbatruc
re
ben le déplacement c'est simple c'est en diagonale
pour un pion c'est d'une case et les dame c'est toute la diagonale
au choix du pion répertorier les cellules de la diagonale dans un union
au second click si la cellule ne fait pas partie de cette union walouh!!
sinon posé le pion ou dame dans la new cell et vérifier sur les cell de la diagonale les pion adverse et les scrountcher c'est tout
 

vgendron

XLDnaute Barbatruc
il ne faudrait pas qu'un joueur saute ses propres pions....
1 pion = possiblité de 4 déplacements simples OU 4 sauts simples
==> Déplacement autorisé si personne sur la case cible et si pas de recul
==> Saut autorisé si personne au bout, ET si il y a un pion sauté ET si le pion sauté est au joueur adverse
attention aux déplacements en dehors du plateau...
 

Statistiques des forums

Discussions
312 447
Messages
2 088 497
Membres
103 871
dernier inscrit
julienleburton