Création Mémory : retourner en face cachée les cartes

Discussions sur le module de PréAO pour la réalisation de diaporamas sous Impress.

Modérateur: Vilains modOOs

Création Mémory : retourner en face cachée les cartes

Messagepar Alex170994 » 27 Avr 2018 18:07

Bonjour à tous,
Dans le cadre de mes études, je dois créer un mémory interactif. Je n'ai trouvé aucune application permettant d'avoir 32 images d'un coup. J'ai donc commencé à créer mon mémory avec OpenOffice Impress. J'ai créé plusieurs diapositives afin d'utiliser les hyperliens permettant d'avoir une seule image qui s'affiche, tout ceci me prend beaucoup de temps mais je m'en sors.

Mon problèmes est que :
:?: je ne sais pas comment faire retourner les cartes en face cachée une fois que deux cartes sont retournées

Savez-vous comment faire ? Svp

En vous remerciant d'avance :)
OpenOffice 4.1.3 - Windows 10
Alex170994
Fraîchement OOthentifié
 
Message(s) : 2
Inscrit le : 27 Avr 2018 16:43

Re: Création Mémory : retourner en face cachée les cartes

Messagepar Piaf » 30 Avr 2018 01:10

Bonsoir
Une solution alternative éventuelle à partir d'un dialogue
Memory.png

Code : Tout sélectionner   AgrandirRéduire
Dim oDlg As Object
Global Compte as Integer
Global Chemin as String, Carte(1) as String, Ctrl(1) as String

Sub Main
Dim oURL as Variant
Dim tabCartes as Variant,Tirage(32) as Double, i as Integer
   oURL = split(thisComponent.URL,"/")
   oURL(UBound(oURL)) = ""
   Chemin = Join(oURL,"/")
   DialogLibraries.LoadLibrary("Standard")
   oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
   tabCartes = Array("Dos.gif","AsPique.gif","RoiPique.gif","ReinePique.gif","ValetPique.gif","10Pique.gif","09Pique.gif","08Pique.gif","07Pique.gif", _
   "AsTrefle.gif","RoiTrefle.gif","ReineTrefle.gif","ValetTrefle.gif","10Trefle.gif","09Trefle.gif","08Trefle.gif","07Trefle.gif", _
   "AsCarreau.gif","RoiCarreau.gif","ReineCarreau.gif","ValetCarreau.gif","10Carreau.gif","09Carreau.gif","08Carreau.gif","07Carreau.gif", _
   "AsCoeur.gif","RoiCoeur.gif","ReineCoeur.gif","ValetCoeur.gif","10Coeur.gif","09Coeur.gif","08Coeur.gif","07Coeur.gif")
   Tirage = Combinaison(32,32)
   For i = 1 to 32
      oDlg.getControl(i).Model.ImageURL = ConvertToURL(Chemin & tabCartes(0))
      oDlg.getControl(i).Model.Tag = ConvertToURL(Chemin & tabCartes(Tirage(i)))
   Next i
   oDlg.Execute()
End Sub

Sub CliqueCarte(oEv as Object)
Dim i as Integer
   Compte = Compte + 1
   oEv.Source.Model.ImageURL = oEv.Source.Model.Tag
   If Compte = 1 Then
      Carte(0) = Left(Split(oEv.Source.Model.Tag,"/")(UBound(Split(oEv.Source.Model.Tag,"/"))),2)
      Ctrl(0) = oEv.Source.Model.Name
   Else
      Carte(1) = Left(Split(oEv.Source.Model.Tag,"/")(UBound(Split(oEv.Source.Model.Tag,"/"))),2)
      Ctrl(1) = oEv.Source.Model.Name
   End If
   If compte = 2 Then
      Wait 1500
      For i = 1 to 32
         oDlg.getControl(i).Model.ImageURL = ConvertToURL(Chemin & "Dos.gif")
      Next i
      If carte(0) = carte(1) Then
         oDlg.getControl(Ctrl(0)).Model.Enabled = False
         oDlg.getControl(Ctrl(1)).Model.Enabled = False
      End If   
      Compte = 0
      Redim carte(1)
      Redim Ctrl(1)
   End If         
End Sub

'https://forum.openoffice.org/fr/forum/viewtopic.php?f=15&t=30263
   'Renvoie un tableau aléatoire sans répétitions de <nbrTirages> entiers de 1 à <GammeValeurs>
    'Le tableau commence à l'indice 1 et bien sûr nbrTirages ne peut être supérieur à GammeValeurs
    'Macro de Bernard Marcelly
Function Combinaison(GammeValeurs As Integer, nbrTirages As Integer)
Dim res(1 To nbrTirages) As Double
Dim valeurs(1 to GammeValeurs) As Integer
Dim i As Long, v As Long, valMax As Integer
   If (nbrTirages > GammeValeurs) Or (nbrTirages < 0) Or (GammeValeurs < 0)  Then err = 14
   For i = 1 To GammeValeurs
      valeurs(i) = i
   Next
   valMax = GammeValeurs
   For i = 1 to nbrTirages
      Do
         v = 1 +Int(Rnd*valMax)
      Loop Until v <= valMax
      res(i) = valeurs(v)
      valeurs(v) = valeurs(valMax)
      valMax = valMax -1
   Next
   Combinaison=res
End Function
A+
Pièces jointes
Cartes.zip
(49.09 Kio) Téléchargé 11 fois
Libre Office Version: 6.0.7 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5473
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane


Retour vers Présentation

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)