Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Au sujet du jeu Excel Jawbreak de Andy Pope

10 réponses
Avatar
garnote
Bonjour,

Ce jeu fascinant a été proposé par Modeste le 01/03/09 11:38.
Je fais une petite analyse de ce jeu.
J'ai commencé par chercher la formule permettant de calculer
le score pour une chaîne de billes. En poursuivant la démarche
d'Isabelle 01/03/09 17:41, j'ai réussi à créer des chaînes
contenant de 2 à 28 billes.
J'ai alors fait un nuage de points avec le nombre de billes (x)
dans la chaîne et le score (y) :

x y
2 2
3 4
4 8
... ...
27 652
28 704

En demandant une courbe de tendance polynomiale de degré 2,
j'ai obtenu l'équation x^2 - 3x + 4 et ça colle parfaitement.
Mais j'ai fait ça inutilement car en fouillant dans les macros
de Andy Pope, j'ai constaté que sa fonction m_PointScore
utilise la formule ((Count - 1) * (Count - 2)) + 2, qui est
équivalente à la mienne si on remplace Count par x.

Maintenant je cherche à établir le score maximal qu'on peut
obtenir avec ce jeu.
Il y a 231 billes au début de la partie. Ce qui veut dire que
si toutes les billes étaient de la même couleur, on obtiendrait
un score fabuleux de 52 672.
Mais bien sûr les billes ne sont jamais toutes de la même couleur.
Il y a cinq couleurs différentes et le nombre de billes de même
couleur semblent varier grosso modo de 30 à 50.
Par exemple, s'il y avait 46 billes jaunes, 46 billes bleu foncé,
46 billes bleu pâle, 46 billes rouges, 47 billes magenta et si
par miracle, on pouvait faire quatre chaînes de 46 et une autre
de 47, on obtiendrait un score de 10 000.

Et voici enfin ma question :
En fouillant dans les macros, est-ce possible de connaÎtre
le nombre de billes de chaque couleur au début d'une nouvelle partie ?
Je ne comprends pas encore la manière Andy Pope de disposer
ses billes mais en tous cas, je sais qu'on peut obtenir un score
supérieur à 1 500.


Serge

10 réponses

Avatar
Modeste
Bonsour® garnote

En fouillant dans les macros, est-ce possible de connaÎtre
le nombre de billes de chaque couleur au début d'une nouvelle partie ?
Je ne comprends pas encore la manière Andy Pope de disposer
ses billes mais en tous cas, je sais qu'on peut obtenir un score
supérieur à 1 500.



c'est dans la macro m_CreateBoard() de la feuille fmGame qu'est généré aleatoirement l'affectation des couleurs
;o)))
c'est dans cette macro qu'en modifiant cette affectation à 1 couleur j'ai obtenu dés le 1er coup le score faramineux de 52672 points !!!

c'est dans cette macro qu'il suffit de dénombrer le nombre de billes de chaque couleur

Private Sub m_CreateBoard()

Dim intRow As Integer
Dim intCol As Integer
Dim intMarker As Integer
Dim bleues As Integer, rouges As Integer, cyans As Integer, magentas As Integer, jaunes As Integer
bleues = 0: rouges = 0: cyans = 0: magentas = 0: jaunes = 0
Randomize
For intRow = 0 To CUBEGAME_HEIGHT
For intCol = 0 To CUBEGAME_WIDTH
intMarker = Int((Rnd() * 5) + 1)
m_intBoard(intRow, intCol) = intMarker
m_intStartBoard(intRow, intCol) = intMarker
Select Case intMarker
Case 1: bleues = bleues + 1
Case 2: rouges = rouges + 1
Case 3: cyans = cyans + 1
Case 4: magentas = magentas + 1
Case 5: jaunes = jaunes + 1
Case Else
End Select
Next
Next
MsgBox "Bleues : " & bleues _
& Chr(10) & "Rouges :" & rouges _
& Chr(10) & "cyans :" & cyans _
& Chr(10) & "magentas :" & magentas _
& Chr(10) & "jaunes : " & jaunes, vbInformation

End Sub
Avatar
Modeste
Bonsour® garnote

il y a déja quelques temps, en cherchant à résoudre la correspondance d'un tableau de jeu hexagonal (type abalone) vis à vis d'une matrice orthogonale(Reversi) , je pense avoir trouvé une solution que j'ai mis en oeuvre dans une élucubration adapation Reversi-RollIt!
il s'agit en jouant chacun son tour et en posant judicieusement une bille de sa couleur (c-a-d en encadrant les billes de son adversaires) de changer la couleurs des billes encadrés, les billes posées ne sont plus déplaçables
le jeu peut se jouer de 2 à 6, il est interdit le premier tour de capturer les billes déja posées.
la couleur (ou le joueur qui joue) est affichée à chaque tour.

dans ce contexte l'algorithmie ludique séquentielle est en place et fonctionne,
:-( mais présente peu d'interet...
il faudrait développer une routine ou c'est Excel qui joue à la place d'un joueur(ou plusieur joueurs),
bien qu'étant maintenant en retraite ;o))), le temps me manque

si le coeur t'en dit !!!!
http://www.cijoint.fr/cjlink.php?file=cj200903/cij9uMY2fH.xls
Avatar
garnote
Ave Modeste,

Et moi qui cherchais comme un fou un Rnd()
sans penser au menu « Rechercher ».
En tous cas, merci beaucoup.
Ça confirme mes observations visuelles.
Et sans tricher, voici où j'en suis rendu :
http://www.cijoint.fr/cjlink.php?file=cj200903/cijXJQDq70.xls

Je commence à croire au 2 000, mais pas trop fort ;-)

Serge


"Modeste" a écrit dans le message de news:
Bonsour® garnote

En fouillant dans les macros, est-ce possible de connaÎtre
le nombre de billes de chaque couleur au début d'une nouvelle partie ?
Je ne comprends pas encore la manière Andy Pope de disposer
ses billes mais en tous cas, je sais qu'on peut obtenir un score
supérieur à 1 500.



c'est dans la macro m_CreateBoard() de la feuille fmGame qu'est généré aleatoirement l'affectation des couleurs
;o)))
c'est dans cette macro qu'en modifiant cette affectation à 1 couleur j'ai obtenu dés le 1er coup le score faramineux de 52672
points !!!

c'est dans cette macro qu'il suffit de dénombrer le nombre de billes de chaque couleur

Private Sub m_CreateBoard()

Dim intRow As Integer
Dim intCol As Integer
Dim intMarker As Integer
Dim bleues As Integer, rouges As Integer, cyans As Integer, magentas As Integer, jaunes As Integer
bleues = 0: rouges = 0: cyans = 0: magentas = 0: jaunes = 0
Randomize
For intRow = 0 To CUBEGAME_HEIGHT
For intCol = 0 To CUBEGAME_WIDTH
intMarker = Int((Rnd() * 5) + 1)
m_intBoard(intRow, intCol) = intMarker
m_intStartBoard(intRow, intCol) = intMarker
Select Case intMarker
Case 1: bleues = bleues + 1
Case 2: rouges = rouges + 1
Case 3: cyans = cyans + 1
Case 4: magentas = magentas + 1
Case 5: jaunes = jaunes + 1
Case Else
End Select
Next
Next
MsgBox "Bleues : " & bleues _
& Chr(10) & "Rouges :" & rouges _
& Chr(10) & "cyans :" & cyans _
& Chr(10) & "magentas :" & magentas _
& Chr(10) & "jaunes : " & jaunes, vbInformation

End Sub
Avatar
garnote
Ave Modeste,

Comme c'est curieux la retraite, on ne travaille plus
mais on est sans cesse occupé !
Je garde précieusement ton document mais je ne crois
pas pouvoir m'y attaquer avant un sacré bout de temps.
Mes connaissances en programmation ne sont pas
gigantesques et mes loisirs de retraité me font batifoler
de ci de là autour de mes chères mathématiques et
bien d'autres choses encore.
En tous cas, mieux vaut l'âge de la retraite que l'âge de l'arthrite !
Quoique les deux, malheureusement, ne soient pas incompatibles ;-)

A --

Serge



"Modeste" a écrit dans le message de news: uii%
Bonsour® garnote

il y a déja quelques temps, en cherchant à résoudre la correspondance d'un tableau de jeu hexagonal (type abalone) vis à vis
d'une matrice orthogonale(Reversi) , je pense avoir trouvé une solution que j'ai mis en oeuvre dans une élucubration
adapation Reversi-RollIt!
il s'agit en jouant chacun son tour et en posant judicieusement une bille de sa couleur (c-a-d en encadrant les billes de son
adversaires) de changer la couleurs des billes encadrés, les billes posées ne sont plus déplaçables
le jeu peut se jouer de 2 à 6, il est interdit le premier tour de capturer les billes déja posées.
la couleur (ou le joueur qui joue) est affichée à chaque tour.

dans ce contexte l'algorithmie ludique séquentielle est en place et fonctionne,
:-( mais présente peu d'interet...
il faudrait développer une routine ou c'est Excel qui joue à la place d'un joueur(ou plusieur joueurs),
bien qu'étant maintenant en retraite ;o))), le temps me manque

si le coeur t'en dit !!!!
http://www.cijoint.fr/cjlink.php?file=cj200903/cij9uMY2fH.xls
Avatar
Modeste
Bonsour® garnote

Ave Modeste,
Je commence à croire au 2 000, mais pas trop fort ;-)


le souci c'est que sur 231 tirages aléatoires la fonction VBA Rnd() n'est pas trés équitable
avec une dispersion de l'ordre de 8 à 10% par rapport à la moyenne de 46 boules de chaque couleur

au niveau startégie, il y a donc interet à identifier rapidement le plus grand nombre de boules d'une même couleur
et d'adapter
soit garder cette couleur pour éventuellement obtenir la plus grande chaine
soit toujours rechercher à chaque coup la plus grande chaine dispo quelque soit la couleur
Avatar
Jacquouille
Bonsoir les amis
A vous lire, je me sens rajeuni de plus d'un demi-siècle, à l'époque où je
démontais un réveil pour voir comment ça fonctionnait.
Ici, 50 ans plus tard, vous jouez à détricoter les macros.... -)
Perso, quand je le remontais, il y avait toujours trop de pièces et il
fonctionnait moins bien. -)

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"garnote" a écrit dans le message de news:
e%
Ave Modeste,

Comme c'est curieux la retraite, on ne travaille plus
mais on est sans cesse occupé !
Je garde précieusement ton document mais je ne crois
pas pouvoir m'y attaquer avant un sacré bout de temps.
Mes connaissances en programmation ne sont pas
gigantesques et mes loisirs de retraité me font batifoler
de ci de là autour de mes chères mathématiques et
bien d'autres choses encore.
En tous cas, mieux vaut l'âge de la retraite que l'âge de l'arthrite !
Quoique les deux, malheureusement, ne soient pas incompatibles ;-)

A --

Serge



"Modeste" a écrit dans le message de news:
uii%
Bonsour® garnote

il y a déja quelques temps, en cherchant à résoudre la correspondance d'un
tableau de jeu hexagonal (type abalone) vis à vis d'une matrice
orthogonale(Reversi) , je pense avoir trouvé une solution que j'ai mis en
oeuvre dans une élucubration adapation Reversi-RollIt!
il s'agit en jouant chacun son tour et en posant judicieusement une bille
de sa couleur (c-a-d en encadrant les billes de son adversaires) de
changer la couleurs des billes encadrés, les billes posées ne sont plus
déplaçables
le jeu peut se jouer de 2 à 6, il est interdit le premier tour de capturer
les billes déja posées.
la couleur (ou le joueur qui joue) est affichée à chaque tour.

dans ce contexte l'algorithmie ludique séquentielle est en place et
fonctionne,
:-( mais présente peu d'interet...
il faudrait développer une routine ou c'est Excel qui joue à la place d'un
joueur(ou plusieur joueurs),
bien qu'étant maintenant en retraite ;o))), le temps me manque

si le coeur t'en dit !!!!
http://www.cijoint.fr/cjlink.php?file=cj200903/cij9uMY2fH.xls




Avatar
Jacky
Bonsoir à tous

Remarque Jacques, ce sont de grand garçon qui jouent aux billes de couleurs.
<(:o)
--
Salutations
JJ


"Jacquouille" a écrit dans le message de
news:
Bonsoir les amis
A vous lire, je me sens rajeuni de plus d'un demi-siècle, à l'époque où je
démontais un réveil pour voir comment ça fonctionnait.
Ici, 50 ans plus tard, vous jouez à détricoter les macros.... -)
Perso, quand je le remontais, il y avait toujours trop de pièces et il
fonctionnait moins bien. -)

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"garnote" a écrit dans le message de news:
e%
Ave Modeste,

Comme c'est curieux la retraite, on ne travaille plus
mais on est sans cesse occupé !
Je garde précieusement ton document mais je ne crois
pas pouvoir m'y attaquer avant un sacré bout de temps.
Mes connaissances en programmation ne sont pas
gigantesques et mes loisirs de retraité me font batifoler
de ci de là autour de mes chères mathématiques et
bien d'autres choses encore.
En tous cas, mieux vaut l'âge de la retraite que l'âge de l'arthrite !
Quoique les deux, malheureusement, ne soient pas incompatibles ;-)

A --

Serge



"Modeste" a écrit dans le message de news:
uii%
Bonsour® garnote

il y a déja quelques temps, en cherchant à résoudre la correspondance
d'un tableau de jeu hexagonal (type abalone) vis à vis d'une matrice
orthogonale(Reversi) , je pense avoir trouvé une solution que j'ai mis en
oeuvre dans une élucubration adapation Reversi-RollIt!
il s'agit en jouant chacun son tour et en posant judicieusement une bille
de sa couleur (c-a-d en encadrant les billes de son adversaires) de
changer la couleurs des billes encadrés, les billes posées ne sont plus
déplaçables
le jeu peut se jouer de 2 à 6, il est interdit le premier tour de
capturer les billes déja posées.
la couleur (ou le joueur qui joue) est affichée à chaque tour.

dans ce contexte l'algorithmie ludique séquentielle est en place et
fonctionne,
:-( mais présente peu d'interet...
il faudrait développer une routine ou c'est Excel qui joue à la place
d'un joueur(ou plusieur joueurs),
bien qu'étant maintenant en retraite ;o))), le temps me manque

si le coeur t'en dit !!!!
http://www.cijoint.fr/cjlink.php?file=cj200903/cij9uMY2fH.xls








Avatar
isabelle
heureusement y'a quelqu'un qui sert la creme glacé ;-)
http://www.cijoint.fr/cjlink.php?file=cj200903/cijqWiej5T.bmp

isabelle

Private Sub m_CreateBoard()
Dim ww As Integer
Dim intRow As Integer
Dim intCol As Integer
Dim intMarker As Integer
Dim bleues As Integer, rouges As Integer, cyans As Integer, magentas
As Integer, jaunes As Integer
bleues = 0: rouges = 0: cyans = 0: magentas = 0: jaunes = 0
Randomize
For intRow = 0 To CUBEGAME_HEIGHT
For intCol = 0 To CUBEGAME_WIDTH
If intRow = 0 Or intRow = 1 Then ww = 1 Else: ww = Int((intRow / 2))
intMarker = ww 'Int((Rnd() * 5) + 1)
m_intBoard(intRow, intCol) = intMarker
m_intStartBoard(intRow, intCol) = intMarker
Select Case intMarker
Case 1: bleues = bleues + 1
Case 2: rouges = rouges + 1
Case 3: cyans = cyans + 1
Case 4: magentas = magentas + 1
Case 5: jaunes = jaunes + 1
Case Else
End Select
Next
Next
End Sub

Jacky a écrit :
Bonsoir à tous

Remarque Jacques, ce sont de grand garçon qui jouent aux billes de couleurs.
<(:o)



Avatar
garnote
Bin lâ, voyons donc, 12 116, ça n'a plus de maudit bon sens ;-))
Moi j'arrête mes recherches ( pas d'taille, câlice )
et je téléphone à Andy Pope pour l'avertir quiâ du monde
qui tripote ses macros et dénature son jeu, OK lâ !
Yâ toujours bin dé limites.



"isabelle" a écrit dans le message de news:
heureusement y'a quelqu'un qui sert la creme glacé ;-)
http://www.cijoint.fr/cjlink.php?file=cj200903/cijqWiej5T.bmp

isabelle

Private Sub m_CreateBoard()
Dim ww As Integer
Dim intRow As Integer
Dim intCol As Integer
Dim intMarker As Integer
Dim bleues As Integer, rouges As Integer, cyans As Integer, magentas As Integer, jaunes As Integer
bleues = 0: rouges = 0: cyans = 0: magentas = 0: jaunes = 0
Randomize
For intRow = 0 To CUBEGAME_HEIGHT
For intCol = 0 To CUBEGAME_WIDTH
If intRow = 0 Or intRow = 1 Then ww = 1 Else: ww = Int((intRow / 2))
intMarker = ww 'Int((Rnd() * 5) + 1)
m_intBoard(intRow, intCol) = intMarker
m_intStartBoard(intRow, intCol) = intMarker
Select Case intMarker
Case 1: bleues = bleues + 1
Case 2: rouges = rouges + 1
Case 3: cyans = cyans + 1
Case 4: magentas = magentas + 1
Case 5: jaunes = jaunes + 1
Case Else
End Select
Next
Next
End Sub

Jacky a écrit :
Bonsoir à tous

Remarque Jacques, ce sont de grand garçon qui jouent aux billes de couleurs.
<(:o)





Avatar
isabelle
n'oublie pas de le remercier et de lui dire qu'on s'est bien amusé ;-)
isabelle

garnote a écrit :
Bin lâ, voyons donc, 12 116, ça n'a plus de maudit bon sens ;-))
Moi j'arrête mes recherches ( pas d'taille, câlice )
et je téléphone à Andy Pope pour l'avertir quiâ du monde
qui tripote ses macros et dénature son jeu, OK lâ !
Yâ toujours bin dé limites.



"isabelle" a écrit dans le message de news:

heureusement y'a quelqu'un qui sert la creme glacé ;-)
http://www.cijoint.fr/cjlink.php?file=cj200903/cijqWiej5T.bmp

isabelle

Private Sub m_CreateBoard()
Dim ww As Integer
Dim intRow As Integer
Dim intCol As Integer
Dim intMarker As Integer
Dim bleues As Integer, rouges As Integer, cyans As Integer, magentas As Integer, jaunes As Integer
bleues = 0: rouges = 0: cyans = 0: magentas = 0: jaunes = 0
Randomize
For intRow = 0 To CUBEGAME_HEIGHT
For intCol = 0 To CUBEGAME_WIDTH
If intRow = 0 Or intRow = 1 Then ww = 1 Else: ww = Int((intRow / 2))
intMarker = ww 'Int((Rnd() * 5) + 1)
m_intBoard(intRow, intCol) = intMarker
m_intStartBoard(intRow, intCol) = intMarker
Select Case intMarker
Case 1: bleues = bleues + 1
Case 2: rouges = rouges + 1
Case 3: cyans = cyans + 1
Case 4: magentas = magentas + 1
Case 5: jaunes = jaunes + 1
Case Else
End Select
Next
Next
End Sub

Jacky a écrit :

Bonsoir à tous

Remarque Jacques, ce sont de grand garçon qui jouent aux billes de couleurs.
<(:o)