FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Le Forum est en vacances.
par JL35 Aujourd'hui à 21:20

» Une autre façon de terminer une application.
par JL35 Hier à 14:27

» Compilateur FBPano
par Mike Lun 21 Aoû 2017 - 23:17

» Pb 20 (en analyse): plantage à l'appel d'un SUB
par Jack Lun 21 Aoû 2017 - 21:58

» Pb 19 (en analyse): libellé d'erreur dans des IF imbriqués
par Jack Lun 21 Aoû 2017 - 21:55

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Lun 21 Aoû 2017 - 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Lun 21 Aoû 2017 - 5:01

» Mettre en windows en veille
par papydall Lun 21 Aoû 2017 - 4:15

» Stretch_on ne stretch plus...
par papydall Dim 20 Aoû 2017 - 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Dim 20 Aoû 2017 - 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

» Pb 16 (résolu): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Démonstration de CARDS.DLL

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
AuteurMessage
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Démonstration de CARDS.DLL   Ven 18 Nov 2016 - 10:48

Beau boulot les gars.
PS: Vous ne voulez pas refaire une version de vos programmes de cartes (Belotte, etc...) avec ces fonctions ?
Ca pourrait peut être donner un truc sympa et ça permettrait peut être de réactualiser ces bons jeux que certains nouveaux lecteurs pourraient ne pas connaître ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Ven 18 Nov 2016 - 11:36

Hou là... c'est beaucoup trop tôt ! Mais sur le fond, le but est bien d'offir un système graphique amélioré qui pourra également être appliqué à refondre ces jeux. On verra lorsque ce sera le moment !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 1:44

Bon et bien on attendra ! Laughing

En tous cas ça semble sacrément intéressant, mais aussi assez ardu...
Bon courage pour la suite. Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5522
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 2:15

J'y travaille aussi, mais pas au rythme de "l'homme qui programme plus vite que son ombre" !

Salut Klaus!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 15:57

Voilà le constat:
- o_cards est puissant, mais ja n'arrive pas à le faire marcher dans un contexte Panoramic. En Delphi pur, pas de problème.
- certaines fonctions retournent des valeurs impossibles à gérer en Panoramic. Donc, toutes les fonctions de o_cards.dll ne peuvent pas être appelées directement par Panoramic.
- j'ai demandé une assistance à l'auteur, mais pas de réponse pour le moment.

Alors, j'ai mis au point un autre système d'affichage de cartes. J'ai place une démo dans mon WebDav, dossier "Jeux". Le programme s'appelle Test_Cards.exe. Il s'exécute seul, sans DLL (ni même KGF.dll, pour le moment, car il est en Delphi pur). Et donc, lorsque j'airai intégré tout cela dans KGF.dll, il n'y aura pas de DLL supplémentaire, et tout sera maîtrisé à partir de Panoramic.

Mode d'emploi:
- le bouton "Créer le jeu" affiche une enfilade des 52 cartes d'un jeu complet
- le bouton "Ramasser" reprend toutes les cartes et fait une pile en haut à gauche
- le bouton "Redistribuer" prend les cartes à partir du haut de la pile et les étale à nouveau dans un rang
- un clic sur une carte donne la valeur de la carte (As=1, ... Roi=13) et de la couleur (0=coeur, 1=trèfle, 2=caro, 3=pique).

Je trouve l'affichage performant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5522
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 16:27

Salut Klaus

Je ne trouve pas sur ton webdav le dossier jeux Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 16:33

Ben, Papydall... on a besoin de lunettes ?

C'est entre IO_access_COM et K8055d... quelques lignes plus loin que DLLs...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5522
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 17:19

Certainement Klaus, j’ai beaucoup d’ennuis avec mes yeux : ce qui ne me facilite pas les choses !

J’étais dans Panoramic > DLLs et non dans Panoramic > jeux  Embarassed

Voici Panoramic > jeux:
 

En cliquant sur Test_Cards.exe pour le télécharger, ça me renvoie sur cette page

J’ai  du télécharger tout le dossier jeux avec ses sous-dossiers pour enfin récupérer Test_Cards.exe
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 17:22

Ah, le problème avec le téléchargement des EXE... Je l'ai mis dans un ZIP su même nom.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5522
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 17:31

Maintenant, c'est tout bon !

Le zip : Laughing
le EXE :
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Sam 19 Nov 2016 - 18:48

Et qu'est-ce que tu penses de l'aspect et des performances ? Je ne l'affiche pas encore, mais j'ai le choix d'environ 10 dos de cartes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 3:41

J'ai mis une version provisoire de KGF.dll dans mon WebDav, dossier DLLs. C'est identique à la version précédente, aux différences suivantes près:
- retrait de toutes les fonctions ayant trait à o_cards.dll
- retrait de o.cards.dll qui était embarquée dans KGF.dll
- ajout du début des fonctions de ma propre gestioin des cartes

Et voici une démo, similaire au programme Delphi que j'avais posté. Mais cette fois, c'est en Panoramic, et c'est ultra-rapide. Mode d'emploi:
- cliquer sur "Créer" - cela va :
-- créer, dimensionner et positionner un terrain de jeu
-- créer 2 piles (invisibles): une horizontale avec les cartes étalées et les faces visibles, et une à droite avec toutes les cartes empilées les unes sur les autres, dos visible
-- créer les 52 cartes d'un jeu complet et les affecter dans la première pile

A partir de là, on a un bouton "Ramasser" qui est activé. Il va collectionner toutes les cartes étalées et les empiler, dos visible, en haut à droite.

Ce bouton se désactive et active un bouton "Distribuer". Il va renvoyer toutes les cartes empilées à nouveau dans la pile horizontale.

Code:
' test_MyCards.bas

label creer, supprimer, ramasser, distribuer

dim PG%, ST1%, ST2%, CD%(13,3)
dim ncd%(2)
dim res%, i%, k%, n%

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


end

creer:
  ' créer le terrain de jeu
  PG% = dll_call3("CreateMyCardsPlayground",handle(0),10,40)
  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 2 piles - u e de gauche à droite et une empilée les unes sur les autres
  ST1% = dll_call4("CreateMyCardsStack",PG%,sgLeftRight%,soNone%,scAll%)
  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_call4("CreateMyCardsStack",PG%,sgStockTopBackUp%,soNone%,scAll%)
  if debug%=1 then message "CreateMyCardsStack="+str$(ST2%)
  res% = dll_call3("LocateMyCardsStack",ST2%,1100,40)
  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_call3("CreateMyCardsCard",PG%,i%,k%)
      if CD%(k%,i%)=0 then message "oups "+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."
  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:
  for i%=3 to 0 step -1
    for k%=13 to 1 step -1
      res% = dll_call2("MoveMyCardsCardToStack",CD%(k%,i%),ST2%)
      if res%<0 then message "oups "+str$(k%)+","+str$(i%)+"="+str$(CD%(k%,i%))
      if res%=0 then n% = n% + 1
      ncd%(1) = ncd%(1) - 1
      ncd%(2) = ncd%(2) + 1
      if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%)
    next k%
  next i%
  message str$(ncd%(2))+" cartes ont été ramassées."
  inactive 6
  active 7
  return
 
distribuer:
  for i%=0 to 3
    for k%=1 to 13
      res% = dll_call2("MoveMyCardsCardToStack",CD%(k%,i%),ST1%)
      if res%=0 then n% = n% + 1
      ncd%(2) = ncd%(2) - 1
      ncd%(1) = ncd%(1) + 1
      if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%)
    next k%
  next i%
  message str$(ncd%(1))+" cartes ont été distribuées."
  inactive 7
  active 6
  return

Qu'est-ce que vous pensez de la présentation graphique et de la vitesse ?

Ce qui marche déjà (sans être accessible dans cette démo), ce sont 12 images différentes pour le dos des cartes.

Ce qui viendra dans les jours qui viennent:
- suppression des cartes
- afficher/cacher des cartes
- reconnaissance de la carte par un clic
- annulation illimitée des movements
Tout ça est déjà en cours de réalisation.

A échéance un peu plus lointaine, il y aura le drag_and_drop (glisser/coller) d'une carte, et, plus tard, d'une partie d'une pile, à partir d'une carte cliquée.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5522
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 4:51

C’est du beau travail, ça !

Merci Klaus.

Tu dis que tu abandonnes o_Cards.dll ?
J’ai codé toutes les constantes utilisées dans o_Cards.ddl
J’ai aussi codé toutes les fonctions exportées par o_Cards.dll.
J’en ai testé quelques unes :  Cards_init,  Cards_GetVersion, c_About, ...
Je ne suis pas allé plus loin : des ennuis de connexion sur internet.
J’ai fais une bêtise sur mon PC et il me faut de la patience pour la réparer, et comme l’état de mes yeux s’empire de plus en plus, ça me décourage …
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 5:05

Oui, j'en étais là aussi, avec o_cards.dll. et j'avais fait le wrapper complet en Delphi,, intégré dans KGF.dll, pour pouvoir appeler ces fonctions par Panoramic. Car certaines fonctions sont impossibles à appeler par Panoramic. Plusieurs problèmes: certains types de paramètres de passent pas, certaines ne sont pas des fonctions, mais des procédures etc. D'où la nécessité de faire un wrapper en Panoramic. Jusque là, rien de bien méchant je sais faire.

Mais le problème, c'est que les piles et les cartes ne veulent absolument pas s'afficher si c'est appelé par Panoramic. Et je ne sais pas pourquoi. J'ai même demandé de l'aide au créateur, mais depuis le temps, il a dû changer d'activité - toujours est-il qu'il n'a pas répondu à ce jour.

Je que je viens de poster, c'est fait à partir d'un freeware open-source très léger que j'ai étendu en fonctionnalités et intégré dans KGF.sll. Aucun problème d'appel par Panoramic. Et je trouve les performances bluffantes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 12:19

Bonjour Klaus,

Je viens de faire le test et effectivement comme tu le dit c'est bluffant !
Bravo et bon courage pour la suite... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 13:18

Ca progresse... J'ai ajouté les nouveautés suivantes;
- on peut maintenant paramétrer l'écartement des cartes sur une pile, en pixels
- j'ai rendu accessible la possibilité de choisir le dos de page
- je retourne les évènements dans un EDIT (à terme, ce sera un ON_USER_EVENT...)
- plusieurs terrains de jeu peuvent être créés simultanément, et fonctionner de façon ndépendante !

Cela est montré dans la nouvelle version du programme de démo. Il crée une troisième pile, horizontale elle aussi, en-dessous de la première. Mais cette troisième pile a un écartement de 85 pixels ce qui dessine automatiquement les cartes détachées les unes des autres, sans recouvrement. Et je charge cette pile par douze cartes identiques (As de Pique en occurrence), mais je montre leur dos qui est différent pour chaque carte. Les évènements de clics dans le terrain de jeu sont reconnus et signalés, ainsi que les clics sur une carte. Là, on signale également le nom de la carte. Et en cliquant sur n'importe quelle carte de Trèfle, celle-ci se retourne à chaque clic.

Voici la démo (en 162 lignes !):
Code:
' test_MyCards.bas

label creer, supprimer, ramasser, distribuer, event, test

dim PG%, ST1%, ST2%, ST3%, CD%(13,3), CDdos%(11)
dim ncd%(3)
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

edit 99 : left 99,700 : on_change 99,event : hide 99

end

creer:
  ' créer le terrain de jeu
  PG% = dll_call4("CreateMyCardsPlayground",handle(0),handle(99),10,40)
  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."
  ' 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:
  for i%=3 to 0 step -1
    for k%=13 to 1 step -1
      res% = dll_call2("MoveMyCardsCardToStack",CD%(k%,i%),ST2%)
      if res%<0 then message "oups "+str$(k%)+","+str$(i%)+"="+str$(CD%(k%,i%))
      if res%=0 then n% = n% + 1
      ncd%(1) = ncd%(1) - 1
      ncd%(2) = ncd%(2) + 1
      if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%)
    next k%
  next i%
  message str$(ncd%(2))+" cartes ont été ramassées."
  inactive 6
  active 7
  return
  
distribuer:
  for i%=0 to 3
    for k%=1 to 13
      res% = dll_call2("MoveMyCardsCardToStack",CD%(k%,i%),ST1%)
      if res%=0 then n% = n% + 1
      ncd%(2) = ncd%(2) - 1
      ncd%(1) = ncd%(1) + 1
      if debug%=1 then message "MoveMyCardsCardToStack="+str$(res%)
    next k%
  next i%
  message str$(ncd%(1))+" cartes ont été distribuées."
  inactive 7
  active 6
  return
  
event:
  message "Evènement: "+text$(99)
  s$ = trim$(text$(99))
  if left$(s$,2)="CC"
    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
  
  return


test:
  res% = dll_call2("ManageMyCardsCard",cd%(2,3),1)
  res% = dll_call2("ManageMyCardsCard",ST2%,1)
  return

et voici une capture:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 17:35

J'ai ajouté le mélange des cartes. Ainsi, à chaque lancement, les cartes de la première ligne apparaissent mélangées de faon aléatoire. Voici le programme de démo adapté:
Code:
' test_MyCards.bas

label creer, supprimer, ramasser, distribuer, event, test

dim PG%, ST1%, ST2%, ST3%, CD%(13,3), CDdos%(11)
dim ncd%(3)
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

memo 98 : hide 98 : bar_both 98
edit 99 : left 99,700 : on_change 99,event : hide 99

end

creer:
  ' créer le terrain de jeu
  PG% = dll_call4("CreateMyCardsPlayground",handle(0),handle(99),10,40)
  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:
  message "Evènement: "+text$(99)
  s$ = trim$(text$(99))
  if left$(s$,2)="CC"
    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
 
  return


test:
  res% = dll_call3("GetMyCardsInfo",ST1%,3,handle(98))
  s$ = chr$(13)+chr$(10)
  if res%>0
    for i%=1 to res%
      s$ = s$ + item_read$(98,i%) + chr$(13) + chr$(10)
    next i%
  end_if
  message str$(res%)+" cartes définies"+s$
  return

et le résultat:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 20:02

Lors du lancement, par le bouton "Créer", le programme demande maintenant un fichier BMP qui servira d'image de fond pour le terrain de jeu. Ceci se fait via un OPEN_DIALOG. Si l'on annule ce dialogue par le bouton "Annuler", ça fonctionne comme avant, avec un tapis vert. Mais si l'on choisit un fichier BMP et si ce fichier existe, alors il est utilisé comme image de fond par un système équivalent  STRETCH_ON, et toutes les cartes se placent sur cette image.

Voici le programme:
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 : 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:
  message "Evènement: "+text$(99)
  s$ = trim$(text$(99))
  if left$(s$,2)="CC"
    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
 
  return


test:


  return


Dernière édition par Klaus le Dim 20 Nov 2016 - 21:07, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 20:34

SOS Klaus !

J'ai un message d'erreur après la sélection de l'image de fond :

Not correct arithmetic expression ligne 62 !

J'ai téléchargé la DLL sur le lien de ton message.
Mais j'avais déjà le même message à la précédente version de cet après midi...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 21:08

La ligne 62 doit être:
Code:
PG% = dll_call5("CreateMyCardsPlayground",handle(0),handle(99),10,40,adr(fond$))
Par rapport à la version précédente, la fonction est passée de 4 à 5 paramètres, en ajoutant l'image de fond. J'ai remis la DLL dans mon WebDav, des fois que j'aurais mélangé des versions... Et j'ai remis le code du programme de démo dans mon précédent post, à tout hasard.

Je travaille actuellement sur le glisser/coller d'une carte...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 21:48

Désolé Klaus !

On se perd sur ton Webdav. En plus la version ne semble pas être la bonne !
Franchement je suis perdu... drunken

Généralement, je prend le lien KGF.DLL identifié dans ta signature.
Donc là je ne doit pas être au bon endroit. Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 21:51

Ben non ! Le lien dans ma signature pointe vers mon site internet. Or, cette version d'évaluation de KGF.dll n'est que sur le WebDav, dont lien est également dans ma signature, avec le code utilisateur et le mot de passe. C'est dans le dossier DLLs.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 22:02

J'ai bien pris le fichier KGF.DLL dans le dossier DLLs du WEBDAV et j'ai toujours la même erreur.
J'abandonne... drunken
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Démonstration de CARDS.DLL   Dim 20 Nov 2016 - 22:24

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 ensuite réussi a lancer le programme.
Ce qui est bizarre c'est lorsque je clique sur certaines cartes elle sont cachés avec le dos visible et d'autres où rien ne se passe. la carte ne se cache pas.
De plus lorsque je clique sur les dos des cartes au milieu de l'écran elles indiques des as !?
Est ce normal ?

Sinon le ramassage et la distribution sont ultra rapide.
En attendant la suite...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Démonstration de CARDS.DLL   Lun 21 Nov 2016 - 1:36

Citation :
Bon j'ai tout repris a zero et j'ai eu droit a un nouveau message me demandant d'installer card.dll
Tiens ? C'est curieux... Mon programme ne l'utilise pas. J'avais fait des essais avec ça il y a quelques temps, mais j'ai abandonné. Il doit y avoir une vielle référence qui traine, et je vais traquer cela - ce n'est pas normal. Merci de l'avoir signalé.

Citation :
Ce qui est bizarre c'est lorsque je clique sur certaines cartes elle sont cachés avec le dos visible et d'autres où rien ne se passe. la carte ne se cache pas.
Oui, c'est normal. Si tu regardes dans un de mes posts précédents, tu verras que j'avais ajouté la possiblité de retourner une carte, et que j'en avais fait la démonstration sur toutes les cartes de Trèfle, pas les autres.

Citation :
De plus lorsque je clique sur les dos des cartes au milieu de l'écran elles indiques des as !?
Est ce normal ?
Là encore, c'est normal: je ne voulais donner que l'image de tous les dos de cartes possibles, et j'ai simplement choisi l'as de pique comme carte - seul le dos comptait.

Citation :
Sinon le ramassage et la distribution sont ultra rapide.
Merci ! Je pense que c'est le grand avantage de cette implémentation. J'ai expérimenté plusieurs systèmes d'affichage de cartes, et au-delà de la plus ou moins grande difficulté technique de la mise en oeuvre des différentes méthodes, celle-ci est de loin la plus performante, avec finalement un code Delphi minuscule par rapport aux autres, et qui surtout préserve sa vitesse à travers l'interface Panoramic.

Citation :
En attendant la suite...
J'ai commencé à travailer sur le glisser/déposer et sur la trace des opérations avec possibilité d'annulation, sans limitation de profondeur (sauf limitatiions techniques de l'ordinateur, bien sûr...). Je réalise aussi en ce momentune fonction puissante de génération d'un jeu de cartes par un seul appel, et non par une boucle en Panoramic comme dans ce programme de démo. Cela permettra de générer un jeu en une couleur quelconque ou dans les 4 couleurs mélangées, en indiquant la carte de début et la carte de fin. Ainsi, on pourra générer aisément un jeu de patience, un jeu de belote, un jeu de bonneteau etc, en une seule ligne. Tout ce qui va dans le sens de la somplification sera utile.

Merci de tes essais et appréciations ! Si tu as des suggestions pour la suite, n'hésite pas !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: Démonstration de CARDS.DLL   

Revenir en haut Aller en bas
 
Démonstration de CARDS.DLL
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 5Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
 Sujets similaires
-
» démonstration d'accordéon Roland sons bk7m
» Démonstration n°1 de TOONIC: un simple paysage
» Démos BK-7m
» ou d'ecouter les differents registres du fr18
» Explosif démo BK5 Roland

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: