amaze − GUI om doolhoven te genereren en af te drukken
amaze
[−x kolommen] [−y
rijen] [−wall muurbreedte]
[−path padbreedte] [−stay
aantal] [−cuts aantal]
[−s] [−creep ms]
[−optie
... ]
De
instellingen, zoals de kleuren, kunnen via de GUI gewijzigd
worden. Om te weten waar ze tussentijds bewaard worden, zeg:
amaze −init
Om alle standaardinstellingen te herstellen, en de bewaarde
instellingen te negeren, gebruikt u de
−no−restore optie.
amaze is een grafische toepassing om eenvoudige doolhoven te genereren en af te drukken. De doolhof-kenmerken (omvang en uitzien) kunnen via de GUI gekozen worden, of vooraf bepaald via tekstopdracht-argumenten.
Termen
Een doolhof bestaat voor ons uit tegels, en een
verzameling muren tussen die tegels. Tussen elk paar
buurtegels bevindt zich wel of niet een muur; zo niet, dan
zijn de tegels verbonden. Als tegel A met tegel B
verbonden is, en B met C, dan zijn A en B ook verbonden
(indirekt, via B). De opeenvolging A-B-C van tegels heet een
pad van A naar C. Elk doolhof heeft een
vertrek-tegel en een aankomst-tegel; het pad
hiertussen heet het spoor door het doolhof (daarvan
kan er slechts één zijn). De uitdaging en de
lol van doolhoven zijn, van oudsher, om het spoor als pad
door een doolhof te vinden.
Akties
Het schakelvlak toont een serie doolhof-instellingen en een
enkel doolhof. Dit doolhof wordt willekeurig gebouwd, elke
keer dat de doolhof-omvang verandert (zie de
"Hoogte" en "Breedte" instellingen), en
steeds wanneer u het Bestand > Nieuw
menupunt kiest. Met de
Zicht > Toon spoor wissel kiest u
of het spoor (het "spoor van broodkruimels",
zogezegd) in het doolhof wel of niet op het scherm getoond
moet worden. Elke keer dat u vertoning inschakelt, wisselt
de manier van tonen tussen kompleet stilbeeld en bewegen
("kruipend" door het doolhof). Zie tevens de optie
−creep. Wanneer u een doolhof afdrukt (met
Bestand > Druk af...) levert dit
twee pagina’s op: eerst het doolhof zonder spoor, en
dan het doolhof met een stippellijn om het spoor aan te
geven.
Omtrek
U kunt een omtrek-beeld (ook wel bekend als
"masker") opgeven op de vorm van het doolhof te
bepalen. Bij verstek zal het doolhof de hele rechthoek van
beschikbare tegels volledig bedekken. Een masker bestaat uit
een beeld, en een "dode" kleur. Thans is de dode
kleur altijd die van het (0,0) punt van het beeld. Ieder
beeldpunt met dezelfde kleur wordt als dood gezien. Wanneer
u een masker aangeeft, wordt het over de rechthoek
gespannen, waarna alle tegels, van welke het middelste
beeldpunt overeenkomt met een dood beeldpunt in het masker,
van het doolhof uitgesloten worden. Dus als het maskerbeeld
een afbeelding is van kat op een (egaal) witte achtergrond,
dan zal het doolhof ook zo’n kat-vorm hebben. U kunt
het omtrekbeeld instellen met
Bestand > Open omtrek, of gewoon
een beeld (moet een plaatselijk bestand zijn) het
doolhofgebied op slepen.
Opmerking
Intern wordt het doolhof weergegeven als een raster van
cellen. Voor vierkante en driehoekige tegelvormen
staat één tegel gelijk aan één
cel; voor zeshoekige tegels, aan twee cellen; voor
achthoekige, één of drie. Sommige
kanttekeningen in de dokumentatie kunnen onduidelijk zijn
als u zich niet van dit onderscheid bewust bent.
De versie van amaze die op Windows loopt, werkt als pure GUI-toepassing, zonder terminalvenster. Dit houdt in dat er geen sprake is van "standaard uitvoer", dus als u bijvoorbeeld het resultaat van −init wilt zien, moet deze door de −out bestand optie in de tekst- opdrachtregel voorafgegaan worden.
−x kolommen
bepaalt het aantal tegelkolommen het doolhof-raster. U kunt dit later in de GUI bijwerken met de "Breedte"-teller of -schuif.
−y rijen
bepaalt het aantal tegelrijen het doolhof-raster. U kunt dit later in de GUI bijwerken met de "Hoogte"-teller of -schuif.
−p/−path beeldpunten
bepaalt de breedte, in beeldpunten, van het spoor door het doolhof, wanneer dat in de GUI getoond wordt (zie optie −s). U kunt dit later in de GUI bijstellen met de "Pad"-teller of -schuif. Als het venstervlak te klein is, kan het spoor smaller getekend worden.
−wall beeldpunten
bepaalt de breedte, in beeldpunten, van de muren in het doolhof. U kunt dit later in de GUI bijstellen met de "Muur"-teller of -schuif. Als het venstervlak te klein is, kunnen de muren smaller getekend worden.
−stay faktor
bepaalt hoe lang elke stap in het doolhof probeert in dezelfde richting te volharden. Op 1 gezet zal de richting bij elke tegel volkomen willekeurig zijn; on N gezet, is de kans of willekeur 1 op N. Volledig willekeurig lopende doolhoven hebben vaak een betrekkelijk lang spoor.
−cuts aantal
zal trachten het opgegeven aantal afsnijdingen tussen buurtegels te maken, terzijde van het spoor. Nul als aantal houdt in dat het doolhof geen lussen in paden zal hebben, een positief aantal betekent dat sommige muren niet met de buitenmuur verbonden zullen zijn. Het aantal hier is een bovengrens, en kan in het doolhof lager uitvallen.
−tile vorm
vorm van de doolhoftegels: triangle (driehoek), square (vierkant), hexagon (zeshoek) of octagon (achthoek).
−mask bestand
zal het beeld in het bestand gebruiken om een deel van het tegelraster te verdekken, met de kleur van pixel (0,0) als dode kleur. Zodoende zal een beeld van een vorm op een egale achtergrond resulteren in een doolhof in diezelfde vorm. Uitzonderlijke waarden voor bestand zijn "[total]" (geen masker), "[round]" (ingebouwde ronde vorm), en "[heart]" (voor Valentijnsdag). Als u per sé een bestandsnaam moet gebruiken die met "[" begint, plak er dan "[image]" voor.
−path-color kleur
bepaalt de spoorkleur. Voor een uitvoerige beschrijving van kleurnaamvormen, zie http://doc.qt.nokia.com/4.7/- qcolor.html#setNamedColor. Voorbeelden: "steelblue", "#112233".
−tile-color kleur
bepaalt de tegelkleur. Vergelijk optie −path-color.
−text-color kleur
bepaalt de boodschaptekstkleur. Vergelijk optie −path-color.
−text tekst
bepaalt de tekst van de boodschap. Deze boodschap zal langs het spoor geschreven worden (één letter per tegel, met willekeurige tussenafstand), zodat het vinden van de oplossing tegelijk het teruglezen van de boodschap mogelijk maakt.
−wall-color kleur
bepaalt de doolhofmuurkleur. Vergelijk optie −tile-color.
−do-show
−s |
toont het spoor als een stippellijn in het doolhof in de GUI. |
−cover 0-100
bepaalt welk percentage van het spoor ten hoogste tijdens het kruipen getoond wordt. Het spoor groeit vanaf het vertrekpunt, met een gegeven stapgrootte (zie optie −steps). Zodra dit percentage bereikt is, begint de staart met dezelfde snelheid richting aankomst te krimpen.
−creep ms
bepaalt de pauze (in millisekonden) tussen de schreden van een bewegend spoor. Als de waarde nul is, staat het spoor stil.
−steps aantal
zal het spoor in dit aantal stappen van vertrek tot aankomst laten kruipen. De effektieve stapgrootte zal minstens één cel bedragen.
−out bestand
leidt de standaard uitvoer om naar het gegeven bestand. Op MS Windows zult u dit nodig hebben om enige uitvoer van bijvoorbeeld −help of −init te krijgen.
−err bestand
leidt de standaard fout-uitvoer om naar het gegeven bestand. Op MS Windows zult u dit nodig hebben om niet-GUI foutmeldingen te zien.
−std bestand
leidt zowel de standaard normaal- als fout-uitvoer om naar het gegeven bestand. Het is niet juist om tegelijkertijd −out en −err met hetzelfde bestand te gebruiken, dat zou het ene met het andere overschrijven.
−locale taal
kies uitdrukkelijk een vertolking. Thans zijn(gedeeltelijk) beschikbaar: "da", "de", "en_GB", "en_US", "eo", "es", "fr", "nl" (= Nederlands), en "zh_CN".
−mini |
beperkt de UI om op een kleiner beeldscherm te passen. Hiermee kunt u amaze effektief tot op zo’n 320×200 beeldpunten gebruiken. |
−do-splash
toont een welkomstbeeld tijdens de start.
−no-splash
toont geen welkomstbeeld tijdens de start.
−no-restore
negeert bewaarde instellingen, en volgt de oer-instellingen.
−no-retain
slaat het bewaren van bijgewerkte instellingen over.
−init |
drukt het pad af van het bestand waar the instellingen bewaart worden. |
Qt Algemene
Opties
Deze stammen uit de gebruikte Qt 4.7 widget-biblioteken.
−style=stijl
−style stijl
bepaalt de GUI-stijl. Mogelijke waardes zijn motif, windows, en platinum.
−stylesheet=stijlblad
−stylesheet stijlblad
bepaalt het stijlblad. De waarde moet het pad zijn van een bestand dat het stijlblad bevat. Bemerk: relatieve URL’s in het stijlblad-bestand zijn relatief t.o.v. het pad van het stijlbladbestand.
−session=sessie
−session sessie
herstelt de toepassing van een eerdere sessie.
−widgetcount
meld, op het einde, het aantal nog intakte widgets en het grootste aantal widgets dat tegelijkertijd bestaan heeft.
−reverse
zet de layout-richting van de toepassing als Qt::RightToLeft.
−graphicssystem
bepaalt het te gebruiken back-end voor widgets en QPixmaps op het scherm. Mogelijke opties zijn raster en opengl.
−nograb
vertelt Qt dat het nooit de muis of het toetsenbord moet grijpen. (Alleen Qt met QT_DEBUG.)
−dograb
onder een debugger lopen kan een impliciete −nograb inhouden, gebruik −dograb om te overstemmen. (Alleen Qt met QT_DEBUG; enkel onder X11.)
−sync |
wisselt naar synchrone loop voor debugging. Zie Debuggingtechnieken voor een uitvoerigere uitleg. (Alleen Qt met QT_DEBUG; enkel onder X11.) |
−direct3d
maakt de Direct3D paint engine de widget paint engine bij verstek in Qt. Deze funktie is eksperimenteel. (Alleen op Microsoft Windows.)
X11 Common
Opties
De X11 versie van Qt ondersteund een aantal traditionele
tekstopdracht- opties voor X11.
−display display
bepaalt de X display (default is $DISPLAY).
−geometry geometry
bepaalt de client geometrie van het eerst vertoonde venster.
−fn font
−font font
definieert het toepassingslettertype. Het font moet opgegeven worden met een zogeheten X logische font-beschrijving.
−bg kleur
−background kleur
bepaalt de default achtergrondkleur en een toepassings-palet (lichte en donkere schakeringen worden berekend).
−fg color
−foreground kleur
bepaalt de default voorgrondkleur.
−btn kleur
−button kleur
bepaalt de default knopkleur.
−name naam
bepaalt de toepassingsnaam.
−title titel
bepaalt de toepassingstitel.
−visual TrueColor
dwingt de toepassing op een 8-bit scherm een TrueColor visual te gebruiken.
−ncols aantal
beperkt het aantal in de kleurkubus toegekende kleuren op een 8-bit display, wanneer de toepassing de QApplication::ManyColor kleurspecifikatie gebruikt. Als het aantal 216 is, dan wordt een 6×6×6 kleurkubus gebruikt (d.w.z. 6 rood-tinten, 6 groen-tinten, en 6 blauw-tinten); voor andere waardes wordt een kubus ongeveer in de verhouding van 2×3×1 gebruikt.
−cmap |
laat de toepassing op een 8-bit display een eigen kleurenrooster installeren. | ||
−im |
bepaalt de invoermethode-server (equivalent met het zetten van de XMODIFIERS omgevingsvariabele) |
−inputstyle
definieert hoe de invoer in het gegeven widget ingevoegd wordt, bijvoorbeeld onTheSpot laat de invoer direkt in het widget verschijnen, terwijl overTheSpot de invoer in een boven het widget zwevend kader toont en het pas na voltooiing van de redaktie ingevoegd wordt.
Amaze resulteert alleen in een niet-nul waarde bij onherstelbare interne problemen of ongeldige tekstopdracht-argumenten.
Fouten in tekstopdracht-argumenten worden in de standaard-uitvoer gemeld. Gebruiksfouten in de GUI resulteren meestal in een vertaald, met voorrang getoond meldvenster.
Het toepassingsdeel van dit programma wordt niet via omgevings- variabelen bestuurd. De meegeladen biblioteken (voor Qt, en X11 onder Linux) kunnen eigen omgevingsvariabelenafhankelijkheden hebben.
De hieronder vermelde bestandspaden gelden voor Ubuntu, en kunnen in andere omgevingen verschillen.
/usr/share/amaze/*.qm
− de Qt vertaalbestanden
/usr/share/applications/amaze.desktop
/usr/share/app-install/desktop/amaze.desktop
− voor het burobladmenu
/usr/share/doc/amaze/*
− copyright e.d.
/usr/share/icons/hicolor/*x*/apps/amaze.png
− beeldjes voor buroblad en toepassingsmenu
/usr/share/man/nl/man1/amaze.1.gz
− deze handleiding
/usr/bin/amaze
− de programmakode
$HOME/.config/Morgul/amaze.conf
− de tussentijds bewaarde instellingen voor deze gebruiker
http://qtamaze.sourceforge.net/version.html
− aar de update-kontrole de huidige versie en uitgave nakijkt
Zie optie −init voor het systeem-specifieke, per gebruiker aangelegde bestand waarin tussentijds de instellingen bewaard worden.
Dit is de derde versie, 1.2. (De eerste versie, 1.0, is nu verouderd.) Het is beschikbaar op http://qtamaze.sourceforge.net als brontekst (via CVS), als Ubuntu/Debian-pakket, en als Windows XP MSI-bestand.
Amaze tracht zicht te houden aan de GUI-aanbevelingen en Qt voorbeelden in de Qt 4.5-4.7 dokumentatie, de Gnome-richtlijnen voor het ".desktop"-bestand, en de WiX-aanbevelingen voor de MSI-installeur.
Het genereren van doolhoven is op zich geen nieuw of uitdagend onderwerp, maar leuk genoeg voor mij om als onderwerp van een projekt te dienen.
Voor meer details over lopende zaken en veranderingen op stapel, werp een blik op de projektstatus te http://qtamaze.sourceforge.net/, of haal de brontekst via CVS aldaar en zie het bestand amaze/TODO.
Te doen
− We eisen dat het doolhof in het venstervlak past.
Dit maakt het makkelijk te vergroten en verkleinen, maar
beperkt de gebruiker tot het maken van doolhoven die op het
scherm passen.
− Deze handleiding is alleen onder Ubuntu beschikbaar;
we zouden bij de Windows MSI een PDF moeten uitleveren.
Vertaling
− Ik heb een gedeeltelijke vertaling voor [da], [de],
[eo], [es], [fr], [nl], [zh_CN] maar ik weet vrij zeker dat
die niet aan alle regels voldoen, en sommigen zijn niet
kompleet.
− De niet-"Comment"-delen in het
amaze.desktop-bestand zijn nog niet vertaald.
Hetzelfde geldt voor de door de "-help"-optie
weergegeven tekst.
Uitvoerformaten
− Uitvoer naar animated-GIF met een door het doolhof
kruipend spoor. Of idem maar naar beeldbestandreeks, voor
samenvoeging achteraf. We ondersteunen nu een bewegend spoor
op het scherm, maar niet in eksport.
Instelling
− De gebruiker kan het stippelpatroon van het spoor nu
niet zelf bepalen.
−
Bestand>Export is een beetje raar: het bezit geen
"Alle bestanden (*.*)" filter, laat een
transparante rand over als het schermtekenvlak groter is dan
het doolhofbeeld, en zou beter afgewerkt kunnen worden.
− Bestand>Blend, Bestand>Maya en
Bestand>Virtual zijn experimenteel en niet erg
kompleet; ze voeren respektievelijk een Blender
Python-script, een Maya MEL-script, en een X3D/VRML-bestand
uit. MEL en X3D missen tegelvloeren, alle laten het spoor
niet zien, en voor MEL ontbreken de kleuren.
− Als u het vertrekpunt direkt naast het aankomstpunt
kiest, kan het gebeuren dat het spoor het doolhof helemaal
niet doorloopt. Als ze schuin tegenover elkaar op dezelfde
hoek liggen, kan die hoek schijnbaar ontbreken, omdat het
geen buitenmuren heeft.
− Meer gebreken en schoonheidsfoutjes worden
beschreven in de foutmeldingen en verbeteringsvoorstellen op
http://sourceforge.net/p/qtamaze/_list/tickets.
− Doolhoven met precies één kolom of
één rij kunnen vreemd uitvallen.
amaze −no−splash −s
tinco at SourceForge
xlaby(1).