Jeu à deux joueurs avec fonction aléatoire
Bonjour à tous,
Je débute sous VBA, mais j'essaie de créer un jeu à deux joueurs où chacun lance le dé à tours de rôle.
De là le pion avance d'autant de case indiqué par le nombre aléatoire.
Mon problème réside dans la case active : lorsque le joueur_2 joue, son pion démarre de la dernière case activé (par le joueur_1) et non de la sienne. C'est-à-dire que le joueur_1 joue, son pion avance disons de deux cases, puis le joueur_2 lance le dé et il doit avancer de trois cases. Mais là, le pion du joueur_2 avance à compter de la case du joueur_1. Comment faire pour résoudre se problème? Que me manque t-il comme fonction ou ligne de code?
Je souhaiterai comprendre la logique (pour apprendre, car je débute).
D'avance je vous en remercie
Sub TirageUnDe()
Tirage1 = Int((6 * Rnd) + 1)
'Tirage1 = 1
Dim joueurs As Integer
For joueur_1 = 1 To 1
Call MessageTirage
Call ChercherCase
Call joueur_1
Call TestGage
Next
MsgBox "joueur_2 c'est à vous de jouer"
End Sub
Sub ChercherCase()
ValeurActuelle = ActiveCell.Value
ValeurObtenue = ValeurActuelle + Tirage1
ValeurRecherchee = ValeurActuelle + 1
Select Case ValeurObtenue
Case Is < 120
Do While ValeurRecherchee < ValeurObtenue
Range("A1:A19,B19,C19:C1,D1,E1:E19,F19,G19:G1,H1,I1:I19,J19,K19:K1,L1").Select
Selection.Find(What:=ValeurRecherchee, After:=ActiveCell, MatchCase:=True).Select
ValeurRecherchee = ValeurRecherchee + 1
Loop
Range("A1:A19,B19,C19:C1,D1,E1:E19,F19,G19:G1,H1,I1:I19,J19,K19:K1,L1").Select
Selection.Find(What:=ValeurObtenue, After:=ActiveCell, MatchCase:=True).Select
Case Is > 120
MsgBox "Vous devez rejouer pour tomber PILE sur le 120 !!", , "PRESQUE TERMINE", , "Mais attention de ne pas jouir avant, .... sinon vous perdez"
Case Is = 120
Range("A1:A19,B19,C19:C1,D1,E1:E19,F19,G19:G1,H1,I1:I19,J19,K19:K1,L1").Select
Do While ValeurRecherchee <= ValeurObtenue
Range("A1:A19,B19,C19:C1,D1,E1:E19,F19,G19:G1,H1,I1:I19,J19,K19:K1,L1").Select
Selection.Find(What:=ValeurRecherchee, After:=ActiveCell, MatchCase:=True).Select
ValeurRecherchee = ValeurRecherchee + 1
Loop
Selection.Find(What:=ValeurObtenue, After:=ActiveCell, MatchCase:=True).Select
MsgBox "Vous venez de gagner la partie, choisissez la manière dont vous souhaitez atteindre l'extase!"
End Select
End Sub
Bonjour,
C'est déjà pas facile de lire une macro quand elle n'est pas en BALISE
alors sans classeur pour se repérer
Bonjour M12
Ci-joint les deux modules crées. Je débute donc le code n'est sûrement pas écrit comme il se doit car j'apprends. Je commence par un petit jeu pour mes enfants passionnés de légo.
Merci de ton aide
Bonjour fr70,
Vu les phrases inclues dans le code VBA, ça a l'air d'être un jeu très olé olé !
c'est pour grimper au rideau ? ... ou au 7ème ciel ?
dhany