begin process at 2008 07 06 02:46:50
1 205 441 membres
21 nouveaux aujourd'hui
14 119 membres club

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 450 / 550

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

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
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

30 janvier 2005 21:31:41 :
Petite explication consernant la couleur de sélection...
  • 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

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS