Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Démonstration de CARDS.DLL | |
|
+3Ouf_ca_passe Klaus papydall 7 participants | |
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 2:00 | |
| Le glisser/Déposer est implémenté. Le fait de "sortir" une carte de sa pile la "détache" de la pile en question. Ceci est visible dans la pile horizontale du haut. On peut en retirer des cartes et les placer ailleurs. Ensuite, lors du "ramassage", elles ne seront plus prises en compte, même si graphiquement elles sont replacées dans cette pile. On le voit par le compteur des cartes ramassées - elles sont décomptées, et laissées en place là où on les a placées. Mais elles continueront à réagir au clic et envoyer leur identification, et les trèfles se retournent à chaque clique, même déplacées. Et le clic sur le terrain de jeu reste reconnu en tant que tel. Il faut reprendre KGF.dll dans le WebDav, dossier DLLs.Voici le code du programme de démo: - Code:
-
' test_MyCards.bas
label creer, supprimer, ramasser, distribuer, event, test
dim PG%, ST1%, ST2%, ST3%, CD%(13,3), CDdos%(11) dim ncd%(3), fond$ dim res%, i%, k%, n%, s$, xcd%
dim debug% : debug% = 0
dim sHearts% : sHearts% = 0 dim sClubs% : sClubs% = 1 dim sDiamonds% : sDiamonds% = 2 dim sSpades% : sSpades% = 3
dim sgStockTopBackUp% : sgStockTopBackUp% = 0 dim sgStockTopFaceUp% : sgStockTopFaceUp% = 1 dim sgTopDown% : sgTopDown% = 2 dim sgLeftRight% : sgLeftRight% = 3 dim sgDownTop% : sgDownTop% = 4 dim sgRightLeft% : sgRightLeft% = 5
dim soNone% : soNone% = 0 dim soAscendant% : soAscendant% = 1 dim soDescendant% : soDescendant% = 2 dim scAll% : scAll% = 0 dim scSpades% : scSpades% = 1 dim scDiamonds% : scDiamonds% = 2 dim scClubs% : scClubs% = 3 dim scHearts% : scHearts% = 4 dim scBlack% : scBlack% = 5 dim scRed% : scRed% = 6 dim scAlternateBackRed% : scAlternateBackRed% = 7
full_space 0 dll_on "KGF.dll"
button 1 : top 1,10 : left 1,10 : caption 1,"Créer" : on_click 1,creer button 2 : top 2,10 : left 2,90 : caption 2,"Supprimer" : on_click 2,supprimer : inactive 2 button 6 : top 6,10 : left 6,410 : caption 6,"Ramasser" : on_click 6,ramasser : inactive 6 button 7 : top 7,10 : left 7,490 : caption 7,"Distribuer" : on_click 7,distribuer : inactive 7
button 8 : top 8,10 : left 8,570 : caption 8,"Test" : on_click 8,test : hide 8
open_dialog 97 memo 98 : hide 98 : bar_both 98 edit 99 : left 99,700 : width 99,300 : on_change 99,event : hide 99
end
creer: ' créer le terrain de jeu filter 97,"Fchiers *.BMP |*.bmp" fond$ = file_name$(97) if fond$="_" fond$ = "" else if file_exists(fond$)=0 then fond$ = "" end_if PG% = dll_call5("CreateMyCardsPlayground",handle(0),handle(99),10,40,adr(fond$)) if debug%=1 then message "CreateMyCardsPlayground="+hex$(PG%)
' dimensionner le terrain de jeu res% = dll_call5("MyCardsPlaygroundGeometry",PG%,0,40,1200,650) if debug%=1 then message "MyCardsPlaygroundGeometry="+str$(res%)
' créer les 3 piles - une de gauche à droite ' - une empilée les unes sur les autres ' - une à gauche avec cartes détachées ST1% = dll_call5("CreateMyCardsStack",PG%,sgLeftRight%,soNone%,scAll%,15) if debug%=1 then message "CreateMyCardsStack="+str$(ST1%) res% = dll_call3("LocateMyCardsStack",ST1%,10,40) if debug%=1 then message "LocateMyCardsStack="+str$(res%) ST2% = dll_call5("CreateMyCardsStack",PG%,sgStockTopBackUp%,soNone%,scAll%,0) if debug%=1 then message "CreateMyCardsStack="+str$(ST2%) res% = dll_call3("LocateMyCardsStack",ST2%,1100,40) if debug%=1 then message "LocateMyCardsStack="+str$(res%) ST3% = dll_call5("CreateMyCardsStack",PG%,sgLeftRight%,soNone%,scAll%,85) if debug%=1 then message "CreateMyCardsStack="+str$(ST2%) res% = dll_call3("LocateMyCardsStack",ST3%,10,200) if debug%=1 then message "LocateMyCardsStack="+str$(res%)
' créer les 52 cartes et les envoyer dans la pile horizontale ncd%(1)= 0 for i%=0 to 3 for k%=1 to 13 CD%(k%,i%) = dll_call4("CreateMyCardsCard",PG%,i%,k%,4) if CD%(k%,i%)=0 then message "oups - carte "+str$(k%)+","+str$(i%) if CD%(k%,i%)<>0 then ncd%(1) = ncd%(1) + 1 if debug%=1 then message "CreateMyCardsCard="+str$(CD%(k%,i%)) res% = dll_call2("MoveMyCardsCardToStack",CD%(k%,i%),ST1%) if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%) next k% next i% message str$(ncd%(1))+" cartes ont été créées." ' mélanger les 52 cartes res% = dll_call1("ShuffleMyCardsStack",ST1%) if debug%=1 then message "ShuffleMyCardsStack="+str$(res%) ' créer les 12 dos de cartes et les envoyer dans l'autre pile horizontale ncd%(3)= 0 for i%=0 to 11 CDdos%(i%) = dll_call4("CreateMyCardsCard",PG%,0,1,i%) if CDdos%(i%)=0 then message "oups - dos "+str$(i%) if CDdos%(i%)<>0 then ncd%(3) = ncd%(3) + 1 if debug%=1 then message "CreateMyCardsCard="+str$(CDdos%(i%)) res% = dll_call2("MoveMyCardsCardToStack",CDdos%(i%),ST3%) if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%) res% = dll_call2("ManageMyCardsCard",CDdos%(i%),3) : ' retourner la carte ! next i% message str$(ncd%(3))+" dos de cartes ont été créées." inactive 1 active 2 active 6 return supprimer: PG% = dll_call1("DeleteMyCardsPlayground",PG%) if debug%=1 then message "DeleteMyCardsPlayground="+str$(PG%) active 1 inactive 2 inactive 6 inactive 7 return ramasser: res% = dll_call2("MoveMyCardsStackToStack",ST1%,ST2%) ncd%(1) = ncd%(1) - res% ncd%(2) = res% if debug%=1 then message "MoveMyCardsStackToStack="+str$(res%) message str$(ncd%(2))+" cartes ont été ramassées." inactive 6 active 7 return distribuer: res% = dll_call2("MoveMyCardsStackToStack",ST2%,ST1%) ncd%(2) = ncd%(2) - res% ncd%(1) = res% if debug%=1 then message "MoveMyCardsStackToStack="+str$(res%) message str$(ncd%(1))+" cartes ont été distribuées." inactive 7 active 6 return event: s$ = trim$(text$(99)) if left$(s$,2)="CC" : ' clic sur carte message "clic - "+text$(99) if instr(s$,"Trèfle")>0 : ' carte de trèfle ? xcd% = hex(mid$(s$,3,8)) res% = dll_call2("ManageMyCardsCard",xcd%,3) : ' retourner la carte ! end_if end_if if left$(s$,2)="CP" : ' clic sur terrain de jeu message "clic - "+text$(99) end_if return
test:
return
| |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 2:47 | |
| Merci Klaus pour cette belle avancée. J’ai testé : c’est fluide et sans clignotement. Tu éprouves un sacré plaisir pour faire ça ! Bonne continuation ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 3:24 | |
| Je résume : Jusqu’à présent, sont crées les fonctions suivantes : 1 ) CreateMyCardsPlayground < --- créer le terrain de jeu 2 ) MyCardsPlaygroundGeometry < --- dimensionner le terrain de jeu 3 ) CreateMyCardsStack < --- créer une pile 4 ) LocateMyCardsStack < --- localiser une carte dans une pile 5 ) MoveMyCardsCardToStack < ---- déplacer une carte vers une pile 6 ) ShuffleMyCardsStack < --- Mélanger les cartes d’une pile 7 ) ManageMyCardsCard < --- Retourner une carte 8 ) DeleteMyCardsPlayground < ---Supprimer le terrain de jeu Tout ça est BOOO ! | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 7:51 | |
| Bonjour Klaus j'ai testé aussi et c'est très sympa ! Je te signale juste que dans les cartes que je retire et qui ne sont pas des trèfles, lorsque je fait un ramassage, parmi les carte déplacés il y en a une qui se met 'coté dos' (face caché). Et si je continu a redistribuer et ramasser de nouveau, au moment de ramasser une nouvelle carte se retourne face caché. Et ainsi de suite a chaque ramassage... Sinon le glisser déplacer fonctionne très bien. Bravo ! Pour les nouvelles idée, tu devrais penser pour la suite (mais tu y a sûrement pensé) à faire en sorte que les cartes déplacées se 'bloquent' les une à coté des autres et s'alignent une à une horizontalement ou verticalement. Voila pour le moment. Bon courage ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 11:44 | |
| Merci à tous deux pour vos remarques et votre intérêt ! - Citation :
- Je te signale juste que dans les cartes que je retire et qui ne sont pas des trèfles, lorsque je fait un ramassage, parmi les carte déplacés il y en a une qui se met 'coté dos' (face caché).
Et si je continu a redistribuer et ramasser de nouveau, au moment de ramasser une nouvelle carte se retourne face caché. Et ainsi de suite a chaque ramassage... Ok - je vois d'où ça vient et je vais le corriger. - Citation :
- Pour les nouvelles idée, tu devrais penser pour la suite (mais tu y a sûrement pensé) à faire en sorte que les cartes déplacées se 'bloquent' les une à coté des autres et s'alignent une à une horizontalement ou verticalement.
Oui, c'est prévu. La suite du glisser/déposer sera: - déterminer la cible de la dépose (jusqu'ici, on peut déposer n'importe où...) - paramétrer les autorisations de dépose, pour chaque pile et pour le terrain de jeu - paramétrer les autorisation d'enlèvement d'une carte, par pile et pour le terrain de jeu - paramétrer le nombre maxi de cartes par pile - paramétrer le nombre de cartes cachées par pile etc. C'est loin d'être fini. Mon souhait, c'est de faire une "boite à outils" pour la création de jeux de cartes, et non simplement une base pour faire des patiences. Poker, Belote, Memory, Bonneteau - pour ne citer que quelques-uns. Sans parler des jeux qu'on pourrait inventer ? PS:Avez-vous essayé l'image de fond ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 13:37 | |
| - Klaus a écrit:
- Avez-vous essayé l'image de fond ?
- ça donne ceci : Sympa, non ?:
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 14:40 | |
| Ouiiiiiiiiii c'était l'idée ! Nouvelle version: - paramétrage des autorisations pour l'accrochage d'une carte pour la faire glisser, tant à partir du terrain de jeu qu'à partir d'une pile - paramétrage des autorisations pour la dépose d'une carteaprès l'avoir fait glisser, tant dans le terrain de jeu que dans une pile Dans le programme de démo ci-après, me terrain de jeu a les autorisations suivantes: - Code:
-
' on ne peut "accrocher" que les cartes ouvertes dans le terrain de jeu ' on peut déposer n'importe où res% = dll_call3("MyCardsPlaygroundOptions",PG%,dragFaceUp%,DropAny%)
La première pile horizontale a les autorisations suivantes: - Code:
-
' on ne peut "accrocher" que la dernière carte de stack 1 ' on peut déposer des cartes - elles se mettront automatiquement en dernière position res% = dll_call3("MyCardsCardStackOptions",ST1%,dragLast%,DropLast%) : ' dropNone%)
La deuxième pile (celle recevant le ramassage) a les autorisations suivantes: - Code:
-
' par défaut, on ne peut pas "accrocher" une carte ' par défaut, on ne peut déposer aucune carte
La troisième pile horizontale (celle montrant les dos des cartes) a les autorisations suivantes: - Code:
-
' on peut tirer toutes les cartes de stack 3 ' on ne peut déposer aucune carte res% = dll_call3("MyCardsCardStackOptions",ST3%,dragAll%,dropNone%)
Et voici le code: - Code:
-
' test_MyCards.bas
label creer, supprimer, ramasser, distribuer, event, test
dim PG%, ST1%, ST2%, ST3%, CD%(13,3), CDdos%(11) dim ncd%(3), fond$ dim res%, i%, k%, n%, s$, xcd%
dim debug% : debug% = 0
dim sHearts% : sHearts% = 0 dim sClubs% : sClubs% = 1 dim sDiamonds% : sDiamonds% = 2 dim sSpades% : sSpades% = 3
dim sgStockTopBackUp% : sgStockTopBackUp% = 0 dim sgStockTopFaceUp% : sgStockTopFaceUp% = 1 dim sgTopDown% : sgTopDown% = 2 dim sgLeftRight% : sgLeftRight% = 3 dim sgDownTop% : sgDownTop% = 4 dim sgRightLeft% : sgRightLeft% = 5
dim soNone% : soNone% = 0 dim soAscendant% : soAscendant% = 1 dim soDescendant% : soDescendant% = 2 dim scAll% : scAll% = 0 dim scSpades% : scSpades% = 1 dim scDiamonds% : scDiamonds% = 2 dim scClubs% : scClubs% = 3 dim scHearts% : scHearts% = 4 dim scBlack% : scBlack% = 5 dim scRed% : scRed% = 6 dim scAlternateBackRed% : scAlternateBackRed% = 7
dim dragNone% : dragNone% = 0 dim dragAll% : dragAll% = 1 dim dragFaceUp% : dragFaceUp% = 2 dim dragFaceDown% : dragFaceDown% = 3 dim dragLast% : dragLast% = 4
dim dropNone% : dropNone% = 0 dim DropAny% : DropAny% = 1 dim DropLast% : DropLast% = 2
full_space 0 dll_on "KGF.dll"
button 1 : top 1,10 : left 1,10 : caption 1,"Créer" : on_click 1,creer button 2 : top 2,10 : left 2,90 : caption 2,"Supprimer" : on_click 2,supprimer : inactive 2 button 6 : top 6,10 : left 6,410 : caption 6,"Ramasser" : on_click 6,ramasser : inactive 6 button 7 : top 7,10 : left 7,490 : caption 7,"Distribuer" : on_click 7,distribuer : inactive 7
button 8 : top 8,10 : left 8,570 : caption 8,"Test" : on_click 8,test : ' hide 8
open_dialog 97 memo 98 : hide 98 : bar_both 98 edit 99 : left 99,700 : width 99,300 : on_change 99,event : ' hide 99
end
creer: ' créer le terrain de jeu filter 97,"Fchiers *.BMP |*.bmp" fond$ = file_name$(97) if fond$="_" fond$ = "" else if file_exists(fond$)=0 then fond$ = "" end_if PG% = dll_call5("CreateMyCardsPlayground",handle(0),handle(99),10,40,adr(fond$)) if debug%=1 then message "CreateMyCardsPlayground="+hex$(PG%) ' on ne peut "accrocher" que les cartes ouvertes dans le terrain de jeu ' on peut déposer n'importe où res% = dll_call3("MyCardsPlaygroundOptions",PG%,dragFaceUp%,DropAny%)
' dimensionner le terrain de jeu res% = dll_call5("MyCardsPlaygroundGeometry",PG%,0,40,1200,650) if debug%=1 then message "MyCardsPlaygroundGeometry="+str$(res%)
' créer les 3 piles - une de gauche à droite ' - une empilée les unes sur les autres ' - une à gauche avec cartes détachées ST1% = dll_call5("CreateMyCardsStack",PG%,sgLeftRight%,soNone%,scAll%,15) if debug%=1 then message "CreateMyCardsStack="+str$(ST1%) res% = dll_call3("LocateMyCardsStack",ST1%,10,40) if debug%=1 then message "LocateMyCardsStack="+str$(res%) ' on ne peut "accrocher" que la dernière carte de stack 1 ' on peut déposer des cartes - elles se mettront automatiquement en dernière position res% = dll_call3("MyCardsCardStackOptions",ST1%,dragLast%,DropLast%) : ' dropNone%)
ST2% = dll_call5("CreateMyCardsStack",PG%,sgStockTopBackUp%,soNone%,scAll%,0) if debug%=1 then message "CreateMyCardsStack="+str$(ST2%) res% = dll_call3("LocateMyCardsStack",ST2%,1100,40) if debug%=1 then message "LocateMyCardsStack="+str$(res%) ' par défaut, on ne peut pas "accrocher" une carte ' par défaut, on ne peut déposer aucune carte
ST3% = dll_call5("CreateMyCardsStack",PG%,sgLeftRight%,soNone%,scAll%,85) if debug%=1 then message "CreateMyCardsStack="+str$(ST2%) res% = dll_call3("LocateMyCardsStack",ST3%,10,200) if debug%=1 then message "LocateMyCardsStack="+str$(res%) ' on peut tirer toutes les cartes de stack 3 ' on ne peut déposer aucune carte res% = dll_call3("MyCardsCardStackOptions",ST3%,dragAll%,dropNone%)
' créer les 52 cartes et les envoyer dans la pile horizontale ncd%(1)= 0 for i%=0 to 3 for k%=1 to 13 CD%(k%,i%) = dll_call4("CreateMyCardsCard",PG%,i%,k%,4) if CD%(k%,i%)=0 then message "oups - carte "+str$(k%)+","+str$(i%) if CD%(k%,i%)<>0 then ncd%(1) = ncd%(1) + 1 if debug%=1 then message "CreateMyCardsCard="+str$(CD%(k%,i%)) res% = dll_call2("MoveMyCardsCardToStack",CD%(k%,i%),ST1%) if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%) next k% next i% message str$(ncd%(1))+" cartes ont été créées." ' mélanger les 52 cartes res% = dll_call1("ShuffleMyCardsStack",ST1%) if debug%=1 then message "ShuffleMyCardsStack="+str$(res%) ' créer les 12 dos de cartes et les envoyer dans l'autre pile horizontale ncd%(3)= 0 for i%=0 to 11 CDdos%(i%) = dll_call4("CreateMyCardsCard",PG%,0,1,i%) if CDdos%(i%)=0 then message "oups - dos "+str$(i%) if CDdos%(i%)<>0 then ncd%(3) = ncd%(3) + 1 if debug%=1 then message "CreateMyCardsCard="+str$(CDdos%(i%)) res% = dll_call2("MoveMyCardsCardToStack",CDdos%(i%),ST3%) if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%) res% = dll_call2("ManageMyCardsCard",CDdos%(i%),3) : ' retourner la carte ! next i% message str$(ncd%(3))+" dos de cartes ont été créées." inactive 1 active 2 active 6 return supprimer: PG% = dll_call1("DeleteMyCardsPlayground",PG%) if debug%=1 then message "DeleteMyCardsPlayground="+str$(PG%) active 1 inactive 2 inactive 6 inactive 7 return ramasser: res% = dll_call2("MoveMyCardsStackToStack",ST1%,ST2%) ncd%(1) = ncd%(1) - res% ncd%(2) = res% if debug%=1 then message "MoveMyCardsStackToStack="+str$(res%) message str$(ncd%(2))+" cartes ont été ramassées." inactive 6 active 7 return distribuer: res% = dll_call2("MoveMyCardsStackToStack",ST2%,ST1%) ncd%(2) = ncd%(2) - res% ncd%(1) = res% if debug%=1 then message "MoveMyCardsStackToStack="+str$(res%) message str$(ncd%(1))+" cartes ont été distribuées." inactive 7 active 6 return event: s$ = trim$(text$(99)) if left$(s$,2)="CC" : ' clic sur carte message "clic - "+text$(99) if instr(s$,"Trèfle")>0 : ' carte de trèfle ? xcd% = hex(mid$(s$,3,8)) res% = dll_call2("ManageMyCardsCard",xcd%,3) : ' retourner la carte ! end_if end_if if left$(s$,2)="CP" : ' clic sur terrain de jeu message "clic - "+text$(99) end_if return
test:
return
Faites glisser une des cartes montrant leur dos, n'importe où dans la ligne des cartes découvertes en haut. elle se mettra à la fin en se découvrant automatiquement. ATTENTION ! Je n'ai momentanément pas accès à mon WebDav ! Donc, j'ai mis KGF.dll sur mon site - les liens dans la signature donnent la bonne version, tant pour le site normal que pour le site miroir ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 17:26 | |
| Nouvelle version: J'ai rendu actif les contrôles selon le tri des valeurs (ascendants, ...) et les couleurs (Pique, Coeur, ...) des piles, pour la fonction MoveMyCardsCardToStack. Si, dans la création de la pile ST1%, on remplace scAll% par scHeart%, par exemple, seules les 13 cartes Coeur apparaîtront, et la pile ne contiendra effectivement que 13 cartes. En plus, il n'est plus possible d'y glisser une des cartes à dos visible, car elles sont toutes des As de Pique ! C'est la preuve que le contrôle par couleur marche. Il en est de même pour le classement par valeur. Voici le programme de démo adapté avec les nouvelles constantes: - Code:
-
' test_MyCards.bas
label creer, supprimer, ramasser, distribuer, event, test
dim PG%, ST1%, ST2%, ST3%, CD%(13,3), CDdos%(11) dim ncd%(3), fond$ dim res%, i%, k%, n%, s$, xcd%
dim debug% : debug% = 0
dim sHearts% : sHearts% = 0 dim sClubs% : sClubs% = 1 dim sDiamonds% : sDiamonds% = 2 dim sSpades% : sSpades% = 3
dim sgStockTopBackUp% : sgStockTopBackUp% = 0 dim sgStockTopFaceUp% : sgStockTopFaceUp% = 1 dim sgTopDown% : sgTopDown% = 2 dim sgLeftRight% : sgLeftRight% = 3 dim sgDownTop% : sgDownTop% = 4 dim sgRightLeft% : sgRightLeft% = 5
dim soNone% : soNone% = 0 dim soAscendant% : soAscendant% = 1 dim soDescendant% : soDescendant% = 2 dim scAll% : scAll% = 0 dim scSpades% : scSpades% = 1 dim scDiamonds% : scDiamonds% = 2 dim scClubs% : scClubs% = 3 dim scHearts% : scHearts% = 4 dim scBlack% : scBlack% = 5 dim scRed% : scRed% = 6 dim scAlternateBlackRed% : scAlternateBlackRed% = 7
dim dragNone% : dragNone% = 0 dim dragAll% : dragAll% = 1 dim dragFaceUp% : dragFaceUp% = 2 dim dragFaceDown% : dragFaceDown% = 3 dim dragLast% : dragLast% = 4
dim dropNone% : dropNone% = 0 dim DropAny% : DropAny% = 1 dim DropLast% : DropLast% = 2
full_space 0 dll_on "KGF.dll"
button 1 : top 1,10 : left 1,10 : caption 1,"Créer" : on_click 1,creer button 2 : top 2,10 : left 2,90 : caption 2,"Supprimer" : on_click 2,supprimer : inactive 2 button 6 : top 6,10 : left 6,410 : caption 6,"Ramasser" : on_click 6,ramasser : inactive 6 button 7 : top 7,10 : left 7,490 : caption 7,"Distribuer" : on_click 7,distribuer : inactive 7
button 8 : top 8,10 : left 8,570 : caption 8,"Test" : on_click 8,test : ' hide 8
open_dialog 97 memo 98 : hide 98 : bar_both 98 edit 99 : left 99,700 : width 99,300 : on_change 99,event : ' hide 99
end
creer: ' créer le terrain de jeu filter 97,"Fchiers *.BMP |*.bmp" fond$ = file_name$(97) if fond$="_" fond$ = "" else if file_exists(fond$)=0 then fond$ = "" end_if PG% = dll_call5("CreateMyCardsPlayground",handle(0),handle(99),10,40,adr(fond$)) if debug%=1 then message "CreateMyCardsPlayground="+hex$(PG%) ' on ne peut "accrocher" que les cartes ouvertes dans le terrain de jeu ' on peut déposer n'importe où res% = dll_call3("MyCardsPlaygroundOptions",PG%,dragFaceUp%,DropAny%)
' dimensionner le terrain de jeu res% = dll_call5("MyCardsPlaygroundGeometry",PG%,0,40,1200,650) if debug%=1 then message "MyCardsPlaygroundGeometry="+str$(res%)
' créer les 3 piles - une de gauche à droite ' - une empilée les unes sur les autres ' - une à gauche avec cartes détachées ST1% = dll_call5("CreateMyCardsStack",PG%,sgLeftRight%,soNone%,scAll%,15) ' <========== dans la ligne précédente, essayez scHearts% à la place de scAll% !!!!! if debug%=1 then message "CreateMyCardsStack="+str$(ST1%) res% = dll_call3("LocateMyCardsStack",ST1%,10,40) if debug%=1 then message "LocateMyCardsStack="+str$(res%) ' on ne peut "accrocher" que la dernière carte de stack 1 ' on peut déposer des cartes - elles se mettront automatiquement en dernière position res% = dll_call3("MyCardsCardStackOptions",ST1%,dragLast%,DropLast%) : ' dropNone%)
ST2% = dll_call5("CreateMyCardsStack",PG%,sgStockTopBackUp%,soNone%,scAll%,0) if debug%=1 then message "CreateMyCardsStack="+str$(ST2%) res% = dll_call3("LocateMyCardsStack",ST2%,1100,40) if debug%=1 then message "LocateMyCardsStack="+str$(res%) ' par défaut, on ne peut pas "accrocher" une carte ' par défaut, on ne peut déposer aucune carte
ST3% = dll_call5("CreateMyCardsStack",PG%,sgLeftRight%,soNone%,scAll%,85) if debug%=1 then message "CreateMyCardsStack="+str$(ST2%) res% = dll_call3("LocateMyCardsStack",ST3%,10,200) if debug%=1 then message "LocateMyCardsStack="+str$(res%) ' on peut tirer toutes les cartes de stack 3 ' on ne peut déposer aucune carte res% = dll_call3("MyCardsCardStackOptions",ST3%,dragAll%,dropNone%)
' créer les 52 cartes et les envoyer dans la pile horizontale ncd%(1)= 0 for i%=0 to 3 for k%=1 to 13 CD%(k%,i%) = dll_call4("CreateMyCardsCard",PG%,i%,k%,4) if CD%(k%,i%)=0 then message "oups - carte "+str$(k%)+","+str$(i%) if CD%(k%,i%)<>0 then ncd%(1) = ncd%(1) + 1 if debug%=1 then message "CreateMyCardsCard="+str$(CD%(k%,i%)) res% = dll_call2("MoveMyCardsCardToStack",CD%(k%,i%),ST1%) if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%) next k% next i% message str$(ncd%(1))+" cartes ont été créées."
' mélanger les 52 cartes res% = dll_call1("ShuffleMyCardsStack",ST1%) if debug%=1 then message "ShuffleMyCardsStack="+str$(res%) ' créer les 12 dos de cartes et les envoyer dans l'autre pile horizontale ncd%(3)= 0 for i%=0 to 11 CDdos%(i%) = dll_call4("CreateMyCardsCard",PG%,0,1,i%) if CDdos%(i%)=0 then message "oups - dos "+str$(i%) if CDdos%(i%)<>0 then ncd%(3) = ncd%(3) + 1 if debug%=1 then message "CreateMyCardsCard="+str$(CDdos%(i%)) res% = dll_call2("MoveMyCardsCardToStack",CDdos%(i%),ST3%) if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%) res% = dll_call2("ManageMyCardsCard",CDdos%(i%),3) : ' retourner la carte ! next i% message str$(ncd%(3))+" dos de cartes ont été créées." inactive 1 active 2 active 6 return supprimer: PG% = dll_call1("DeleteMyCardsPlayground",PG%) if debug%=1 then message "DeleteMyCardsPlayground="+str$(PG%) active 1 inactive 2 inactive 6 inactive 7 return ramasser: res% = dll_call2("MoveMyCardsStackToStack",ST1%,ST2%) ncd%(1) = ncd%(1) - res% ncd%(2) = res% if debug%=1 then message "MoveMyCardsStackToStack="+str$(res%) message str$(ncd%(2))+" cartes ont été ramassées." inactive 6 active 7 return distribuer: res% = dll_call2("MoveMyCardsStackToStack",ST2%,ST1%) ncd%(2) = ncd%(2) - res% ncd%(1) = res% if debug%=1 then message "MoveMyCardsStackToStack="+str$(res%) message str$(ncd%(1))+" cartes ont été distribuées." inactive 7 active 6 return event: s$ = trim$(text$(99)) if left$(s$,2)="CC" : ' clic sur carte message "clic - "+text$(99) if instr(s$,"Trèfle")>0 : ' carte de trèfle ? xcd% = hex(mid$(s$,3,8)) res% = dll_call2("ManageMyCardsCard",xcd%,3) : ' retourner la carte ! end_if end_if if left$(s$,2)="CP" : ' clic sur terrain de jeu message "clic - "+text$(99) end_if return
test:
return
Note:Le WebDav et les deux sites sont à jour ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 18:23 | |
| Voici un début de programme utilisant au fur et à mesure les avancées de KGF.DLL. Je me suis inspiré d’un code en Delphi pour commencer mon code Panoramic. Je ne suis pas sûr d’en venir à bout, mais tu veux bien, Klaus (ou quelqu’un d’autre) le reprendre pour illustrer les nouvelles fonctions de KGF.DLL ? Voici mon code qui ne fait presque rien … à part le choix du fonds, l’affichage des Règles du jeu et celui de l’à-propos ! - Code:
-
rem ============================================================================ rem Duel rem ============================================================================ rem Sur le tapis de jeu, les cartes sont réparties en piles pouvant contenir rem 52 cartes. rem Piles 1 à 4 : les familles rem Piles 5 et 6 : jeu du programme rem Piles 7 et 8 : votre jeu rem Les piles des joueurs se composent de : rem - un talon couvert, les cartes distribuées rem - un talon découvert, les cartes retournées et non placées rem ============================================================================
Constantes() Variables() GUI() Menu()
end rem ============================================================================ ' Les constantes pour KGF.DLL SUB Constantes() dim sHearts% : sHearts% = 0 dim sClubs% : sClubs% = 1 dim sDiamonds% : sDiamonds% = 2 dim sSpades% : sSpades% = 3
dim sgStockTopBackUp% : sgStockTopBackUp% = 0 dim sgStockTopFaceUp% : sgStockTopFaceUp% = 1 dim sgTopDown% : sgTopDown% = 2 dim sgLeftRight% : sgLeftRight% = 3 dim sgDownTop% : sgDownTop% = 4 dim sgRightLeft% : sgRightLeft% = 5
dim soNone% : soNone% = 0 dim soAscendant% : soAscendant% = 1 dim soDescendant% : soDescendant% = 2
dim scAll% : scAll% = 0 dim scSpades% : scSpades% = 1 dim scDiamonds% : scDiamonds% = 2 dim scClubs% : scClubs% = 3 dim scHearts% : scHearts% = 4 dim scBlack% : scBlack% = 5 dim scRed% : scRed% = 6 dim scAlternateBackRed% : scAlternateBackRed% = 7 END_SUB rem ============================================================================ SUB Variables() label choix ' Les constantes pour le jeu dim kx(8), ky(8) : ' positions des piles sur le tapis kx(1) = 010 : kx(2) = 090 : kx(3) = 170 : kx(4) = 250 kx(5) = 090 : kx(6) = 170 : kx(7) = 090 : kx(8) = 170 ky(1) = 112 : ky(2) = 112 : ky(3) = 112 : ky(4) = 112 ky(5) = 010 : ky(6) = 010 : ky(7) = 214 : ky(8) = 214 ' Les piles dim pile1(52), pile2(52), pile3(52), pile4(52) : ' les familes dim pile5(52), pile6(52) : ' jeu du programme dim pile7(52), pile8(52) : ' votre jeu dim ctr1(52) , ctr2(52), ctr3(52), ctr4(52) : ' compteur des nombres ... dim ctr5(52) , ctr6(52), ctr7(52), ctr8(52) : ' ... de cartes dans les piles ' Les variables globales dim debok,posok,movok : ' boolean dim sx,sy,px,py,dx,dy : ' integer dim nc,jr,nb1,nb2,pdeb,pfin :' byte ' ============================================================================== dim fond$ : fond$ = "" dim res%, PG% dim ST1%, ST2%, ST3%, ST4%, ST5%, ST6%, ST7%, ST8% dim CD%(13,3), CDdos%(11), ncd%(3) END_SUB rem ============================================================================ SUB GUI() width 0,700 : height 0,550 color 0,150,100,50
open_dialog 97 edit 99 : left 99,700 : width 99,300 : hide 99
application_title "Jeu de cartes : Le DUEL" caption 0,"Jeu de cartes : DUEL" dll_on "KGF.dll" END_SUB rem ============================================================================ SUB Menu() main_menu 10 sub_menu 11 : parent 11,10 : caption 11,"Jeu" sub_menu 12 : parent 12,11 : caption 12,"Nouvelle partie" : on_click 12,choix sub_menu 13 : parent 13,11 : caption 13,"Quitter" : on_click 13,choix
sub_menu 20 : parent 20,10 : caption 20,"Options" sub_menu 21 : parent 21,20 : caption 21,"Choisir un fonds ..." : on_click 21, choix
sub_menu 30 : parent 30,10 : caption 30,"Règles du jeu" : on_click 30,choix sub_menu 40 : parent 40,10 : caption 40,"A propos" : on_click 40,choix END_SUB rem ============================================================================ Choix: select number_click case 12 : Nouvelle_Partie() case 13 : Quitter() case 21 : Fond() case 30 : Regles_Jeu() case 40 : A_Propos() end_select return rem ============================================================================ SUB Fond() filter 97,"Fchiers *.BMP |*.bmp" fond$ = file_name$(97) if fond$ = "_" fond$ = "" else if file_exists(fond$) = 0 then fond$ = "" end_if Afficher_Tapis() END_SUB rem ============================================================================ SUB Nouvelle_Partie() Afficher_Tapis() Melanger_Cartes() Creer_Les_8_Piles() END_SUB rem ============================================================================ ' Afficher le tapis du jeu SUB Afficher_Tapis() PG% = dll_call5("CreateMyCardsPlayground",handle(0),handle(99),50,40,adr(fond$)) END_SUB rem ============================================================================ ' mélanger les 52 cartes SUB Melanger_Cartes() res% = dll_call1("ShuffleMyCardsStack",ST1%) END_SUB rem ============================================================================ SUB Creer_Les_8_Piles() message "Paydall est entrain d'y réflechir !" END_SUB rem ============================================================================ SUB Regles_Jeu() dim_local t$ t$ = "" t$ = t$ + "Ce jeu est une réussite qui oppose deux joueurs, l'un des deux étant" + chr$(13) t$ = t$ + "vous-même. Le rôle du second étant tenu avec brio par le programme." + chr$(13) t$ = t$ + "Le jeu se joue avec 52 cartes." + chr$(13) + chr$(13) t$ = t$ + "-----------------------------------------------------------------" + chr$(13) t$ = t$ + "Le but" + chr$(13) t$ = t$ + "-----------------------------------------------------------------" + chr$(13) + chr$(13) t$ = t$ + "Epuiser son propre jeu avant son adversaire, en formant des familes" + chr$(13) t$ = t$ + "ascendantes : As, 2, 3, ..., Roi" + chr$(13) + chr$(13) t$ = t$ + "-----------------------------------------------------------------" + chr$(13) t$ = t$ + "Les moyens" + chr$(13) t$ = t$ + "-----------------------------------------------------------------" + chr$(13)+ chr$(13) t$ = t$ + "A tour de rôle, les joueurs retournent une carte :" + chr$(13) t$ = t$ + " - S'il s'agit d'un AS, il est déposé sur le tapis où il servira de base à" + chr$(13) t$ = t$ + " la constitution d'une famille" + chr$(13) t$ = t$ + " - Si la carte retournée ne trouve pas sa place dans l'une des familles" + chr$(13) t$ = t$ + " elle rejoint le talon découvert." + chr$(13) t$ = t$ + " - Si elle a une valeur directement voisine de la carte supérieure du" + chr$(13) t$ = t$ + " talon découvert adverse, elle peut s'y installer, sans tenir compte" + chr$(13) t$ = t$ + " de la famille." + chr$(13) t$ = t$ + " De même, un joueur peut se décharger d'une ou plusieurs cartes de" + chr$(13) t$ = t$ + " son talon découvert vers celui de son adversaire. Cette opération" + chr$(13) t$ = t$ + " doit être réalisée avant d'avoir retourné la carte du talon muet"+ chr$(13) + chr$(13) t$ = t$ + "Quand un joueur a épuisé son talon muet, il retourne le talon découvert" + chr$(13) t$ = t$ + "et le dépouille à nouveau, carte par carte" + chr$(13) t$ = t$ + "Le gagnant est celui qui, le premier, à épuisé toutes ses cartes"+ chr$(13) + chr$(13) t$ = t$ + " Le jeu du programe est en haut" + chr$(13) t$ = t$ + " Le talon muet est à droite: le talon découvert est à gauche" + chr$(13) t$ = t$ + " Le votre est en bas " + chr$(13) t$ = t$ + " Le talon muet est à gauche: le talon découvert est à droite" + chr$(13) t$ = t$ + " Les familles sont au milieu " + chr$(13)+chr$(13) t$ = t$ + "-----------------------------------------------------------------" + chr$(13) t$ = t$ + "Comment jouer ?" + chr$(13) t$ = t$ + "-----------------------------------------------------------------" + chr$(13) t$ = t$ + "Pour retourner une carte du talon muet, il suffit de cliquer dessus." + chr$(13) t$ = t$ + "Pour retourner le talon découvert, quand le talon muet est épuisé," + chr$(13) t$ = t$ + "cliquer sur l'emplacement du talon muet." + chr$(13) t$ = t$ + "Pour déplacer une carte, cliquer dessus, garder le bouton enfoncé" + chr$(13) t$ = t$ + "en déplaçant la carte jusqu'à la position voulue, pui lâcher tout." + chr$(13) t$ = t$ + "deux compteurs indiquent le nombre de cartes restant à chaque joueur." + chr$(13) + chr$(13) t$ = t$ + "B O N N E C H A N C E . . ."
message t$ END_SUB rem ============================================================================ SUB A_Propos() dim_local t$ t$ = "" t$ = t$ + "Jeu : Duel" + chr$(13) t$ = t$ + "Version : V 1.0" + chr$(13) t$ = t$ + "Date de création : 21/11/2016" + chr$(13) t$ = t$ + "Dernière modif : 21/11/2016" + chr$(13) t$ = t$ + "Auteur : papydall" + chr$(13) + chr$(13) t$ = t$ + "==================================" + chr$(13) t$ = t$ + "Je tiens à remercier Klaus pour sa KGF.DLL" + chr$(13) t$ = t$ + "==================================" message t$
END_SUB rem ============================================================================ SUB Quitter() if message_confirmation_yes_no("Vous voulez vraiment quitter ?") = 1 terminate end_if END_SUB rem ============================================================================
Vous trouverez de quoi vous rassasiez (question jeux de cartes) sur cette page
Dernière édition par papydall le Lun 21 Nov 2016 - 18:44, édité 1 fois (Raison : Correction : Afficher_Tapis() et non Afficher_Papts()) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 18:34 | |
| Belle idée, Papydall ! Tu as la base de la structure. Bon courage ! Mes remarques: - Code:
-
Afficher_Papis() C'est marrant d'afficher des papis ! Je pense que tu voulaus parler de tapis ? - Code:
-
Melanger_Cartes() Creer_Les_8_Piles() Tu ne peux mélanger les cartes sur une pile que lorsque tu as créé la pile, pas avant... - Code:
-
message "Paydall est entrain d'y réflechir !" Excellent ! EDITD'après ce que je vois dans les règles, cela devrait déjà être réalisable dans l'état actuel de KGF.dll ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 18:42 | |
| - Klaus a écrit:
Code: Afficher_Papis() C'est marrant d'afficher des papis ! Je pense que tu voulaus parler de tapis ?
Marrant pour marrant : C’est Juste : je voulaus écrire Tapis , pas Papis ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 18:47 | |
| | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 18:51 | |
| Eh ben moi j'aime bien les Papis voulaus, heuuu... je voulais dire les tapis volants ! Bon je regarde vos codes à tous les deux et je comment ensuite... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 18:58 | |
| Puisque tu n'as pas encore de documentation pour ces fonctions, en voilà une qui mérite d'être connue: - Code:
-
res% = dll_call3("GetMyCardsInfo",ob%,act%,hmemo%) act% = code action 1 = liste des stacks dans le playground obj%=identifiant du PlayGround 2 = liste des cartes dans le playground obj%=identification du PlayGround 3 = iste des cartes dans le stack obj%=identification du Stack Dans tous les cas, hmemo% est le handle d'un memo Panoramic qui peut être caché, mais qui doit avoir l'option BAR_BOTH. Tu récupères les identifiants du contenu ciblé, sous forme de 8 caractères hexa, à convertir en variable integer par la fonction HEX(). | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 19:00 | |
| | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 19:09 | |
| Je viens de tester ton programme Papydall, c'est alléchant, maintenant j'attends la suite... Je viens aussi de tester les dernières fonctions glisser-déplacer sur les dos des cartes dans la pile. c'est pas mal. Bon ! Après ce moment de distraction, je dois me remettre dans GPP... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 19:47 | |
| Il y a une nouvelle version, avec une nouvelle fonction de "confort". C'est: - Code:
-
res% = dll_call6("CreateMyCardsDeckOnStack",ST%,couleur%,mini%,maxi%,as%,dos%) message "CreateMyCardsDeckOnStack="+str$(res%)
Elle crée une suite de cartes sur une pile. Toutes les cartes sont de la couleur couleur%, les valeurs vont de mini% à maxi% et elles ont le dos dos%. Si le paramètre as% est <>0, l'As est généré également. Ainsi, la séquence - Code:
-
res% = dll_call6("CreateMyCardsDeckOnStack",ST1%,sClubs%,7,13,1,7) message "CreateMyCardsDeckOnStack="+str$(res%)
génère le jeu de belote en Trèfle. Et la séquence - Code:
-
res% = dll_call6("CreateMyCardsDeckOnStack",ST1%,sClubs%,1,13,0,7) message "CreateMyCardsDeckOnStack="+str$(res%)
génère le jeu de patience en Trèfle. Attention: Dans le programme de démo, il y une erreur concernant le codage des couleurs des cartes. Il faut y remplacer les lignes 11 à 14 par - Code:
-
dim sSpades% : sSpades% = 0 dim sDiamonds% : sDiamonds% = 1 dim sClubs% : sClubs% = 2 dim sHearts% : sHearts% = 3
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Lun 21 Nov 2016 - 22:12 | |
| Comme je vois l'intérêt pour ce travail en cours de création, j'ai fait une petite doc préliminaire des fonctions existantes. Elle se trouve sur le WebDav, dossier DLLs, et s'appelle MyCards.rtf.
| |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Démonstration de CARDS.DLL Mar 22 Nov 2016 - 1:28 | |
| Merci Klaus. Je viens de télécharger. Je regarderai quand j'aurais réglé quelques problèmes sur mon PC qui commencent à me taper sur les nerfs ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Mar 22 Nov 2016 - 1:42 | |
| Petit aperçu sur les travaux en cours et ce qui va arriver prochainement: - j'ai écrit la routine qui permet d'insérer une carte dans une pile "triée" (ascendante ou descendante), en décalant ce qu'il faut. Insertion provoquée par une nouvelle fonction spécifique ou par un glisser/déposer. Elle reste à tester. - retassement de la pile d'origine en retirant une carte, soit par la fonction par programme soit par glisser/déposer. - à une échéance un peu plus longue: création d'une notion de liste de piles recevant une donne" et réalisation d'une fonction de distribuer une donne à partir d'une liste servant de "talon", en cartes cachées ou ouvertes.
Tu vois, c'est loin d'être fini. Et c'est passionnant. J'aime beaucoup les jeux de cartes, et, jusqu'à maintenant, je n'avais pas les outils en Panoramic pour le faire correctement. Et je te suis reconnaissant, Papydall, d'avoir relancé ce sujet avec des suggestions pertinentes. Cela m'a permis de refaire un tout d'horizon de ces outils et d'en faire une évaluation, avant de faire un choix technique qui, à l'usage, me parait pertinent. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Mar 22 Nov 2016 - 1:55 | |
| @Minibug: Tu as dit: - Citation :
- Bon j'ai tout repris a zero et j'ai eu droit a un nouveau message me demandant d'installer card.dll
Chose que j'ai fait sans attendre ! J'ai retiré toute référence à Cards.dll dans KGF.dll. Cette DLL externe n'est plus nécessaire pour utiliser KGF.dll. Tu peux tranquillement supprimer Cards.dll de ta machine - je ne l'utiliserai plus. En effet, je sous à fond sur le système MyCards qui se passe de DLLs externes et est entièrement embarqué dans KGF.dll. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Démonstration de CARDS.DLL Mar 22 Nov 2016 - 7:47 | |
| Ok Klaus, c'est noté ! Je regarderai dès que possible. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Démonstration de CARDS.DLL Mar 22 Nov 2016 - 16:31 | |
| J'ai fait quelques tests et essais avec ces nouvelles fonctions. C'est plus clair après la lecture de MyCards.rtf Merci Klaus ! Pour la nouvelle édition de cette doc, tu veux bien corriger les 2 erreurs suivantes dans : MyCards.rtf. - Citation :
Créer une pile de cartes dans un terrain de jeu ST% = dll_call6("CreateMyCardsStack",(PG%, group%, ordering%, colors%, delta%)
Correction : - Citation :
Créer une pile de cartes dans un terrain de jeu ST% = dll_call5("CreateMyCardsStack",PG%, group%, ordering%, colors%, delta%)
- Citation :
Créer un lot de cartes sur une pile res% = dll_call6("CreateMyCardsDeckOnStack",ST%, suit%,mini%,maxi%,as%,deck:%)
Correction : - Citation :
Créer un lot de cartes sur une pile res% = dll_call6("CreateMyCardsDeckOnStack",ST%, suit%,mini%,maxi%,as%,deck%)
Bonne continuation, Klaus .... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Démonstration de CARDS.DLL Mar 22 Nov 2016 - 21:45 | |
| Merci, Papydall ! C'est corrigé. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 23 Nov 2016 - 12:52 | |
| Vu les avancées, je vais m' y mettre avant d' être dépassé. | |
| | | Contenu sponsorisé
| Sujet: Re: Démonstration de CARDS.DLL | |
| |
| | | | Démonstration de CARDS.DLL | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |