amaze − interface graphique pour générer et imprimer des labyrinthes
amaze
[−x colonnes] [−y
rangées] [−wall
largeur-de-mur] [−path
largeur-de-voie] [−stay taux]
[−cuts taux] [−s]
[−creep ms] [−option
... ]
Les
paramètres, tels que les couleurs, peuvent être
modifiés dans l’interface. Pour savoir
où ils sont enregistrés entre les sessions,
utilisez: amaze −init
Pour restaurer tous les paramètres par défaut,
et d’ignorer les paramètres enregistrés,
utilisez l’option −no−restore.
amaze est une application graphique pour générer et imprimer des labyrinthes simples. Les propriétés de labyrinthe (dimensions et aspects) peuvent être définies dans l’interface graphique, ou prédéfinis en utilisant des arguments de ligne de commande.
Terminologie
Nous disons un labyrinthe constitué d’un
réseau de tuiles, et un ensemble de
murs entre les tuiles. Entre deux tuiles voisines il
y peut avoir un mur; si il n’y en a pas, alors les
deux tuiles sont dits être connectées.
Lorsqu’une tuile A est connectée à la
tuile B et B à C, alors A et C sont également
connectées (via B). Nous appelons la séquence
de tuiles ABC une voie de A à C. Chaque
labyrinthe a une tuile de départ et une tuile de
destination; le chemin entre ces deux tuiles, est
appelé la voie de solution du labyrinthe (il ne peut
y avoir qu’une telle voie). La joie et le défi
d’un labyrinthe, traditionnellement, est de trouver la
voie de solution à travers le labyrinthe.
Actions
L’interface montre un ensemble de contrôles de
labyrinthe et un seul labyrinthe. Le labyrinthe est
généré aléatoirement à
chaque fois que les dimensions du labyrinthe se changent
(voyez les contrôles "Largeur" et
"Hauteur"), et chaque fois que vous
sélectionnez l’élément de menu
Fichier > Nouveau. Avec
Modifier > Afficher voie, vous
pouvez choisir d’afficher ou non la voie de solution
(la «traînée de chapelure", si vous
voulez) à travers le labyrinthe sur
l’écran ou non. Chaque fois que vous le choyez,
le mode d’affichage de chemin alterne entre stable et
d’animation («rampante» à travers
le labyrinthe). Voyez aussi l’option
−creep. Lorsque vous imprimez le labyrinthe (en
utilisant fichier > Imprime ...)
deux pages sont produites: d’abord le labyrinthe sans
la voie de solution indiquée, puis le labyrinthe avec
une ligne en pointillés pour montrer la voie de
solution.
Contour
Vous pouvez utiliser une image de contour (aussi
«masque») pour définir la forme du
labyrinthe. Par défaut, le labyrinthe va remplir
toute le réseau rectangulaire de tuiles disponibles.
Un masque se composent d’une image, et une couleur
"morte". Actuellement, la couleur morte est celle
de la (0,0) pixel de l’image. Tous les pixels dans le
masque de cette couleur s’appellent pixel mort.
Lorsque vous définissez un masque, elle est
étirée pour couvrir ce rectangle, puis toutes
les tuiles dont le pixel a la position milieu correspond
à un pixel mort dans le masque sont exclus du
labyrinthe. Donc, si l’image de masque est une image
d’un chat sur un fond blanc (monochrome!), le
labyrinthe aura la forme d’un chat. Vous pouvez
définir l’image de contour en utilisant
Fichier > Ouvre contour, ou tout
simplement faire glisser une image (doit être un
fichier local) sur la toile.
Remarque
En interne, le labyrinthe est représenté comme
un ensemble de cellules. Pour les tuiles en forme de
triangle, une tuile est égale à une cellule;
pour les tuiles en forme hexagonale, chaque carreau a deux
cellules de hauteur; pour octogone, une ou trois. Quelques
notes dans la documentation peuvent être difficile de
comprendre si on n’est pas au courant de cette
distinction.
La version de amaze qui fonctionne sur MS Windows, exécute une application graphique pur, sans une fenêtre de console associée. Cela implique qu’il n’y a pas le "sortie standard", donc, si vous voulez le résultat de par exemple −init, vous devez utiliser l’option −out fichier y précédent sur la ligne de commande.
−x colonnes
spécifie le nombre de colonnes de tuiles dans le labyrinthe. Vous le pouvez ensuite modifier dans l’interface en utilisant la boîte de spin "Largeur" ou le curseur.
-y rangées
spécifie le nombre de rangées de tuiles dans la grille de labyrinthe. Vous le pouvez ensuite modifier dans l’interface en utilisant la boîte de spin "Hauteur" ou le curseur.
−p/−path pixels
définit la largeur, en pixels, de la voie de solution à travers le labyrinthe, lorsqu’il est affiché dans l’interface graphique (voyez option −s). Vous la pouvez ensuite modifier dans l’interface en utilisant la boîte de spin "Voie" ou le curseur. Si la zone d’affichage est trop faible, le trajet peut être tirée plus étroite que ce produit.
−wall pixels
définit la largeur, en pixels, des murs dans le labyrinthe. Vous la pouvez ensuite modifier dans l’interface en utilisant la boîte de spin "Mur" ou le curseur. Si la zone d’affichage est trop faible, les murs peuvent être peints plus étroites.
−stay facteur
détermine combien de temps chaque étape dans le labyrinthe tente de rester dans la même direction. Mis à 1, la direction est entièrement aléatoire à chaque tuile; mis à N, la chance est de 1 sur N d’être aléatoire. Notez que les labyrinthes entièrement aléatoires ont tendance à avoir une voie de solution relativement longue.
−cuts taux
va essayer d’ajouter le nombre donné de coupes transversales supplémentaires entre les cellules adjacentes non pas sur la voie de solution. Zéro coupes signifie le labyrinthe ne contiendra pas de boucles dans les chemins, et non-zéro implique que certains murs ne peuvent pas être attachés à le mur extérieur. Ce taux est une limite supérieure, le labyrinthe peut se retrouver avec moins de coupes.
−tile forme
la forme des tuiles: triangle, square (carré), hexagon (hexagone) or octagon (octogone).
−mask fichier
va utiliser l’image dans le fichier pour masquer une partie du réseau, en utilisant la couleur du pixel(0,0) comme la couleur transparente. Donc, si vous avez une image de quelque chose sur un fond monochrome, vous obtenez un labyrinthe dans la même forme. Les cas spéciaux pour le fichier sont «[total]» (pas de masque), «[round]» (ronde; de forme circulaire intégré), et «[heart]» (coeur; pour la Saint Valentin). Si vous devez vraiment utiliser un fichier avec un nom commençant par "[", préfixez-le par «[image]».
−path-color couleur
définit la couleur de la voie de solution. Pour une discussion détaillée des noms de formats de couleurs, voyez: http://doc.qt.nokia.com/4.7/qcolor.html#setNamedColor. Exemples: "steelblue", "#112233".
−tile-color couleur
sets the tile color. Cf. option −path-color.
−text-color couleur
sets the message text color. Cf. option −path-color.
−text texte
définit le texte du message. Ce texte sera enfilées le long de la voie de la solution (une lettre par tuile, avec un espacement aléatoire), de sorte que trouver la solution vous permettra également de lire le message de retour.
−wall-color couleur
définit la couleur du mur du labyrinthe. Cf. l’option −tile-color.
−s |
montre la voie de solution comme une ligne pointillée dans le labyrinthe sur l’écran. |
−cover 0-100
détermine quel pourcentage de la voie apparaît tout au plus pendant l’animation de la voie de solution. La voie commence à se développer à partir du point de départ, en ajoutant l’incrément à chaque étape (voyez l’option −steps). Une fois que ce pourcentage est touché, la queue commence à se rétracter vers le point de destination.
−creep ms
spécifie l’intervalle (en millisecondes) entre les étapes d’animation de voie. Si la valeur est zéro, la voie est non animé du tout.
−steps étapes
animera la voie pour passer de départ à l’arrivée dans cette nombre d’étapes. L’augmentation effective par étape sera au moins une cellule.
−out chemin
redirige la sortie normale standard à le fichier donné. Sur MS Windows, vous en aurez besoin pour obtenir le sortie de par exemple −help ou −init.
−err chemin
redirige la sortie d’erreur standard pour le fichier donné. Sur MS Windows, vous en aurez besoin pour obtenir les messages d’erreur hors de l’interface graphique.
−std chemin
redirige aussi bien la sortie standard que la sortie d’erreur dans le fichier donné. Utiliser −out et −err avec le même fichier est mal, il va provoquer un à écraser l’autre.
−locale locale
sélectionne explicitement une localisation des textes. Actuellement (partiellement) en charge sont: "da", "de", "en_GB", "en_US", "eo", "es", "fr" (Français), "nl", et "zh_CN".
−mini |
déshabille l’interface pour tenir sur un écran plus petit. Avec cela, vous pouvez utiliser amaze efficace jusqu’à environ 320×200 pixels. |
−do-splash
montre un écran d’accueil au démarrage.
−no-splash
ne montre pas un écran de démarrage lors du démarrage.
−no-restore
ignore les paramètres enregistrés, revenir aux valeurs par défaut intégrées.
−no-retain
supprime enregistrer les modifications apportées aux paramètres enregistrés.
−init |
écrit le chemin du fichier où les paramètres sont enregistrés. |
Qt Options
Communes
(Seulement dans la version Anglaise.)
X11 Options
Communes
(Seulement dans la version Anglaise.)
Amaze renvoie non-nulle uniquement sur des erreurs internes fatales ou des paramètres de ligne de commande non valides.
Erreurs de paramètres de ligne de commande sont signalés à la sortie d’erreur standard. Problèmes de l’utilisateur tout en utilisant l’interface graphique sont normalement affichés dans les fenêtres de dialogue modales localisées.
Pas de variables d’environnement sont utilisés pour configurer la partie de l’application de ce programme. Les bibliothèques liées (pour Qt et X11 sous Linux) peuvent avoir des dépendances des variables d’environnement.
S’il vous plaît noter que les fichier-chemins donnés ici sont pour Ubuntu, et peuvent être différentes sur d’autres plates-formes.
/usr/share/amaze/*.qm
− les fichiers de localisation de Qt
/usr/share/applications/amaze.desktop
/usr/share/app-install/desktop/amaze.desktop
− le menu de bureau
/usr/share/doc/amaze/*
− droit d’auteur etc.
/usr/share/icons/hicolor/*x*/apps/amaze.png
− icône du bureau et du menu d’application
/usr/share/man/man1/amaze.1.gz
− cette page manuel
/usr/bin/amaze
− l’executable
$HOME/.config/Morgul/amaze.conf
− les paramètres enregistrés entre les sessions de cet utilisateur
http://qtamaze.sourceforge.net/version.html
− où le chèque de mise à jour ressemble pour la version actuelle et le numéro d’édition courant
Voyez option −init pour le fichier, spécifique au système et utilisateur, ou s’enregistrent les paramètres entre les sessions.
Celle-ci est la troisième version, 1.2. (La première version, 1.0, maintenant est obsolète.) C’est disponible à http://qtamaze.sourceforge.net comme source (via CVS), comme un paquet Ubuntu/Debian, et comme un fichier Windows XP MSI.
Amaze essaie de suivre les directives pour les interfaces graphiques Qt et les échantillons dans la documentation de Qt 4.5-4.7, les directives Gnome pour le fichier ".desktop", et les recommandations WiX pour l’installateur MSI.
La génération de labyrinthes est pas exactement un sujet nouveau ou défi en lui-même, mais assez amusant à utiliser que le sujet d’un projet pour moi.
Pour plus de détails sur des questions ouvertes et des changements en cours, visitez le dossier de projet à http://qtamaze.sourceforge.net/, ou récupérez les sources CVS par là et regardez le fichier amaze/TODO.
Reste
à faire
(Seulement dans la version Anglaise.)
Localisation
(Seulement dans la version Anglaise.)
Formats de
sortie
(Seulement dans la version Anglaise.)
Configuration
(Seulement dans la version Anglaise.)
(Seulement dans la version Anglaise.)
amaze −no−splash −s
tinco chez SourceForge
xlaby(1).