[Calc] jeu de dés YAMS

Discussions sur les projets et applications développés en liaison avec une suite bureautique libre.

Modérateur : Vilains modOOs

Répondre
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

[Calc] jeu de dés YAMS

Message par Gozkel »


La modération vous a écrit: Suite du sujet Anomalies sur commandes. Nous insérons dans ce message la dernière réponse qui vous avait été faite dans le sujet précédent.

Bonjour,
avec l'aide de ce forum j'ai développé une petite application du jeu de dés YAMS (en PJ). Elle marche globalement bien mais présente parfois des bugs d'utilisation.

Parfois, lorsque je clique sur le jet 2 (ou jet 3), il arrive que les dés sélectionnés ne soient pas relancés.

NB. un autre problème peut-être lié à la même anomalie (indiqué pour info des fois que ce soit le même problème d'origine sinon j'ouvrirai un autre post):
il arrive, lorsque je clique sur "jet 1", que les cases à cocher de sélection sous les dés de la ligne 2 ne soient pas toutes mises, il peut en manquer une ou plusieurs (le clic sur "jet 1" doit normalement lancer les 5 dés et laisser visible toutes les cases à cocher de la ligne "jet 2")

Ces anomalies sont imprévisibles, aléatoires et non répétitives...

Y aurait-il une explication logique et une solution à ce(s) problème(s) à votre avis?

Remarque: j'ai essayé avec la version 6 de libreoffice mais cela ne réglait pas le problème, au contraire je perdais complétement une bonne partie des contrôles donc je suis revenu à une version 5

Merci de votre aide, cordialement

Gozkel
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
[b][color=#FF8000]Loopingss[/color][/b] a écrit :L'architecture de votre feuille et par conséquent du code est bien complexe. Je ne suis pas sûr qu'assigner deux macros différentes sur un même élément de formulaire soit très pertinente.
Je pense que vous devriez remplacez les 3 cases à cocher "jet" par un seul bouton. et la case à cocher "reinitialiser les dés" par un autre bouton.
L'appui sur la case à cocher jet remplace le label du bouton par jet 2 ou 3 selon. A chaque fois le même code est utilisé avec éventuellement un test pour savoir quel jet est effectué.
Par ailleurs en cochant les cases des dés à conserver, cela déclenche une macro et change tous les dés comme un jet 1.
Dernière modification par Gozkel le 04 juil. 2020 14:02, modifié 4 fois.
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: Anomalie sur clic de cases à cocher

Message par Gozkel »

Bonjour,
merci pour votre réponse Loopings, je ne sais pas vraiment comment faire mais je vais chercher :D .

Je remets la petite appli en PJ, car je l'ai oubliée lors de la relocalisation du message initial.

Cordialement

Gozkel
Pièces jointes
YAMS - Copie.ods
(35.42 Kio) Téléchargé 344 fois
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: Anomalie sur clic de cases à cocher

Message par Gozkel »

Bonjour Loopings,
vous avez mentionné:
Par ailleurs en cochant les cases des dés à conserver, cela déclenche une macro et change tous les dés comme un jet 1.
Effectivement c'est un des problèmes que j'avais constaté après avoir installé la version 6 de Libreoffice, d'où mon retour sur la V5 (ce problème n'existe pas sur la version que j'utilise)
Cordialement
Gozkel
La modération vous a écrit: Merci de ne pas poster plusieurs messages à la suite. Vous disposez d'un bouton ÉDITER en haut à droite de chaque message et d'un autre bouton ajout si vous désirez ajouter un complément lorsqu'il n'y a pas de réponse.

LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Avatar de l’utilisateur
Loopingss
InconditiOOnnel
InconditiOOnnel
Messages : 783
Inscription : 17 déc. 2008 02:50

Re: [Calc] Anomalie sur clic de cases à cocher

Message par Loopingss »

Bonjour Godzel.
Voici un exemple d'interface modifiée.
Il y deux boutons à la place de vos 4 cases à cocher. A chaque bouton affecter une macro. Au bouton1 "Initialiser", j'ai affecté la macro décochage. A vous d'adapter le code, quitte à dans "décochage" appeler une 2° macro à exécuter.
Bouton 2. Affecter une seule macro qui effectue les opérations suivantes :
- Test d'un flag pour savoir si vous êtes en tirage 1, 2 ou 3
- Test du tirage tenté, si > 3 exit.
- Accès à l'objet "bouton2", modification de la propriété "Etiquettes" en "Tirage 2" ou "Tirage 3"
- Conservation des dés à conserver
- Tirage puis affichage sur les dés relancés
- Afficher le résultat
Affecter cette macro à l'évènement souris relachée du bouton2.
Bon courage.
COOordialement.
Pièces jointes
YAMS_Lpg.ods
(36.18 Kio) Téléchargé 286 fois
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: [Calc] Anomalie sur clic de cases à cocher

Message par Gozkel »

Bonjour Loopingss,
je comprends la logique de la solution mais la réalisation de la macro dépassera largement mes compétences.

J'ai essayé en commençant par ce qui me semblait le plus simple dans la série d'opération à créer, à savoir tentative de renommage de l'étiquette de "tirage 1" en "tirage 2" après "clic" (via macro automatique) mais ça ne marche pas. Je n'ose même pas imaginer le résultat pour les autres tests qui sont encore plus obscures pour moi.
Je préfère donc abandonner cette voie car je ne maitrise pas la notion de "bouton" (avec les cases à cocher, il y a des statuts vrai ou faux plus facilement exploitables pour un novice...):oops:

Du coup je vais essayer de recréer l'application YAMS de A à Z sous la version 6 de LibreOffice. Le bug sera peut être supprimé de cette façon. Je pensais qu'une version plus récente aurait automatiquement pris en charge une application créée sous un version plus ancienne mais ce n'est pas le cas en ce qui me concerne.

Souhaitez-vous que je ferme ce fil maintenant? Sinon je remonterai le résultat de mon essai en recréant l'application sous version 6.

Merci encore de votre aide et désolé pour mes limites de compétences.

Cordialement

Gozkel
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Avatar de l’utilisateur
Loopingss
InconditiOOnnel
InconditiOOnnel
Messages : 783
Inscription : 17 déc. 2008 02:50

Re: [Calc] Anomalie sur clic de cases à cocher

Message par Loopingss »

Bonjour Gotzel.
Un retour d'expérience et de solutions trouvées est toujours le bienvenu.
COOordialement.
 Ajout : Gotzel. Regardez le fichier ci joint. Il vous écrit en deux boutons et deux macros :
1 : la réinitialisation du tirage pour effectuer un prochain tour.
2 : l'accès au bouton et la modification de son étiquette
Si vous cliquez trois fois sur le bouton de tirage vous verrez se modifier l'étiquette du bouton avec un maximum de trois tirages possibles. 
Pièces jointes
Yams_Bouton.ods
(10.54 Kio) Téléchargé 301 fois
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: [Calc] Anomalie sur clic de cases à cocher

Message par Gozkel »

Bonjour Loopingss,
merci du temps passé et de l'explication pour les flags. Je n'y serais jamais arrivé tout seul :wink:

Du coup je vais essayer de compléter la macro avec les moyens du bord (case à cochée remplacée par un bouton... aïe).

Je tenterai également de recréer le YAMS sous la V6, mais je dois trouver un deuxième ordi sur lequel j'installerai la V6 et je garderai celui-ci en V5 pour récupérer les éléments et comparer les effets.
Je pense que les copier/coller entrainent parfois des bugs (j'ai déjà subi des petits problèmes qui avaient été corrigés par une saisie manuelle). Je vais donc tout refaire à la main (mais ça me prendra surement du temps maintenant que le confinement est passé)

Bonne soirée, cordialement

GOZKEL
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

Re: [Calc] Anomalie sur clic de cases à cocher

Message par joel275 »

Bonjour,

ci-dessous ma participation aux travaux, j'espère qu'elle t'aidera: elle affiche les 3 lancés en bloquant éventuellement la valeur d'un dé.
Pour le reste, je ne pourrais t'aider que si tu précises point par point ce que tu attends de ce programme.
Il serait d'ailleurs peut-être pertinent de déplacer ce sujet en rubrique "Projets".
Quelques remarques:
-->l'enregistreur de macros n'est efficace que pour une seule macro (très simple)
-->il vaut mieux mettre les lignes cachées après la page "utile" vue par tous
--> il vaut mieux ancrer les objets à une cellule, ils 'suivront" tout seul en cas de modification du nombre de lignes

Bon courage et à plus.
Pièces jointes
Yams_joel_v1.ods
(15.4 Kio) Téléchargé 298 fois
A jour de LibreOffice et de Ubuntu
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: [Calc] Anomalie sur clic de cases à cocher

Message par Gozkel »

Bonjour Joel275,
merci du coup de main et des conseils. C'est vrai que ça allège pas mal la feuille :super: .

Je vais essayer de continuer le développement sur cette base en utilisant/adaptant tes macros si tu me le permets.

Par contre, en faisant plusieurs essais de ta pièce jointe, j'ai constaté des bugs qui pourraient s'apparenter à ceux que je constate avec ma version. Dans la copie d'écran mise en PJ, on peut voir que 3 dés n'apparaissent pas après le clic du tirage 1 (avec d'autres essais s'était parfois 0, 1 ou 2 dés qui pouvaient ne pas apparaitre et pas toujours les mêmes). Je ne sais pas si cela arrive également chez vous.

Je pensais que cela pourrait être lié à la version de LibreOffice (version 5.4.4.2 de Libreoffice utilisée pour pallier à d'autres bugs constatés avec la V6), mais j'ai fait également des tests avec une version 6.3.6.2 de LibreOffice sur un autre ordinateur et l'anomalie est revenue après quelques lancers.

...Je viens de constater quelque chose à l'instant: lorsque j'ouvre directement la PJ à partir du site du forum (elle est donc en lecture seule) le bug n'apparait pas. Par contre si j'enregistre la pièce jointe sur mon ordi et qu'ensuite je l'ouvre, là j'ai les bugs. Aurais-je oublié de cocher quelque chose sur LibreOffice (ou ailleurs)?
En complément de test, j'ai mis un attribut "en lecture seule" sur le fichier enregistré sur mon ordi et apparemment les bugs n'apparaissent plus. Cela pourrait-il aider pour solutionner le problème? (...mais impossible de renseigner les grilles des joueurs avec un fichier en lecture seule...! :lol: )

Cordialement

Gozkel
Pièces jointes
Capture.PNG
Capture.PNG (9.28 Kio) Consulté 7630 fois
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: [Calc] Anomalie sur clic de cases à cocher

Message par OOotremer971 »

Bonjour,
Gozkel a écrit :on peut voir que 3 dés n'apparaissent pas après le clic du tirage 1 (avec d'autres essais s'était parfois 0, 1 ou 2 dés qui pouvaient ne pas apparaitre et pas toujours les mêmes). Je ne sais pas si cela arrive également chez vous.
Je reproduis effectivement. En modifiant un peu le code dans la Sub Tirage, je ne parviens plus à reproduire en remplaçant :

Code : Tout sélectionner

if jcase.State = 0 Then
	U(i) = rnd*6
	'affichage des faces de dés obtenues où il faut
	jcell = feuille.getCellByPosition(8+U(i), 0)	' caractère à afficher
	a = jcell.String
	jcell = feuille.getCellByPosition(1+i, 0)
	jcell.string = a
End if
par

Code : Tout sélectionner

if jcase.State = 0 Then
	jcell = feuille.getCellByPosition(1+i, 0)
	a = chr(1 + Int(rnd*6) + 9855)
	jcell.string = a
End if
et du coup on peut supprimer les colonnes I à N et la ligne de code :

Code : Tout sélectionner

U = Array(0,0,0,0,0)		'tirage au sort des valeurs

A+
Pièces jointes
Yams_joel_v1_ Mod1.ods
(15.44 Kio) Téléchargé 277 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 09:26

Re: [Calc] Anomalie sur clic de cases à cocher

Message par Hubert Lambert »

Bonjour à tous,

Une petite suggestion à mon tour(c'est fou comme on se laisse prendre au jeu :wink: ), pour simplifier et la feuille et le code : utiliser les styles de cellule pour identifier les dés retenus ou à relancer. L'intérêt serait double : supprimer la dépendance aux cases à cocher et gagner une utilisation plus intuitive.
YAMS.jpg
Dans l'exemple joint, un double-clic sur un dé permet de basculer du mode "à relancer" (en noir) au mode "retenu" (en rouge).
Cordialement.
Pièces jointes
YAMS2-simplifié.ods
(12.66 Kio) Téléchargé 289 fois
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: [Calc] Anomalie sur clic de cases à cocher

Message par Gozkel »

Oh la la génial, il faut que j'essaie tout ça :bravo:

Pour accélérer le choix des dés à relancer, une fonction "simple-clic" existe-t-elle? (j'ai essayé de renommer "sur_double_clic" en "sur_simple_clic" et en "clic" tout court sans succès.

Il ne me restera plus qu'à refaire une mise en page en ajoutant une zone pour les figures réalisées (full, carré, suite...) et les grilles de jeu, mais ça je saurai copier ce que j'avais fait (même si c'est du bidouillage, ça marche).

Un grand bravo à tous vos neurones et merci aux différents intervenants qui m'ont bien aidé. Je pense que la version définitive est très proche maintenant :wink:.

Bonne journée

Gozkel
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 09:26

Re: [Calc] Anomalie sur clic de cases à cocher

Message par Hubert Lambert »

La macro sur un double clic ou un clic-droit peut être affectée facilement via l'onglet de la feuille : clic-droit sur l'onglet et choisir "Événements de feuille".
Paradoxalement, réagir à un simple clic-gauche est possible mais beaucoup plus contraignant (appel à des "listeners").
Le mieux me semble de poursuivre sur le reste du jeu puis, quand tout roulera, de peaufiner ces aspects secondaires ;-) .
Bon courage donc.
La modération vous a écrit: Sujet déplacé en section Projets

AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: [Calc] jeu de dés YAMS

Message par Gozkel »

Bonjour,
pour les jets 2 et 3, il est préférable de choisir les dés que l'on veut relancer plutôt que de choisir les dés que l'on veut garder.
En effet, le joueur étudie les probabilités d'arriver à faire une des combinaisons gagnantes (full, série...) par rapport aux lancés obtenus.
Exemple: il sera tenté d'essayer une série ou un full si 4 dés au moins sont bons. Il est donc plus logique de double-cliquer sur le dé que l'on veut relancer plutôt que de double-cliquer sur les 4 dés que l'on souhaite conserver (moins de clic, moins de temps, moins de risque d'erreurs).

La modification est-elle aisée car je me perds un peu (beaucoup...) dans les macros?

Bien cordialement

Gozkel
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 09:26

Re: [Calc] jeu de dés YAMS

Message par Hubert Lambert »

C'est très simple a priori :
- à la ligne 74, dans la routine "raz", remplace le nom de style "dé" par "dé retenu";
- fais une mise à zéro pour que le changement soit pris en compte.
C'est tout !
Si tu veux personnaliser les couleurs, cela se fait dans le gestionnaire de style (F11).

PS. J'ai fait un essai en utilisant le clic-droit plutôt que le double-clic, c'est plus fluide en effet.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: [Calc] jeu de dés YAMS

Message par Gozkel »

Merci Hubert,
effectivement ça marche très bien en modifiant la ligne 74 :D .

A tout hasard, quelle manipulation faire pour remplacer le double-clic par un clic-droit STP? J'essaierais bien pour me faire une idée et décider s'il est intéressant de faire la modification.

Je mettrai la version finale en PJ lorsque le projet sera fini

Gozkel
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 09:26

Re: [Calc] jeu de dés YAMS

Message par Hubert Lambert »

La réponse est dans un des messages précédents :wink: : tu fais un clic-droit sur l'onglet de la feuille et tu choisis Événements de feuille.
La macro s'appliquera à toute la feuille. C'est pour cela que tu verras dans le code une instruction "queryIntersection", qui est une des options permettant de vérifier qu'on a cliqué sur la bonne zone avant d'exécuter la macro.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: [Calc] jeu de dés YAMS

Message par Gozkel »

Génial!
du coup j'ai laissé les deux possibilités sur la page (double-clic et clic droit), chacun pourra choisir ce qu'il préfère :super:

Quelques bugs de fonctionnement ont été corrigés dernièrement. Il n'est pas exclu qu'il en reste...

Je mets l'appli (2 joueurs max) en copie en PJ si elle peut être utile à quelqu'un. Un onglet donne les règles du jeu.

Remarque: Avec l'aide d'une appli de partage à distance de l'ordi (à n'utiliser qu'avec des personnes dont vous êtes sures!!), vous pourrez jouer en ligne avec un de vos amis.

Bonne journée et merci aux personnes qui m'ont aidées à murir ce petit projet (qui m'aura bien occupé pendant la période de COVID :D )

Gozkel
Pièces jointes
YAMS24-06-2020.ods
(33.55 Kio) Téléchargé 279 fois
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Gozkel
Membre lOOyal
Membre lOOyal
Messages : 25
Inscription : 01 mai 2020 16:31

Re: [Calc] jeu de dés YAMS

Message par Gozkel »

Bonjour,
après avoir fait plusieurs parties avec un collègue, il nous semble que les dés ne sont parfois pas relancés (phénomène aléatoire et non reproductible).

Avec un dé on peut le comprendre (1 chance sur 6), mais quand cela arrive avec 2, voir 3 et une fois même 4 dés, on se pose des questions, même si ce n'est pas très fréquent....
NB. anomalie constatée sur les 2e et/ou 3e lancer (pas lors des lancers initiaux).

La version a légèrement évolué depuis (en PJ), mais uniquement dans les calculs des grilles de scores (macros non touchées)

Auriez-vous une idée de l'origine de cette anomalie et de la façon de la régler?

Merci d'avance

Gozkel
Pièces jointes
YAMS2020-07-04 - Copie.ods
(33.34 Kio) Téléchargé 298 fois
LibreOffice Version: 5.4.4.2 sous Windows 10 famille
Répondre