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

Caml Discussion :

[Caml] Programmation de labyrinthes


Sujet :

Caml

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Caml] Programmation de labyrinthes
    Bonjour
    Nous sommes trois élèves de prépa math et nous cherchons dans le cadre des TIPE (exposés) à développer un programme en Caml permettant de créer un labyrinthe et son illustration graphique.

    Ensuite nous souhaitons exploiter les labyrinthes créés en décrivant les chemins menant à la sortie, et parmi eux, le chemin le plus court à prendre (et son tracé graphique sur le labyrinthe) par exemple, etc...

    Nous bloquons surtout pour la première partie, càd la création du programme pour obtenir un labyrinthe dans un fichier, et son graphique...

    Si qqn a des idées, de l'aide à nous apporter, des sites à nous conseiller (on a cherché mais en général il faut avoir déja créé un labyrinthe dans un fichier...).

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    pour générer un labyrinthe, il faut avoir :
    * les dimensions
    * une structure pour chaque cellule afin de modéliser les murs, pièges & cie

    ensuite, faut penser au format dans lequel le labyrinthe sera saugardé dans le fichier texte... et vous pourrez alors faire une initialisation rapide du labyrinthe

    pour ce qui est de l'export en graphique, souhaitez-vous créer une image ou juste afficher un graphique dans une fenêtre ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci d'avoir répondu!

    Alors en ce qui concerne le format de sauvegarde c'est justement là que ça commence à pècher pour nous.

    On n'arrive pas à créer la fonction
    lab a b
    qui donne un labyrinthe de dimensions a*b (aléatoire)
    Des tuyaux?


    Ensuite, soit Laby1 un labyrinthe ainsi obtenu, on ne sait pas comment le sauvegarder, par contre oui, on souhaite pouvoir le mettre sur une feuille à part en graphique (enfin toujours sur Caml). Car aprés on veut pouvoir exploiter Laby1 (tracer des chemins dessus etc), donc on sait pas du tout comment enregistrer un labyrinthe en fait.

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    as-tu déjà défini ton "type" labyrinthe ?

    OCaml ou caml_light ?
    perso, j'étais passé à OCaml à mon époque
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    On utilise Calm_light.

    Pour le type du labyrinthe on va prendre un tableaux de tableaux, qui contient des couples de booléens.
    On voudrait:

    lab a b: int -> int -> bool*bool vect vect

    A chaque élément de la grille (vect vect) on associe une case du labyrinthe, définie par un couple de booléens notés T ou F

    T: true: le mur est ouvert
    F: false: le mur est fermé

    Le premier élément du couple défini le mur de droite de la case
    Le second, le mur du bas.

    (une case est entourée de 4 murs ouverts ou fermés)
    Ainsi on néglige les bordures gauche et hautes du labyrinthe.

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Ton problème est un problème d'algorithme, pas d'ocaml.
    Car le résultat sera certainement implémentable dans la majorité des langages -_-

  7. #7
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    Ton problème est un problème d'algorithme, pas d'ocaml.
    Car le résultat sera certainement implémentable dans la majorité des langages -_-
    +1... pour infos, c'est un projet "standard" qu'on donne aux élèves dans mon école :

    coder en C un algo pour trouver un chemin dans un labyrinthe (1ère année)
    coder en C++ un algo génétique pour trouver le plus court chemin dans un labyrinthe (2nde année)
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  8. #8
    alex_pi
    Invité(e)
    Par défaut
    Je vais faire mon rabat joie habituel, mais TIPE signifie "travaux d'initiative personnelle encadrée", ce qui signifie que
    1. Il y a du travail
    2. celui ci est personnel
    3. nécessite de l'initiative ("j'ai pris l'initiative de demander sur un forum" ne me semble pas une bonne réponse)
    4. est encadré par un enseignant

    Bref, trouver par toi même quel format de données peut être adapté à ton problème, comment le mettre en place, etc fait justement partie du TIPE d'informatique. Tu devrais donc te creuser un peu plus la tête avant de venir ici, et ne garder les fora qu'en cas de problème spécifique (pas "comment je peux faire mon TIPE", mais "En faisant mon TIPE, je me suis rendu compte qu'en modifiant une ligne de ma matrice, ça modifie toutes les autres, comment ça se fait ?")

    Bon courage

Discussions similaires

  1. creer un executable d'un programme caml
    Par neo666 dans le forum Caml
    Réponses: 9
    Dernier message: 19/07/2008, 18h41
  2. Réponses: 2
    Dernier message: 10/03/2008, 00h02
  3. Enseignement de Programmation avec Objective Caml
    Par DavidDeharbe dans le forum Caml
    Réponses: 19
    Dernier message: 08/06/2007, 18h38
  4. Programme pour créer une partition en Caml
    Par Fluffy dans le forum Caml
    Réponses: 9
    Dernier message: 12/05/2007, 15h39
  5. programmation en caml light
    Par sicav dans le forum Caml
    Réponses: 36
    Dernier message: 20/04/2007, 22h27

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