slt a tous !!
je dois dans le cadre d'une embauche faire un puzzle en delphi et je suis un peu perdu !!
quelqu'un peut il m'aider ??
merci d'avance !!
slt a tous !!
je dois dans le cadre d'une embauche faire un puzzle en delphi et je suis un peu perdu !!
quelqu'un peut il m'aider ??
merci d'avance !!
Donc, en gros, on te demande de savoir manipuler un TBitmap, qui sera ton image complête.
Et plusieurs autres qui seront des bouts de ton premier, découpés en morceaux carrés ou rectangulaires.
Il va falloir que tu te penches donc sur l'utilisation de leur propriété Canvas , qui possède une méthodes, pour copier une partie d'image dans une autre image.
Bidouilleuse Delphi
Bonjour,
Vrai puzzle découpé ou quadrillage de petits rectangles ?
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
un vrai puzzle !! de plus on me demande de gerer la rotation des images ainsi que la detection du puzzle fini !!
merci d'avance !!
c'est pour une embauche à très haut niveau, ou c'est juste pour te décourager ?
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
Pas simple, pour un test d'embauche !!!Envoyé par kader78190
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)
Et puis tu peux te mettre à prier pour que les gars qui t'on proposé ce test ne scrutent pas le forum
merci pour les encouragements les gars !! lol !!
tu sais je ne m'inquiete pas pour ça j'ai ete suffisement honete avec eux en leur disant bien que je n'etais pas un expert delphi !!et je pense que tous les moyens sont bons pour arrivé a faire cette apli ! le tout et de la faire !!
Bonjour,
En fait, le problème n'est pas tellement Delphi (quand on connait), mais il faut d'abord définir l'algorithme avant d'implémenter.
Je suggèrerai pour avoir des pièces qui se déplacent et qui tournent :
- de définir les pièces comme des polygones,
- de déterminer leur pseudo-centre gravité (calculé comme la moyenne des cood des points pondérés par la longueur des 2 cotés de par et d'autre du point)
- d'associer au sommet leur coordonnées polaires par rapport à ce centre de gravité.
- de mélanger les piéces en les disposant aléatoirement dans une grille avec une rotation aléatoire.
Ensuite, on doit pouvoir déplacer la pièce pour la poser sur la table, la faire tourner puis valider sa position.
C'est là que ca se corse : il faut soit interdire la superposition ou, de préférence, marquer les pièces qui se supperposent (par exemple par une croix rouge sur le centre de gravité de la pièce.
Pour determiner la superposition de 2 pièces A et B, on vérifiera que chacun des sommets de la pièce A n'est pas à l'intérieur de la pièce C (on peut trouver l'algorithme pour déterminer si un point est dans un polygone sur des posts du forums).
Comme il faut faire attention aux effets dues aux erreurs de précision, je recommanderai de calculer la superposition, non pas sur les coordonnées des sommets, mais sur une pièce homothétique (ce qui est facile avec les coordonées polaires) représentant 95% de la pièce initiale faux, voir post plus bas. Après tout, c'est comme si on forçait un peu.
Il faut aussi faire des corrections automatiques d'orientation et de position :
1) détecter si la pièce posé est bien orientée : si moins de 2 ou 3° d'écart par rapport à l'orientation de départ on réoriente (les ptits malins pourront se servir de cette fonctionnalité pour détecter l'orientation de la pièce .
2) ajuster les positions relatives des pièces voisines correctement jointes : Là c'est moins évident parce que les ajustements peuvent se propager ....
Si l'algo correspond au problème, il faudra éventuellement faire des posts plus spécifiques pour l'implémentation en Delphi des rotations et du déplacement d'une image au-dessus d'une autre avec une partie transparente.
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Rebonjour,
Si on affiche dès le départ dans le puzzle à réaliser les contours des pièces, c'est déjà beaucoup plus simple puisque la position de la pièce déplacée pourra être automatiquement être confondues avec la position réelle : donc, plus de problème d'ajustement des positions.
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
ReRe,
j'ai écrit :
L'homothétie est une mauvaise solution pour des pièces biscornues. Il faut juste admettre qu'il n'y a superposition que si :Comme il faut faire attention aux effets dues aux erreurs de précision, je recommanderai de calculer la superposition, non pas sur les coordonnées des sommets, mais sur une pièce homothétique (ce qui est facile avec les coordonées polaires) représentant 95% de la pièce initiale faux, voir post plus bas. Après tout, c'est comme si on forçait un peu.
- un des sommets Si de A est à l'intérieur de B,
- la distance de Si au contour de B est supérieure à une marge.
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
merci !!
je m'etais justement dirigé vers cette voie car comme tu me le fais remarquer c'est plus simple de travaillé avec des contours predefinie !!
je suis justement entrain de decoupé une image avec photoshop !!
et de realisé un calque avec les contours des pieces !!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager