Téléchargé 6 fois
Vote des utilisateurs
3
0
Détails
Licence : Non renseignée
Mise en ligne le 12 août 2021
Plate-forme :
Windows
Langue : Français
Référencé dans
Navigation
Jeu de taquin
Jeu de taquin
Coder un jeu de Taquin en utilisant le nouveau composant TControlList.
Trois versions disponibles : 10.2, 10.3.3 et 10.4.2.
Trois versions disponibles : 10.2, 10.3.3 et 10.4.2.
Nos ressources disponibles
Bon d'accord, je vais tâcher de trouver ou copier une image de poisson pour rester dans le thème
Taquine (les sources sont déjà dans le dépôt Git)
Si le temps ne manque pas j'ai prévu de le présenter aussi (avec les dames et l'échiquier même technique) mais le questionnement de Charly m'intéresse aussi, histoire de faire une comparaison.
Taquine (les sources sont déjà dans le dépôt Git)
Si le temps ne manque pas j'ai prévu de le présenter aussi (avec les dames et l'échiquier même technique) mais le questionnement de Charly m'intéresse aussi, histoire de faire une comparaison.
Bonjour,
après plusieurs mois de pause forcée, je vois le code du jeu de taquin et me dit que c'est une bonne occasion
de m'y remettre
La conversion pour D7 c'est faite sans soucis le hic est sur l'affichage avec une erreur abstraite qui se produisait qu'avec D7 !!
dans la procedure TMainForm.MoveMorceau(morceau: word);
à l'appel de DrawScrollBox // à la ligne 255
De longues séances de debug n'ont pas aidées à le débusquer !!!
J'ai "dégraissé" le code pour trouver le problème ... j'ai supprimé les TFrames pensant, à tord, que ça venait de là.
si vous souhaitez voir ou tenter votre chance, sous D7, il suffit de mettre la ligne 254 en commentaire
et d'activer la ligne 255.
Le problème se contourne facilement en déclenchant l'appel à DrawScrollBox
à l'extérieur de la procedure TMainForm.MoveMorceau(morceau: word);
avec un Timer à 40 ms qui ne gêne en rien le joueur.
J'ai également ajouté un mélange des pièces qui assure
la faisabilité du puzzle .
Les images png sont directement chargées dans un Bitmap grâce à une version modifié de l'unité Execute.GDIPBitmap.pas
de Paul Toth que je fournis dans le zip
Pour voir comment j'ai converti les types génériques en langage D7 et autres petites choses
il faudra regarder le code
PS: le code compile de D7 à D10.3
et il est même possible de le compiler avec D6
Cordialement,
@+
après plusieurs mois de pause forcée, je vois le code du jeu de taquin et me dit que c'est une bonne occasion
de m'y remettre
La conversion pour D7 c'est faite sans soucis le hic est sur l'affichage avec une erreur abstraite qui se produisait qu'avec D7 !!
dans la procedure TMainForm.MoveMorceau(morceau: word);
à l'appel de DrawScrollBox // à la ligne 255
De longues séances de debug n'ont pas aidées à le débusquer !!!
J'ai "dégraissé" le code pour trouver le problème ... j'ai supprimé les TFrames pensant, à tord, que ça venait de là.
si vous souhaitez voir ou tenter votre chance, sous D7, il suffit de mettre la ligne 254 en commentaire
et d'activer la ligne 255.
Le problème se contourne facilement en déclenchant l'appel à DrawScrollBox
à l'extérieur de la procedure TMainForm.MoveMorceau(morceau: word);
avec un Timer à 40 ms qui ne gêne en rien le joueur.
J'ai également ajouté un mélange des pièces qui assure
la faisabilité du puzzle .
Les images png sont directement chargées dans un Bitmap grâce à une version modifié de l'unité Execute.GDIPBitmap.pas
de Paul Toth que je fournis dans le zip
Pour voir comment j'ai converti les types génériques en langage D7 et autres petites choses
il faudra regarder le code
PS: le code compile de D7 à D10.3
et il est même possible de le compiler avec D6
Cordialement,
@+
Merci Serge,
je comprends que l'objectif est de tester le nouveau composant TControlList, mais malheureusement il n'existe pas dans mon D10.3.3 CE !
(Ainsi que TVirtualImage et TNumberBox).
Penses tu que l'on peut faire quelque chose de similaire avec D10.3.3 ?
A+
Charly
je comprends que l'objectif est de tester le nouveau composant TControlList, mais malheureusement il n'existe pas dans mon D10.3.3 CE !
(Ainsi que TVirtualImage et TNumberBox).
Penses tu que l'on peut faire quelque chose de similaire avec D10.3.3 ?
A+
Charly
Bonjour
Oui, mais pas de la même manière.
Il faudrait que j'y réfléchisse. De but en blanc, un scrollbox et des frames pour la partie dessin, (voir mon billet documentaire) pour la partie "dessin", pour la partie déplacement, ce serait le helper qui serait à modifier.
[EDIT]
Pour ce qui est de VirtualImage c'était une façon de stocker plusieurs images, mais elles pourraient très bien être en ressource.
Décidément j'ai écrit n'importe quoi
VirtualImage ce n'est pas ce composant qui stocke les images mais le TImageCollection.
Donc, il faut que je revoie mes idées. J'avais commencer un truc avec les ressources, qui s'avère inutile, d'autant plus que c'est galère à découper !
[/EDIT]
Quant au numberbox, je l'ai utilisé car, il est nettement mieux (plus réactif au LiveBinding) que SpinEdit.
Donc, AMHA, c'est jouable, seule la partie helper (pour connaitre les indexs) est un peu plus problématique, et en faisant en sorte de faire comme le TcontrolList le redessin de tout le contenu à chaque fois. Challenge intéressant
Oui, mais pas de la même manière.
Il faudrait que j'y réfléchisse. De but en blanc, un scrollbox et des frames pour la partie dessin, (voir mon billet documentaire) pour la partie "dessin", pour la partie déplacement, ce serait le helper qui serait à modifier.
[EDIT]
Décidément j'ai écrit n'importe quoi
VirtualImage ce n'est pas ce composant qui stocke les images mais le TImageCollection.
Donc, il faut que je revoie mes idées. J'avais commencer un truc avec les ressources, qui s'avère inutile, d'autant plus que c'est galère à découper !
[/EDIT]
Quant au numberbox, je l'ai utilisé car, il est nettement mieux (plus réactif au LiveBinding) que SpinEdit.
Donc, AMHA, c'est jouable, seule la partie helper (pour connaitre les indexs) est un peu plus problématique, et en faisant en sorte de faire comme le TcontrolList le redessin de tout le contenu à chaque fois. Challenge intéressant
Faire un taquin avec le TControlList est-il une porte ouverte pour te faire taquiner jeudi ?
Bonjour,
Pour répondre @charly910
- le TControList est remplaçable par un TScrollBox
- au sujet du TVirtualImage, le remplacer par un TImage et pour le chargement utiliser le code
- Le TNumberEdit est a remplacer , tout simplement, par un TSpinEdit
- Le Helper sera remplacé par un TFrame
Et voilà le résultat à tester sur des versions supportant TImageCollection. conc 10.3
Source dégrossi mais non optimum, à vérifier qu'il n'y manque rien et qu'une version Community le supporte , à toi (ou d'autres) de tester et me dire s'il manque des choses
Pour répondre @charly910
- le TControList est remplaçable par un TScrollBox
- au sujet du TVirtualImage, le remplacer par un TImage et pour le chargement utiliser le code
Code : | Sélectionner tout |
Image1.Picture.Bitmap:=ImagesPleines.GetBitmap(SpinEdit1.Value, 400, 400);
- Le Helper sera remplacé par un TFrame
Et voilà le résultat à tester sur des versions supportant TImageCollection. conc 10.3
Source dégrossi mais non optimum, à vérifier qu'il n'y manque rien et qu'une version Community le supporte , à toi (ou d'autres) de tester et me dire s'il manque des choses
Merci Serge
ça compile bien sous D10.3.3 CE et ça fonctionne.
Petit Pb avec 9 et 16 pièces : le damier ne s'affiche pas bien (il manque des morceaux ) et la souris ne fonctionne pas. Je vais essayer de regarder pourquoi
A+
Charly
ça compile bien sous D10.3.3 CE et ça fonctionne.
Petit Pb avec 9 et 16 pièces : le damier ne s'affiche pas bien (il manque des morceaux ) et la souris ne fonctionne pas. Je vais essayer de regarder pourquoi
A+
Charly
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.