English Language

nanDECK - Tutorial C

Questo tutorial è stato scritto per la versione 1.8a di nanDECK (o successive). Per prima cosa, definiamo un'etichetta:

[LAB1]="Alpha"

Questa etichetta può essere utilizzata in comandi come:

FONT="Arial", 72, "", "#000000"
TEXT="1", [LAB1], 0, 0, 6, 9, "center", "center", 90

Per ottenere questo risultato:

tutorial image 01

Facile, no? Ma possiamo aggiungere dei parametri alla definizione dell'etichetta, uno di questi è il numero di ripetizioni:

[LAB1]3="Alpha"
FONT="Arial", 32, "", "#000000"
TEXT="1", [LAB1], 0, 0, 6, 9, "center", "center", 90

In questo modo l'etichetta viene valutata come "AlphaAlphaAlpha". Il passo successivo è quello di introdurre un'altro parametro, un prefisso per le permutazioni e le combinazioni, ma prima dobbiamo definire più di un oggetto ("Alpha") utilizzando il carattere "|" :

[LAB1]="A|B|C"

Ora, se vogliamo ottenere una combinazione di due oggetti da un insieme di tre, possiamo scrivere:

C[LAB1]2="A|B|C"

Questa etichetta verrà espansa in "AB|AC|BC" nell'esecuzione del codice (ogni combinazione di due elementi da un insieme di tre). Se noi invece vogliamo le permutazioni scriveremo:

P[LAB1]2="A|B|C"

E l'etichetta che otterremo come risultato sarà "AB|AC|BA|BC|CA|CB". Ricordatevi che in una permutazione l'ordine degli elementi è importante, AB è diverso da BA.

Come possiamo utilizzare questa etichetta? Con questo codice otterremo tutte le permutazioni di tre elementi, una per ogni carta:

P[LAB1]3="A|B|C"
FONT="Arial", 72, "", "#000000"
TEXT="1-6", [LAB1], 0, 0, 6, 9, "center", "center", 90

Premento il tasto "Validate deck", il programma ci darà questo codice intermedio:

P[LAB1]3="A|B|C"
FONT="Arial", 72, "", "#000000"
TEXT="1-6", "ABC|ACB|BAC|BCA|CAB|CBA", 0, 0, 6, 9, "center", "center", 90


E queste sono le carte (risultanti dalla funzione "Build deck"):

tutorial image 02 tutorial image 03 tutorial image 04 tutorial image 05 tutorial image 06 tutorial image 07

Ma si possono ottenere allo stesso modo anche le ripetizioni, con i prefissi CR e PR. Da questo codice:

CR[LAB1]3="A|B|C"

si ottiene questa etichetta: "AAA|AAB|AAC|ABB|ABC|ACC|BBB|BBC|BCC|CCC". E da questo codice:

PR[LAB1]3="A|B|C"

si ottiene:

"AAA|AAB|AAC|ABA|ABB|ABC|ACA|ACB|ACC|BAA|BAB|BAC|BBA|BBB|BBC|BCA|BCB|BCC|CAA|CAB|CAC|CBA|CBB|CBC|CCA|CCB|CCC

Ricordate che non siete limitati a elementi di una singola lettera. Potete scrivere:

PR[LAB1]3="Alpha|Beta|Gamma"

e otterrete questa mostruosità (ho inserito qualche a-capo):

"AlphaAlphaAlpha|
AlphaAlphaBeta|
AlphaAlphaGamma|
AlphaBetaAlpha|
AlphaBetaBeta|
AlphaBetaGamma|
AlphaGammaAlpha|
AlphaGammaBeta|
AlphaGammaGamma|
BetaAlphaAlpha|
BetaAlphaBeta|
BetaAlphaGamma|
BetaBetaAlpha|
BetaBetaBeta|
BetaBetaGamma|
BetaGammaAlpha|
BetaGammaBeta|
BetaGammaGamma|
GammaAlphaAlpha|
GammaAlphaBeta|
GammaAlphaGamma|
GammaBetaAlpha|
GammaBetaBeta|
GammaBetaGamma|
GammaGammaAlpha|
GammaGammaBeta|
GammaGammaGamma"

AGGIORNAMENTO!

Con la versione 1.9b, ho introdotto un paio di interessanti funzioni che possono essere utilizzate con il motore delle permutazioni: come prima cosa non dovete specificare il numero di carte di cui sarà composto il mazzo. Se non sapete quante carte risulteranno da questo:

PR[LAB1]3="A|B|C"

Nel parametro range di un comando potrete utilizzare questa sintassi:

TEXT=1-{(LAB1)},[LAB1],0,0,6,9,0

Ricordate, { e } sono i delimitatori di un'espressione, ( e ) sono i delimitatori dell'etichetta. L'espressione 1-{(LAB1)} sarà convertita in 1-27 durante l'esecuzione.

In più, potete estrarre delle sottostringhe da un'etichetta, utilizzando questa sintassi:

[ETICHETTA:carattere iniziale,numero di caratteri]

Come può essere utilizzata questa funzione? Se volete creare tutte le combinazioni di pianura, boschi e montagne in una tessera con quattro triangoli, potete utilizzare uno script come questo:

cardsize=4,4
[quarter1]=0,0,2,2,0,4
[quarter2]=0,0,4,0,2,2
[quarter3]=4,0,4,4,2,2
[quarter4]=0,4,2,2,4,4

pr[schema]4=P|F|M
[all]=1-{(schema)}

[color_p]=#00FF00
[color_f]=#008000
[color_m]=#C0C0C0

triangle=[all],[quarter1],[color_[schema:1,1]]
triangle=[all],[quarter2],[color_[schema:2,1]]
triangle=[all],[quarter3],[color_[schema:3,1]]
triangle=[all],[quarter4],[color_[schema:4,1]]

Con [color_schema:1,1]] il programma estrarrà la prima lettera dell'etichetta, aggiungerà color_ prima di questa, e si otterrà così un'etichetta di un colore.

Questo è il risultato (quattro pagine):

tutorial image 08 tutorial image 09 tutorial image 10 tutorial image 11

Potete scaricare questo script qui e il PDF qui.

AGGIORNAMENTO!

L'ultimo script crea 81 tessere, ma non sono uniche: troverete molte tessere ruotate. Con la versione 1.9c ho introdotto un parametro utile per rimuovere le rotazioni dal risultato di combinazioni/permutazioni (solo se applicato in uno schema circolare); se modificate questa linea:

pr[schema]4=P|F|M

con questa linea (aggiungendo una "x"):

prx[schema]4=P|F|M

Il risultato sarà composto da 24 tessere uniche.

tutorial image 12

Ciao,
/\/and


Torna alla pagina principale