IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

faire un puzzle en delphi ?


Sujet :

Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut faire un puzzle en delphi ?
    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 !!

  2. #2
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    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

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Vrai puzzle découpé ou quadrillage de petits rectangles ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    un vrai puzzle !! de plus on me demande de gerer la rotation des images ainsi que la detection du puzzle fini !!
    merci d'avance !!

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 859
    Points : 11 307
    Points
    11 307
    Billets dans le blog
    6
    Par défaut
    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 !

  6. #6
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 665
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 665
    Points : 6 977
    Points
    6 977
    Par défaut
    Citation Envoyé par kader78190
    un vrai puzzle !! de plus on me demande de gerer la rotation des images ainsi que la detection du puzzle fini !!
    merci d'avance !!
    Pas simple, pour un test d'embauche !!!

    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)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    Et puis tu peux te mettre à prier pour que les gars qui t'on proposé ce test ne scrutent pas le forum

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    merci pour les encouragements les gars !! lol !!

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    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 !!

  10. #10
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    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

  11. #11
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    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

  12. #12
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    ReRe,

    j'ai écrit :
    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.
    L'homothétie est une mauvaise solution pour des pièces biscornues. Il faut juste admettre qu'il n'y a superposition que si :
    - 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

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    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 !!

Discussions similaires

  1. Peut-on faire une API avec Delphi ?
    Par WebPac dans le forum API, COM et SDKs
    Réponses: 14
    Dernier message: 11/04/2023, 14h48
  2. Faire un tree dans delphi
    Par Morfus dans le forum Delphi
    Réponses: 16
    Dernier message: 02/04/2007, 16h31
  3. Comment faire un chronomètre en Delphi ou ASM ?
    Par PoOky dans le forum Langage
    Réponses: 8
    Dernier message: 15/06/2005, 20h49
  4. Problème unit CRT pour Faire du Pascal avec Delphi
    Par alexmorel dans le forum Débuter
    Réponses: 4
    Dernier message: 01/06/2004, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo