Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CARDS.DLL


Information sur la source

Catégorie :Jeux Niveau : Débutant Date de création : 27/01/2005 Date de mise à jour : 30/01/2005 21:31:41 Vu / téléchargé: 4 853 / 567

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Encore une démo de l'utilisation de l'API des cartes de jeu...

Pour les débutants. Plutôt bien commenté (si vous en voulez plus, ben, demandez-le moi ;-)

Amusez-vous bien avec ce ptit truc.
 

Source

  • 'Déclaration des API de manipulation des cartes à jouer
  • Private Declare Function cdtInit Lib "Cards" (nWidth As Long, nHeight As Long) As Long
  • Private Declare Function cdtTerm Lib "Cards" () As Long
  • Private Declare Function cdtDraw Lib "Cards" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nCard As Long, ByVal nDraw As Long, ByVal nColor As Long) As Long
  • 'Private Declare Function cdtDrawExt Lib "Cards" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal nCard As Long, ByVal nDraw As Long, ByVal nColor As Long) As Long
  • 'Cartes :
  • ' Faces visible : 0-51
  • ' Faces cachée : 53-68
  • ' nDraw : 0 = cartes face visible normale
  • ' 2 = cartes face visible sélectionnée
  • ' 1 = cartes face cachée
  • ' Note: On ne peut pas sélectionner une carte face cachée (!!!).
  • ' nColor : Couleur de sélection. Avec la carte 53 (1ère face visible),
  • ' cette couleur sert de couleur de fond du quadrillage en croix.
  • Private Sub Form_Load()
  • 'Redimensionner la fenêtre
  • Me.Width = 3000
  • Me.Height = 4125
  • Me.Show
  • DoEvents
  • 'Taille par défaut des cartes en pixels
  • cdtInit 71, 96
  • DoEvents
  • 'Initilatise l'affichage pour la 1ère fois
  • OptionCouleurs(0).Value = True
  • Option2(0).Value = True
  • Picture2.Tag = "15"
  • Call Picture2_DblClick
  • End Sub
  • Private Sub Form_Unload(Cancel As Integer)
  • 'Nécéssaire afin de libérer la mémoire prise par ces API...
  • cdtTerm
  • End Sub
  • Private Sub OptionCouleurs_Click(Index As Integer)
  • 'Change la couleur
  • Static t As Integer
  • Static Couleur As Integer
  • Static Carte As Integer
  • 'Recherche la carte...
  • Couleur = Index
  • Carte = 0
  • For t = 0 To (Option2.Count - 1)
  • If Option2(t).Value = True Then Carte = t: Exit For
  • Next t
  • Carte = Index + (Carte * 4) '0-51 [52 cartes]
  • cdtDraw Picture1.hDC, 9, 9, Carte, &H0, RGB(0, 0, 255)
  • End Sub
  • Private Sub Option2_Click(Index As Integer)
  • 'Change la carte
  • Static t As Integer
  • Static Couleur As Integer
  • Static Carte As Integer
  • 'Recherche la couleur...
  • Couleur = 0
  • For t = 0 To (OptionCouleurs.Count - 1)
  • If OptionCouleurs(t).Value = True Then Couleur = t: Exit For
  • Next t
  • Carte = Index
  • Carte = Couleur + (Carte * 4) '0-51 [52 cartes]
  • cdtDraw Picture1.hDC, 9, 9, Carte, &H0, RGB(0, 0, 255)
  • End Sub
  • Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  • 'Selectionne la carte visible
  • Static t As Integer
  • Static Couleur As Integer
  • Static Carte As Integer
  • 'Recherche la couleur...
  • Couleur = 0
  • For t = 0 To (OptionCouleurs.Count - 1)
  • If OptionCouleurs(t).Value = True Then Couleur = t: Exit For
  • Next t
  • 'Recherche la carte...
  • Carte = 0
  • For t = 0 To (Option2.Count - 1)
  • If Option2(t).Value = True Then Carte = t: Exit For
  • Next t
  • Carte = Couleur + (Carte * 4) '0-51 [52 cartes]
  • If (X < 9 Or X > 9 + 70) Or (Y < 9 Or Y > 9 + 95) Then
  • 'La souris est hors de la carte : Désélectionner
  • ' (Afficher la carte normale.)
  • cdtDraw Picture1.hDC, 9, 9, Carte, 0, RGB(0, 0, 255)
  • Else
  • 'La souris est sur la carte : Sélectionner
  • ' (Afficher la carte sélectionnée.)
  • cdtDraw Picture1.hDC, 9, 9, Carte, 2, 16777215
  • End If
  • End Sub
  • Private Sub Picture2_DblClick()
  • 'Change le jeu (l'image)
  • Picture2.Tag = CLng(Picture2.Tag) + 1
  • If Picture2.Tag > 15 Then Picture2.Tag = 0
  • '53-68
  • cdtDraw Picture2.hDC, 9, 9, CLng(Picture2.Tag) + 53, 1, 255
  • End Sub
'Déclaration des API de manipulation des cartes à jouer
Private Declare Function cdtInit Lib "Cards" (nWidth As Long, nHeight As Long) As Long
Private Declare Function cdtTerm Lib "Cards" () As Long
Private Declare Function cdtDraw Lib "Cards" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nCard As Long, ByVal nDraw As Long, ByVal nColor As Long) As Long
'Private Declare Function cdtDrawExt Lib "Cards" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal nCard As Long, ByVal nDraw As Long, ByVal nColor As Long) As Long

'Cartes :
' Faces visible : 0-51
' Faces cachée  : 53-68
' nDraw  :  0 = cartes face visible normale
'           2 = cartes face visible sélectionnée
'           1 = cartes face cachée
'  Note: On ne peut pas sélectionner une carte face cachée (!!!).
' nColor :  Couleur de sélection. Avec la carte 53 (1ère face visible),
'           cette couleur sert de couleur de fond du quadrillage en croix.

Private Sub Form_Load()
 'Redimensionner la fenêtre
 Me.Width = 3000
 Me.Height = 4125
 Me.Show
 DoEvents
 
 'Taille par défaut des cartes en pixels
 cdtInit 71, 96
 DoEvents
 
 'Initilatise l'affichage pour la 1ère fois
 OptionCouleurs(0).Value = True
 Option2(0).Value = True
 Picture2.Tag = "15"
 Call Picture2_DblClick
 
End Sub

Private Sub Form_Unload(Cancel As Integer)
 'Nécéssaire afin de libérer la mémoire prise par ces API...
 cdtTerm
End Sub


Private Sub OptionCouleurs_Click(Index As Integer)
 'Change la couleur
 Static t As Integer
 Static Couleur As Integer
 Static Carte As Integer
 
 'Recherche la carte...
 Couleur = Index
 Carte = 0
 For t = 0 To (Option2.Count - 1)
  If Option2(t).Value = True Then Carte = t: Exit For
 Next t
 Carte = Index + (Carte * 4)  '0-51 [52 cartes]
 
 cdtDraw Picture1.hDC, 9, 9, Carte, &H0, RGB(0, 0, 255)
End Sub

Private Sub Option2_Click(Index As Integer)
 'Change la carte
 Static t As Integer
 Static Couleur As Integer
 Static Carte As Integer
 
 'Recherche la couleur...
 Couleur = 0
 For t = 0 To (OptionCouleurs.Count - 1)
  If OptionCouleurs(t).Value = True Then Couleur = t: Exit For
 Next t
 Carte = Index
 Carte = Couleur + (Carte * 4)  '0-51 [52 cartes]
 
 cdtDraw Picture1.hDC, 9, 9, Carte, &H0, RGB(0, 0, 255)
End Sub


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
 'Selectionne la carte visible
 Static t As Integer
 Static Couleur As Integer
 Static Carte As Integer
 
 'Recherche la couleur...
 Couleur = 0
 For t = 0 To (OptionCouleurs.Count - 1)
  If OptionCouleurs(t).Value = True Then Couleur = t: Exit For
 Next t
 'Recherche la carte...
 Carte = 0
 For t = 0 To (Option2.Count - 1)
  If Option2(t).Value = True Then Carte = t: Exit For
 Next t
 Carte = Couleur + (Carte * 4)  '0-51 [52 cartes]
 
 If (X < 9 Or X > 9 + 70) Or (Y < 9 Or Y > 9 + 95) Then
  'La souris est hors de la carte : Désélectionner
  ' (Afficher la carte normale.)
  cdtDraw Picture1.hDC, 9, 9, Carte, 0, RGB(0, 0, 255)
 Else
  'La souris est sur la carte : Sélectionner
  ' (Afficher la carte sélectionnée.)
  cdtDraw Picture1.hDC, 9, 9, Carte, 2, 16777215
 End If
 
End Sub

Private Sub Picture2_DblClick()
 'Change le jeu (l'image)
 Picture2.Tag = CLng(Picture2.Tag) + 1
 If Picture2.Tag > 15 Then Picture2.Tag = 0
 '53-68
 cdtDraw Picture2.hDC, 9, 9, CLng(Picture2.Tag) + 53, 1, 255
End Sub

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

30 janvier 2005 21:31:41 :
Petite explication consernant la couleur de sélection...

Commentaires et avis

signaler à un administrateur
Commentaire de fkx le 31/01/2005 13:02:01

"Encore une démo de l'utilisation de l'API des cartes de jeu..."

"Encore", peut-être, mais ça reste quand même assez peu répandu, finalement...

signaler à un administrateur
Commentaire de ScSami le 01/02/2005 00:00:46

Tu trouves!

signaler à un administrateur
Commentaire de SoftechX le 02/02/2005 01:47:12

Tres bonne références... merci... bien sure, ce n'est pas la découverte du ciecle.. mais je suis bien content que quelqu'un d'autre me fasse partagé ses trouvaille... bien sure... j'en connais d'autre... beaucoups d'autre...

Mais je connais pas tout... et c'Est tres peu!... j'aprécie les petites trouvailles comme celle ci... 8/10

signaler à un administrateur
Commentaire de ScSami le 03/02/2005 00:52:20

Merci, ça fait plaisir :-)

signaler à un administrateur
Commentaire de moutonjr le 16/12/2007 16:45:02

Ce code est on ne peut plus parfait... en VB6.
Saurais-tu comment remplacer les passages impossibles (HDC) de VB6 à .NET? Ca m'aiderait beaucoup...

signaler à un administrateur
Commentaire de ScSami le 17/12/2007 12:36:28

Malheureusement... Ne m'étant toujours pas (en 2007), mis au .NET, je ne peux t'aider !
Mais ça ne doit pas être bien compliqué j'imagine (si ce qu'on dit du DOT NET est vrai) ! Faut chercher un peu dans le framework j'imagine.

Encore désolé.

signaler à un administrateur
Commentaire de moutonjr le 17/12/2007 19:55:13

Ah, rien de grave, je cherche juste comment remplacer le HDC, je chercherai, j'ai regardé sur MSDN, penses-tu il n'y a rien... je vais continuer mes recherches. En tout cas j'ai testé ça sur VB6 et là, franchement , je peux te dire que tu es le meilleur tutoriel de Cards.dll que j'aie vu!

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.