Ocx de carte à jouer avec pleins de propriétés utiles

Soyez le premier à donner votre avis sur cette source.

Vue 3 892 fois - Téléchargée 535 fois

Description

Cet OCX est tout simplement un controle "Carte" que vous pourrez utiliser si vous voulez créer un jeu de cartes quel qu'il soit.
Il utilise des images et non pas une dll.
Moi j'ai extraits les images de Cards.dll mais comme je ne sais pas si elles sont libre de droit, je vous laisse trouver vos propres images de cartes.

Source / Exemple :


Option Explicit

Private mEnable As Boolean         'copie locale
Public Atout As Boolean
Public DéjaDistribuée As Boolean
Public PeutEtreDéplacée As Boolean
Public DéjaPassée As Boolean

Public IndiceRangement As Byte
Public Indice As Byte
Public ValeurNormal As Byte
Public ValeurAtout As Byte

Public ImageFaceDroite As String
Public ImageFaceInclinée As String
Public ImageDosDroit As String
Private mImage As String               'copie locale
Public ImageDosInclinéGauche As String
Public ImageDosInclinéDroit As String
Public ImageDosInversé As String
Public Nom As String
Public Couleur As String

'Déclarations d'événements:
Event MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=PictureBox,PictureBox,-1,MouseDown
Event MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=PictureBox,PictureBox,-1,MouseMove
Event MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=PictureBox,PictureBox,-1,MouseUp

Public Property Let Enable(ByVal Val As Boolean)
mEnable = Val
UserControl.Enabled = Val
End Property
Public Property Get Enable() As Boolean
Enable = mEnable
End Property

Public Property Let Image(ByVal Val As String)
' Image affichée (que ce soit le dos ou la face)
mImage = Val
PictureBox.Picture = LoadPicture(mImage)
UserControl.Height = PictureBox.Height
UserControl.Width = PictureBox.Width
End Property
Public Property Get Image() As String
Image = mImage
End Property

' Comme c'est en fait sur le pictureBox qu'on va cliquer
' on repasse l'évènement au controle Carte
Private Sub PictureBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    RaiseEvent MouseDown(Button, Shift, X, Y)
End Sub

Private Sub PictureBox_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    RaiseEvent MouseMove(Button, Shift, X, Y)
End Sub

Private Sub PictureBox_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    RaiseEvent MouseUp(Button, Shift, X, Y)
End Sub

Conclusion :


J'ai créer plusieurs jeux avec ce controle et il fonctionne très bien.
Dites- moi ce que vous en pensez.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
89
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
23 février 2010

oui j'ai bien vu,
je vais mettre à jour illico...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
64
En Public, pardon ^^
Messages postés
89
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
23 février 2010

Et ben figure toi que je le savais pas du tout.
J'ai toujours bètement copier ce modèle sans trop chercher à comprendre.
Je te remercie Renfield car il y a vraiment de quoi alléger le code.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
64
vu que tu n'y effectue aucune tache, toutes te propriétés ainsi faites :

Dim mPeutEtreDéplacée As Boolean

Public Property Let PeutEtreDéplacée(ByVal Val As Boolean)
mPeutEtreDéplacée = Val
End Property
Public Property Get PeutEtreDéplacée() As Boolean
PeutEtreDéplacée = mPeutEtreDéplacée
End Property

peuvent être changées en :

Private PeutEtreDéplacée As Boolean

sans risque.
Messages postés
89
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
23 février 2010

Voilà le Zip.
J'ajoute qu'au départ, mon but n'était pas de publier mais de faire un jeu de belote, c'est pourquoi certaines propriétés peuvent paraitre superflues.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.