home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 108.lha / Labyrinthe.doc < prev    next >
Text File  |  1988-03-02  |  3KB  |  84 lines

  1. /************************************************************************
  2. **************************************************************************
  3. **                                                                      **
  4. **  Labyrinthe.doc                                                      **
  5. **  --------------                                                      **
  6. **                                                                      **
  7. **  Auteur : Eric Le Saux                                               **
  8. **                                                                      **
  9. **           Club Amiga Montreal (CAM)                                  **
  10. **           C.P. 195 STATION "N"                                       **
  11. **           Montreal (Quebec)                                          **
  12. **           H2X 3M2, CANADA                                            **
  13. **                                                                      **
  14. **  Date   : 7 mars 1988                                                **
  15. **                                                                      **
  16. **  Statut : DOMAINE PUBLIC - Distribution non-commerciale seulement    **
  17. **           PUBLIC DOMAIN  - Freely redistributable                    **
  18. **                                                                      **
  19. **************************************************************************
  20.  ************************************************************************/
  21.  
  22.     Objectif
  23.     --------
  24.  
  25.     Generer des labyrinthes possedant la propriete suivante : entre
  26.     deux points quelconques du labyrinthe, il existe toujours un seul et
  27.     unique chemin (pensez-y bien, ca a de nombreux corollaires).
  28.  
  29.  
  30.     Methode de generation
  31.     ---------------------
  32.  
  33.     Le labyrinthe est genere recursivement par la fonction Laby ().
  34.  
  35.     Le principe est le suivant : soit une surface a transformer en
  36.     labyrinthe.  Si on peut la diviser en quatre, on envoie chacune des
  37.     sous-partie subir le meme traitement, sinon on trace un corridor.
  38.     Une fois les quatre sous-parties generees, on les relient par trois
  39.     passages, places au hasard.
  40.  
  41.     Est-ce assez simple ?
  42.  
  43.  
  44.     Utilisation
  45.     -----------
  46.  
  47.     Le programme n'accepte aucun argument.  Ce qui justifie l'elimination
  48.     des fonctions _cli_parse() et _wb_parse().
  49.  
  50.     Une fenetre va s'ouvrir sur le Workbench.  Elle propose 4 resolutions
  51.     et 2 actions.
  52.  
  53.     Le bouton de menus sert a mettre le labyrinthe en premier plan et a
  54.     faire apparaitre/disparaitre la barre de l'ecran.
  55.  
  56.     En 320x200, il y a 16000 'carrefours',
  57.        320x400 et 640x200 il y en a 32000 et en
  58.            640x400, il y en a 64000.
  59.  
  60.  
  61.     Compilation
  62.     -----------
  63.  
  64.     Ce programme a ete compile avec Manx 3.4a.
  65.     1> cc Labyrinthe.c
  66.     1> ln Labyrinthe.o -lc
  67.  
  68.     Pour que le programme fonctionne correctement, il faut faire la
  69.     correction suivante dans le fichier <exec/types.h> :
  70.  
  71.     #define TRUE 1       et non    #define TRUE 1L
  72.     #define FALSE 0      et non    #define FALSE 0L
  73.  
  74.     Explication : le type BOOL est un short.  Quand on passe comme
  75.     parametre a une fonction la constante de type LONG, elle prend 32 bits
  76.     sur le stack au lieu de 16.  Maintenant, si vous appelez une fonction du
  77.     systeme sans l'option de compilation +L, vous devrez convertir vos
  78.     arguments en LONG.
  79.  
  80.     Si ce n'est pas tres clair, vous pouvez toujours poser des questions
  81.     a l'auteur au cours des reunions du Club Amiga Montreal.
  82.  
  83.  
  84.