Seguici su Facebook spacer Seguici su Instagram spacer
Home inCUBEtion
inCUBEtion - Programma XLS per la gestione del Cube di Magic Stampa E-mail
inCUBEtionProgramma Excel sviluppato da Daniele "Goharoth” Salvadori

Due mesi fa, forse in pochi se lo ricordano, la Wizards annunciò ufficialmente l'uscita del Cube tra i formati di MTGO - con limitazioni, implicazioni e quant'altro, è vero, ma per lo meno adesso "esiste" ufficialmente - e, sempre in quel periodo, mi rimboccai le maniche per analizzare il formato tramite questo articolo. In quell'occasione, vi parlai di un mio personale sistema di gestione tramite un mix congiunto tra Excel e funzioni - sistema che prima o poi avrei pubblicato qui su Metagame, previo modifiche e adattamenti vari. Signori e (spero sempre) signore, sono lieto di annunciarvi che le suddette "modifiche e adattamenti vari" (ma sarebbe meglio dire "progettazione e riscrittura") sono giunte infine alla conclusione, e il mio foglio elettronico di Excel/programma di gestione del Cube è pronto per il debutto pubblico: signori e (continuo a sperare) signore, ecco a voi l'inCUBEtion - la soluzione unica per la gestione dei Cube di Magic the Gathering (detto così sembra lo spot di una TV locale, ma vi posso assicurare che nei prossimi articoli mai vi parlerò dello Chef Tony o di fantastici coltelli ninja che tagliano qualsiasi cosa X-D).

1. INTRODUZIONE

Anni fa, quando iniziai a interessarmi al Cube come "sistema alternativo e interessante per draftare", le prime problematiche che sorsero furono relative alla gestione e alla creazione: come fare infatti a selezionare, controllare e avere una visione d'insieme globale di un gruppo così nutrito di carte? Tendenzialmente ero abituato a progettare i mazzi tramite la Magic Workstation, ma in questo caso stavamo parlando di trecento e passa carte, senza contare che, per poter progettare strategie, implementare sinergie, garantire un'adeguata curva del mana e tante altre particolarità tipiche di una gestione avanzata del Cube, mi serviva qualcosa - uno strumento - che me ne permettesse d'avere una visione globale e immediata (diciamo in maniera meno dispersiva e più professionale dello stendere centinaia di carte sopra un tavolo X-D), oltre che a consentirmi di gestirlo in maniera semplice e efficace.

Dato che nella vita sono un tecnico informatico, la strada più veloce per poter raggiungere un simile traguardo era quello di... programmarmi un simile strumento. Presi quindi Excel per la comoda gestione/visualizzazione che offre, presi il VBA (Visual Basic for Applications) per poter implementare le funzioni che mi servivano, e mescolai il tutto con un pizzico di sana follia per arrivare infine a ciò che vi presenterò di qui a breve in questo articolo.

2. IL PROGRAMMA

  • 2.1. DOWNLOAD E COMPATIBILITA'

Il cuore di tutto il sistema è nell'unico file XLS, disponibile in forma zippata tramite il link di download posto in fondo a questo articolo e nel topic dedicatogli sul nostro forum. Segnalo preventivamente che se la sezione "base" (la gestione delle carte facenti parte del Cube) è pienamente compatibile con tutte le versioni di Excel dalla 2000 in poi (l'ho testata anche sulla 2011 per Mac, e funziona bene anche lì), il "generatore di decklist" (dopo vedremo nel dettaglio che cos'è) ho avuto modo di testarlo solo sul mio Office 2007 e sull'Office 2000 di un mio cliente - ma credo che, considerato il divario tra le due versioni, funzioni senza problemi anche sulle altre. Per gli utenti OpenOffice non c'è invece per il momento alcun supporto macro (in pratica possono usare il file, ma senza avvalersi delle funzioni particolari), ma vedrò in un futuro prossimo di renderle compatibili.

  • 2.2. ESEGUIRE INCUBETION

Una volta scaricato il file, fatelo partire facendoci doppio click sopra. Se vi dovesse venire un avviso che le macro sono bloccate (e nel 99% dei casi sarà così), ovvero un messaggio come questo:

Immagine

Attivatele premendo su "Opzioni" e quindi su "Attiva contenuto" (per ulteriori informazioni, consultate questo attivazione o disattivazione di macro. Su Office 2003 dovrete probabilmente andare prima su Strumenti -> Macro -> Protezione, e abbassare di un livello la protezione delle macro (Office 2003 blocca del tutto le macro senza firma per impostazioni di default). Se non eseguite questa operazione, nessuna delle funzioni potrà essere eseguita - e vi assicuro che nessuna delle macro è in realtà un virus mortale, :-P per cui attivatele senza preoccupazioni.

  • 2.3. UTILIZZARE INCUBETION

Concluse queste doverose e necessarie operazioni preliminari, è giunto il momento di parlare di inCUBEtion stesso. Innanzitutto, ecco in tutta la sua bellezza (!?!) la schermata principale:

Immagine

Come dicevo poco fa, il fine ultimo di questo file è permettere una rapida e completa gestione del Cube - ovvero permettere una rapida e completa selezione di tutte le carte che lo andranno a formare. Per poter raggiungere un simile scopo, come si può notare nell'immagine qua sopra, il file è stato diviso in più pagine (evidenziate nel cerchio A): una per ogni colore base (pagine dalla "White" alla "Green" - i nomi sono in inglese perché ho intenzione di farne anche una versione internazionale e, per esigenze di codice, mi serviva un nome unico per esse), una per le carte multicolore (pagina "Multicolor"), una per le incolori (pagina "Colorless") e una per le terre (pagina "Lands"). Ce ne sono anche altre due ("TOTAL" e "Decklist"), ma per il momento ignoriamole - ci torneremo successivamente.

In breve: inCUBEtion è diviso in pagine: una per le carte appartenenti a ogni singolo colore base, una per le carte incolori, una per quelle multicolori ed una per le terre.

  • 2.3.1. LA SUDDIVISIONE IN CATEGORIE NELLE PAGINE

A sua volta, le carte contenute nelle suddette pagine sono state divise secondo la loro tipologia, per aumentarne ulteriolmente la visibilità, facilitarne la ricerca e rendere più ordinata e controllabile la struttura del Cube.

E qui è doverosa fare una precisazione. La suddivisione tipica del Cube (tipica nel senso che è la più seguita dai progettisti di tutto il mondo) è piuttosto specifica, ovvero ha uno schema abbastanza rigido di catalogazione delle carte, ma funzionale alla natura stessa del Cube.

Mi spiego meglio: le carte appartenenti ad un singolo colore, come potete vedere dall'immagine qua sopra, sono notoriamente suddivise in due uniche e grandi categorie: creature e magie. Non c'è quindi una specificazione sul tipo di carta, ovvero niente divisione tra incantesimi, stregonerie, planeswalker o istantanei, ma due uniche grandi famiglie che racchiudono tutto al loro interno. Questa particolarità è data dal fatto che in un Cube le carte appartenenti ai singoli colori rappresentano il succo dello stesso e, considerata questa loro consistenza e la loro relativa importanza nell'andamento dei draft, è importantissimo tenere d'occhio due aspetti basilari di Magic per determinarne la giocabilità: le creature, ovvero quelle che staranno in campo e picchieranno l'avversario, e le magie, ovvero quelle carte che le supporteranno direttamente o indirettamente, e/o forniranno altri metodi aggiuntivi per poter conseguire la vittoria. Troppe poche creature, e i giocatori faranno tutti monorosso per sperare di portare a casa i match; troppe poche magie, e il vostro Cube diventerà il festino dell'aggro. X-D Con una suddivisione del genere, a colpo d'occhio si possono vedere magie e creature per ogni colore e procedere con maggiore facilità a sostituzioni o cambiamenti.

Questa particolare suddivisione tocca però soltanto le carte colorate: se controllate infatti le altre pagine, vedrete una situazione ben diversa. Innanzitutto, le carte incolori sono divise in quattro distinte categorie: creature, mana, equipaggiamenti e utilità. Questa suddivisione (che, ripeto, non è farina del mio sacco, ma è il metodo più utilizzato a livello globale) si basa sul fatto che le carte incolori (ovvero, nella stragrande maggioranza dei casi, le carte artefatto non colorate) sono carte dall'utilizzo "universale" - ovvero si possono inserire in qualsiasi mazzo, a prescindere dai colori draftati - e sono quindi utilizzate come supporto e rafforzamento. Considerata questa loro particolare natura, una suddivisione più specifica in quattro categorie permette di avere una visione più accurata del grado di "supporto" che potranno fornire al Cube: abbiamo quindi una categoria specifica per le creature, una per il "mana" (ovvero le carte che fixano o aggiungono il mana), una per gli equipaggiamenti ed una per le utilità (in soldoni, le carte che non rientrano nelle tre categorie precedenti).

Questa differenzazione diventa ancor più marcata se passiamo alle carte multicolore: in questo caso abbiamo una categoria per OGNI combinazione di colore - dalle classiche bicolori (legate comunemente, come nomenclatura, alle gilde di Ravnica), per passare alle tricolori (anche qui, nominate o come i frammenti di Alara o con un semplice "wedge" seguito dalla combinazione trattata) fino ad arrivare alla categoria delle pentacolore. È da notare quindi che NON c'è alcuna distinzione sulla natura stessa delle carte, se non quella basata sulla propria identità colorata. Questa particolarità, che sembra quasi una "leggerezza" di design rispetto a quanto abbiamo visto finora, in realtà è dettata da motivazioni pratiche ben precise. Le carte multicolori hanno infatti due caratteristiche peculiari: si presentano in moltissime combinazioni, ma rappresentano notoriamente una minima parte della composizione del Cube. Se si considera che, a monte di tutto ciò, per le carte multicolore è importante tenere d'occhio l'equilibrio tra le varie combinazioni - ovvero che ci sia una pari numero di carte per ogni combinazione bicolore e/o tricolore presente, per non avvantaggiarne o svantaggiarne nessuna rispetto alle altre - otteniamo uno scenario nel quale risulta davvero difficoltoso da gestire anche una "semplice" suddivisione creature/magie per ognuna di esse. Quindi, alla fine di tutto questo immenso ragionamento (leggasi "pippa mentale" X-D), si giunge alla conclusione che il miglior compromesso per affrontare l'argomento "carte multicolore" sia quello di avere una sola tabella per ogni combinazione esistente, in modo da poterne tenere sotto d'occhio facilmente l'equilibrio, anche se a discapito della tipologia di ogni singola carta facentene parte.

Infine, una situazione simile, ma ancor più espansa, l'abbiamo anche per le terre, che sono suddivise in maniera simile con una tabella per ogni identità colorata esistente. Ricordo infatti che, pur essendo le terre delle carte incolori per definizione, hanno un'identità colorata ben specifica che le caratterizza: non posso, ad esempio, utilizzare la Yavimaya's Hollow se non ho mana verde (ovvero la potrò giocare solo in un mazzo con il verde), e, sempre facendo un altro esempio, una terra come la Volcanic Island dà mana sia rosso che blu, ovvero per identità colorata appartiene alle carte rosso/blu.

In breve: le carte contenute nelle pagine sono divise in categorie: le carte dei singoli colori in creature e magie; le carte incolori in creature, mana, equipaggiamenti e utilità; le carte multicolori e le terre invece secondo la propria identità colorata e/o combinazione di colori.

  • 2.3.2. DIVISIONE PER CMC E IDENTITA' TOPOLOGICA DELLE CARTE

Fin qui tutto complic... ehm, semplice, no? Il file è diviso in pagine, che a loro volta sono divise in categorie, che a loro volta contengono le carte tramite una suddivisione basata sul costo in mana convertito (Converted Mana Cost in inglese, ovvero CMC in versione abbreviata). Riprendiamo un attimo l'immagine sopra che ho riportato nella sezione 2.3.

Come potrete notare, si vedono chiaramente una tabella destinata alle carte dal CMC uguale a 0, ed una per quelle di CMC uguale a 1. Se aprite il file e scorrete le varie pagine, noterete che questa suddivisione è comune per tutti i colori base e per le carte incolori, ed è applicata ad ognuna delle categorie che abbiamo visto precedentemente. La cosa invece non si applica, per le stesse motivazioni di semplificazione espresse nella sezione precedente, alle carte multicolore (e, ovviamente, alle terre), ma chi ha letto la sezione precedente conosce bene le motivazioni dietro a questa scelta.

Anche qui, bisogna fare delle doverose precisazioni - precisazioni alle quali vi consiglio di fare la massima attenzione. Se scorrete tra i vari nomi presenti nella lista, noterete che ci sono delle "incongruenze": potrete infatti notare che in mezzo alle creature sono riportate anche stregonerie come Decree of Justice, o che una carta come il Porcelain Legionnaire è riportata nella tabella destinata alle carte di CMC 2, e non in quelle di CMC 3. Attenzione: NON sono errori, la cosa è voluta. Dovrete infatti sapere che esistono due concetti importanti da tenere in considerazione quando si costruisce un Cube o, più in generale, quando si progettata un mazzo: io li chiamo "CMC reale" e "identità topologica".

Il primo, il "CMC reale", è il "vero" CMC della carta, ovvero il costo che si pagherà realmente, o che si spererà di pagare realmente, per giocare una carta in maniera ottimale. Il Porcelain Legionnaire è vero che ha un CMC scritto di 3, e che per tutte le carte di Magic che interagiscono con il CMC quello sarà il suo costo, ma, durante una partita, potrà scendere in campo semplice pagando 2 mana (e 2 punti vita), grazie al mana phyrexiano che ha nel costo. Per questo motivo, NON posso considerarlo un drop a 3 per valutare la componente aggro del mio mazzo, ma lo dovrò considerare come un potenziale drop a 2. Attenzione, ovviamente per calcolare il costo reale delle carta, nel caso del Cube, si dovrà considerare solamente la carta di per sè, senza aiuti o influenze esterne: se nel mio Cube gioco la Sphere of Resistance NON dovrò considerare a priori che le mie carte possano avere un CMC più grande di 1, né che il mio Griselbrand sia un drop a 4 perché posso metterlo in campo con il Quicksilver Amulet.

Un discorso simile lo si può fare anche per l'altro concetto, quello di "identità topologica": se ho una carta come il Decree of Justice che ha il SOLO e UNICO scopo di creare pedine, concettualmente lo posso integrare tra le carte creatura, dato che la più sostanziale differenza che c'è tra questo ed una "normale" creatura è data soltanto dal fatto che il Decree of Justice è una stregoneria. È ovvio che non possa fare un Remove Soul su un Decree of Justice, né che me lo possa tutorare dal mazzo con un Sylvan Tutor, ma, di per sè, è considerabile alla stregua di una creatura, e come tale viene considerata per i fini di controllo e equilibrio del Cube. Per rendere comunque evidente la tipologia originale di ogni carta, i vari nomi delle stesse all'interno delle tabelle sono preceduti da un identificativo distintivo. Prendiamo questo esempio:

Immagine

In questo caso possiamo vedere che Mikaeus, the Lunarch ha la (C) di creatura, il Decree of Justice la (S) di stregoneria e il White Sun's Zenith ha la (I) di istantaneo.

Direi che uno degli esempi più completi di questi due concetti (e, tra parentesi, è anche una carta molto spesso giocata nelle liste), è la Spectral Procession: viene considerata come drop a 3, nonostante il CMC di 6, perché ottimalmente la si può giocare di terzo grazie a tre mana bianchi, e viene listata tra le creature perché l'unica cosa che fa è quella di mettere tre pedine volanti in campo. Abbiamo quindi una carta con un CMC reale di 3 (di fronte ad uno scritto di 6) che passa da stregoneria a creatura grazie alla propria identità topologica. Neanche a inventarselo si poteva trovare un esempio più calzante. :-P

In breve: le carte presenti nelle varie categorie (a parte terre e carte multicolori) sono divise ulteriorlmente per CMC, e selezionate tenendo conto della propria identità tipologica (ovvero a che categoria appartengono "realmente" sulla base delle proprie caratteristiche) e del CMC reale (ovvero il CMC ottimale per poterle giocare).

  • 2.3.3. LA SELEZIONE DELLE CARTE

Avendo quindi visto le suddivisioni delle suddivisioni, adesso abbiamo tutti gli strumenti per orientarci in questa lista di carte, ma... come fare a sfruttare tutto ciò per progettare il nostro Cube? Semplice, basta... un evidenziatore!
Muovetevi tra le varie pagine, tra le varie categorie, tra i vari CMC e, sfruttando l'evidenziatore di Excel, evidenziate le carte che volete facciano parte del vostro Cube - un po' come ho fatto in questo esempio:

Immagine

Nel quale ho sfruttato l'evidenziatore di Excel per evidenziare il Delraich, che adesso farà parte del mio Cube. Scegliete il vostro colore preferito, o, se proprio volete essere professionali, usate più colori per evidenziare punti deboli, indecisioni e/o carte certe del vostro Cube (io, ad esempio, utilizzo il verde per le carte certe, il giallo per quelle incerte, il rosso o il rosa per quelle che probabilmente se ne andranno, o che usciranno sicuramente non appena sarà disponibile un rimpiazzo valido).

Non vi ricordate il testo di una carta? Nessun problema! Grazie a ore passate a fare copia & incolla da Magiccards.info (ed ecco il perché dei testi in inglese), vi basterà rimanere per qualche breve istante sopra il nome di una carta per farne comparire il testo in un riquadro di nota! Eccovi un semplice esempio esplicativo:

Immagine

Beh, penso che anche i sassi sappiano il testo della Goblin Guide, ma nel dubbio...

È da notare inoltre che i nomi NON sono stati messi in maniera casuale, ma si basino su un mix tra carte effettivamente giocate, carte a volte giocate e carte teoricamente interessanti. Il riquadro "TOP PICK" (abbreviato talvolta in "TOP" per esigenze di spazio), presente nella parte superiore di ogni tabella di CMC, serve proprio a evidenziare le carte giocate soventemente nei Cube dai giocatori di tutto il globo, mentre nella parte sottostante troverete la crème de la crème delle restanti carte. Ci tengo a precisare che NIENTE è fisso: se volete cancellare dei nomi, fatelo. Se volete aggiungerne di nuovi, fatelo. Se volete spostare delle carte tra top pick e le celle sottostanti, o viceversa, fatelo. Ho progettato inCUBEtion per essere personalizzabile dall'utente, e le carte riportate sono soltanto delle linee guida - ovvero non forzano le scelte, ma aiutano soltanto a prendere più facilmente le decisioni. L'unico "neo" è dato dal numero di colonne e righe, che non può essere alterato se si vuole evitare di sballare sia le funzioni di conteggio delle carte che il generatore di decklist. Si può fare, anche se non è una cosa immediata da implementare, ma vedremo successivamente come fare - per il momento attenetevi alla struttura già presente per quanto riguarda righe e colonne, e modificate solo le carte presenti.

In breve: per selezionare le carte che faranno parte del vostro Cube, evidenziatele con l'evidenziatore di Excel. Per sapere i testi delle carte, rimanete per qualche istante sopra i nomi delle stesse. La sezione TOP PICK di ogni tabella rappresenta le carte più giocate globalmente. Siete liberi di modificare i nomi presenti nelle tabelle, ma per il momento non cambiatene la struttura.

  • 2.3.4. IL CONTEGGIO PARZIALE

Adesso che abbiamo visto come poter scegliere la rosa di carte che andranno a formare il nostro Cube, o comunque abbozzata una selezione mirata delle stesse, è giunto il momento di guardare uno degli aspetti principali di inCUBEtion - ed una delle cose che lo rende "diverso" da un normale foglio di Excel: le funzioni.
La prima, la più basilare, è quella di conteggio. In alto a ogni pagina, e per ogni categoria, è presente infatti una struttura a tabella simile a questa:

Immagine

La struttura è molto semplice: la riga di celle a sfondo celeste contiene il totale delle carte selezionate (leggasi "evidenziate") per ogni CMC (il cui valore di riferimento è riportato subito sotto).

La cella a sfondo giallo riporta invece il numero totale di "candidati", ovvero il numero totale assoluto di carte prese in considerazione come possibili candidati per far parte di un Cube - che, detto in due parole, è il numero totale di carte riportate nella varie tabelle per quella categoria. La cella a sfondo verde contiene invece le carte selezionate, ovvero il numero totale di carte che abbiamo evidenziato e che faranno quindi effettivamente parte del nostro Cube. Tutti questi numeri vi permetteranno di tenere d'occhio, in qualsiasi momento e per qualsiasi categoria, CMC e colore, la distribuzione di carte del vostro Cube.

Questa funzione non è attuabile con le semplici formule di Excel, ma necessita appunto delle funzioni per poter... funzionare (e scusate il gioco di parole :-P). Questo è uno dei motivi per cui dovrete abilitare e avere un supporto macro per inCUBEtion, e questo è anche il motivo per cui è presente un pulsante "refresh" (lo si può vedere anche nella figura qua sopra) accanto alla suddetta struttura. Le funzioni purtroppo NON si aggiornano in tempo reale - o, per meglio dire, lo potrebbero fare, ma per non appesantire troppo il carico di lavoro ho preferito optare per un refresh manuale - e necessitano appunto di un pulsante (o della pressione dei tasti CTRL + ALT + F9) per poterlo fare.
Quindi ricordatevi sempre, una volta che avete effettuato le vostre modifiche e/o aggiunte al Cube, di premere il suddetto tasto per aggiornare i vari conteggi. Dico "i vari" perché la pressione di uno qualsiasi dei pulsanti "refresh" sparsi tra le varie pagine permette il refresh simultaneo di tutte le tabelle di conteggio - non dovrete quindi scorrere di pagina in pagina e premerli tutti ogni volta. ;-)

In breve: ogni categoria è accompagnata da una tabella di conteggio, che riporta in maniera ordinata le carte selezionate per ogni CMC, totali e il numero di possibile candidati presi in considerazione. Per aggiornare i valori, utilizzare il tasto di "refresh" (che ha valore globale per tutte le pagine).

  • 2.3.5. IL CONTEGGIO TOTALE

Tutta questa massa di dati, raccolta tramite le singole tabelle di conteggio spiegate nella sezione precedente, confluisce come un fiume in piena nella pagina denominata TOTAL. Qui troverete, ben divise per colori (e combinazioni degli stessi), il numero preciso di carte selezionate per ogni categoria. Al di là del look psichedelico, che farebbe invidia ad un hippie strafatto, è da notare la scissione delle terre tra i vari colori: le terre "appartenenti per identità colorata ad un singolo colore" hanno una propria colonna accanto a quelle di creature e magie, così come quelle incolori hanno una colonna dedicata in più, mentre le carte multicolore sono divise specificatamente proprio tra terre e non terre.

Questo particolare "trattamento" si è reso necessario per avere una migliore visione d'insieme - che è appunto lo scopo finale della pagina TOTAL - dei numeri "reali" del Cube che stiamo andando a formare, e le terre meritavano una scissione del genere per poter raggiungere questo fine ultimo.

In breve: la pagina TOTAL riassume i valori totali del vostro Cube, e ne conferisce una visione globale - scopo attuato anche tramite la divisione delle terre tramite la propria identità colorata.

  • 2.3.6. IL GENERATORE DI DECKLIST

Fin qui, tutto "semplice": tanti fogli di Excel, tante formule, alcune funzioni a contorno a rendere funzionale il tutto, per un qualcosa che, se fossimo in ambito culinario, sarebbe il classico piatto "buono ma che... gli manca qualcosa per avvicinarsi alla perfezione". Mentre creavo inCUBEtion, pensavo infatti che, per essere uno strumento che aiuta nella creazione di un Cube, necessitava di una cosa molto importante, che non avevo pianificato di realizzare inizialmente: un generatore di decklist. Infatti, per quanto fosse "bello" e utile avere tutto il proprio Cube gestito tramite Excel, uno degli aspetti basilari che ne permettono la migliorazione e lo sviluppo di fondo è la... condivisione: postare il proprio listato su Internet, in modo da consentirne una rapida visione agli altri giocatori e ottenere così consigli o, comunque, discuterne, ha una grande valenza, pari quasi ai test diretti su campo. Per implementare questa possibilità, decisi quindi di aggiungere a inCUBEtion un generatore di decklist, ovvero una funzione in grado di generare un file di testo (.TXT) con al suo interno la lista completa del Cube già taggata e già organizzata secondo le proprie preferenze, in modo da poterne fare il copia e incolla direttamente su di un forum o su un qualsiasi altro strumento di comunicazione via web. Prima di parlare approfonditamente di questo (spero utile) strumento, vediamolo in tutta la sua bellezza:

Immagine

Il funzionamento è molto semplice: nella parte alta abbiamo le opzioni (ovvero le 6 voci intabellate), che permettono di poter impostare la nostra decklist come meglio crediamo, mentre in basso abbiamo il pulsante "Crea", che ci permette di finalizzare il tutto, generando così il file di testo con il nostro Cube. Vediamo insieme le opzioni (ndDAniele tutte le descrizioni sotto riportate sono comunque presenti, in versione abbreviata, anche all'interno di inCUBEtion stesso: se passate con il mouse sopra il nome di un'opzione e ci rimanete per un secondo o due, vi comparirà una casella esplicativa della stessa):

- Tipologia della Decklist: se pubblicate la vostra lista su di un forum, per poterla formattare sono necessari i "tag", ovvero i vari comandi, chiusi tra parentesi quadre, che vi permettono, ad esempio, di mettere il testo in grassetto o di chiuderne una porzione all'interno di uno spoiler. Questi comandi variano da forum a forum, e questa opzione vi permette di rendere compatibile la vostra lista o con quelli utilizzati da (inizio spazio pubblicitario X-D) il vostro sito italiano dedicato a Magic preferito, ovvero Metagame.it (opzione 1), o con quelli appartenenti ad uno dei più importanti forum "Magiccosi" (Magicchiani?) in inglese al mondo, ovvero MTG Salvation (opzione 2). Probabilmente l'opzione 1 o 2 vi permetteranno di rendere compatibile la vostra lista anche con altri forum, ma i due standard più importanti e significativi sono questi due. ;-) Se invece NON volete pubblicare la decklist su di un forum e/o non volete "taggarla", l'opzione 3 fa al caso vostro: nessun tag, ma puro e semplice e crudo listato di carte.

- Tag "Spoiler": dato che il Cube è una lista molto lunga di carte, spesso, sia per esigenze di spazio che di facilità di lettura, si utilizzano i tag "spoiler" per racchiudere le varie sezioni dello stesso. Per chi non lo sapesse, il suddetto tag "spoiler" altri non è che quella casella il cui contenuto viene nascosto fintanto che non viene premuto l'apposito pulsante di visualizzazione. Personalmente parlando, vi consiglio di utilizzarli sempre, in modo che i vari utenti possano visualizzare solo le porzioni del vostro Cube che più gli interessano.

- Spoiler per entità o tipologie: se avete scelto "1" (ovvero ON) all'opzione precedente, tramite questa potrete scegliere come volete sfruttare i tag spoiler: se scegliete "1" (entità), avrete uno spoiler per ogni colore base, uno per le carte incolori, ecc..; mentre se scegliete "2" (tipologie) la suddivisione avverrà invece per le varie tipologie - ovvero avrete due spoiler, creature e magie, per ogni colore base (o tre, se le terre non hanno una sezione dedicata, come vedremo nella prossima opzione), quattro (o cinque, sempre nel caso delle terre non separate dal resto) invece per le carti incolori, ovvero uno per ognuna delle quattro (o cinque) categorie che comprende, ecc..

- Terre "da sole": per la visualizzazione delle terre, esistono due "scuole di pensiero", entrambe supportate da inCUBEtion tramite questa opzione: c'è chi le include insieme alle carte della stessa identità colorata (valore "0"), e chi invece gli riserva una sezione dedicata ("1"). Personalmente parlando sono un fan della prima scuola, così come lo è la maggioranza dei progettisti di Cube, ma siete liberi di seguire quella che più vi aggrada.

- Titoli aggiuntivi: quando vengono listate le varie carte dei Cube per ogni entità, generalmente tutti ne fanno un'ulteriore suddivisione per costo in mana convertito (CMC), ma c'è chi riporta anche un titolino esplicativo per meglio identificare tale divisione (nulla di trascendenziale, semplicemente aggiunge la scritta "CMC", seguita dal valore, in testa a ogni gruppo di carte), e chi invece la attua semplicemente lasciando uno spazio tra i gruppi. A prescindere da cosa più vi piace, inCUBEtion supporta entrambe queste possibilità: scegliete "1" se volete i suddetti titoli identificativi, o "0" se non li volete.

- Terre pentacolori come terre incolori: le cosiddette "terre pentacolori", ovvero le terre che forniscono mana di qualsiasi colore direttamente (tipo la City of Brass) o indirettamente (tipo la Terramorphic Expanse), sono tendenzialmente considerate e listate tra le terre "incolori" dalla maggior parte dei designer di Cube. C'è chi, invece (come me, tra parentesi), che le considera come terre "pentacolori", e le tiene quindi separate dalle altre. Se siete della mia stessa scuola di pensiero (terre pentacolori da sole), scegliete "0" a questa opzione, altrimenti andate su di un sicuro "1" se siete invece della stessa idea della maggior parte dei "Cubisti" mondiali.

Per poter impostare tali opzioni, basta... scrivere i numeri relativi ai settaggi che desiderate nell'apposita e relativa casella posta accanto a ognuna di esse. Di default, quando scaricate il file, troverete già dei numeri (si vedono anche nell'immagine qua sopra), che altro non sono che i valori standard del Cube, ovvero quelli che riflettono le tendenze generali dei progettisti. Ricordatevi che se scrivete un'opzione sbagliata (tipo se specificate un valore che non corrisponde a nessun settaggio) il software automaticamente ne utilizzerà il valore di default.

Una volta fatte le vostre scelte, non dovrete far altro che premere il pulsante "Crea" per generare la decklist. Attenzione però: accanto al pulsante "Crea" ce n'è anche uno di "Refresh", e non è lì per caso. Dovete infatti sapere che il generatore di decklist, per creare il file di testo con la stessa, si basa pesantemente, per rendere più snella l'elaborazione dei dati, sulle tabelle di conteggio presenti nella varie pagine di inCUBEtion: se voi avete modificato il Cube, ma NON avete fatto un refresh per aggiornare i valori nella tabelle di conteggio, la decklist generata sarà molto probabilmente sballata. Ho provato ad aggiungere il refresh all'inizio del codice del generatore di decklist ma, dato che tale funzione ne richiama a sua volta un altro centinaio, e che queste vengono eseguite indipendentemente dalla prima, e che è necessario che queste abbiano terminato il proprio lavoro prima di procedere alla generazione della decklist, diventava molto arduo temporizzare il tutto: se mettevo un tempo di attesa a forfait, i computer più lenti non sarebbero riusciti a stare dietro alla mole di calcoli; se mettevo un tempo di attesa lungo, sarebbe stato meno performante in generale per i computer veloci, e comunque non avrei avuto assicurazioni sul corretto funzionamento su quelli lenti; mentre se facevo un refresh "a mano" richiamando io tutte le varie funzioni, avrei allungato inutilmente il listato del codice (che già è molto lungo), e ne avrei reso più difficolta la modifica futura, sia da parte mia che da parte vostra. Dopo aver provato senza successo anche vari altri comandi, alla fine sono giunto alla conclusione che la via da seguire era anche la più facile da realizzare: aggiungere un pulsante di "Refresh". Non è bellissimo, ma è il giusto compromesso tra funzionalità e semplicità.

Ok, terminata questa mega disquisizione soporifera anche per chi se ne intende di programmazione, dove abbiamo visto che è sempre meglio fare un refresh prima di cliccare sul pulsante "Crea", è giunto il momento di prendere il file di testo generato: il programma lo metterà automaticamente nella cartella "Documenti" del vostro profilo utente, con il nome di "decklist.txt". Se, invece, utilizzate il file in un'unità differente da quella che lo contiene (ad esempio tenete il file dentro una penna USB), il "decklist.txt" verrà generato all'interno della stessa cartella in cui si trova inCUBEtion. Ricordatevi che se avete già un file così nominato questi verrà sovrascritto - uomo avvisato, mezzo salvato. Una volta aperto, ne potrete fare semplicemente il copia e incolla in un post, modificarlo e farne, in generale, tutto ciò che volete.

In breve: inCUBEtion è dotato di un generatore di decklist, che creerà un file "decklist.txt" nella vostra cartella dei Documenti contenente il listato del vostro Cube. Usate le opzioni presenti nella pagina "Generatore di decklist" per settare tale funzione, e il pulsante Crea per ottenere il file di testo. Fate sempre un refresh prima di cliccare su Crea per evitare spiacevoli problemi.

  • 2.4. MODIFICHE AVANZATE A INCUBETION

Nota: se non avete intenzione di modificare la struttura delle tabelle di inCUBEtion, o le sue funzioni, saltate a piè pari questa sezione.

Questo programma è nato per essere modificato: le funzioni non sono protette, i codici non sono nascosti, tutto è finalizzato alla libera condivisione e distribuzione - ricordandovi sempre di fare riferimento a me come creatore originale, è giusto dare "a Cesare ciò che è di Cesare", senza prendersi i meriti di altri.

Se l'aggiunta o la modifica delle carte è semplice e rapida - basta scrivere i nomi negli spazi vuoti, o sovrascrivere quelli già presenti - aggiungere righe o, ancor peggio, colonne, è molto più complesso. Le funzioni di conteggio e il generatore di decklist si basano infatti largamente sulla struttura attuale che ha il file e, nonostante ne sia appunto possibile la modifica, non aspettatevi che sia una cosa facile e/o per tutti. In questa sezione tenterò di farvi capire come lavorano le funzioni di inCUBEtion, in modo da potervi apportare le modifiche che più vi aggradano.
Innanzitutto, le funzioni di conteggio si basano sui limiti delle relative tabelle sottostanti. Vediamone un esempio:

Immagine

La funzione "GiocTotale" conta le carte evidenziate presenti in una tabella. Nell'immagine è evidenziata la funzione relativa a quella delle carte con CMC 1, e abbiamo:

=GiocTotale(3;16;9;27;"White")

3 e 16 sono le coordinate della prima casella, locata in alto a sinistra, della tabella; mentre 9 e 27 sono le coordinate dell'ultima casella, posta in basso a destra, della tabella. Questi sono i cosiddetti "limiti" della tabella - ovvero sapendo le coordinate delle due caselle più estreme della stessa, ne viene automaticamente calcolata la struttura. Se fate caso all'immagine, infatti, la casella C-16 (C è la terza lettera dell'alfabeto, quindi tradotto in numero è proprio 3-16) è la prima casella della tabella, mentre la I-27 (anche qui, la I è la nona lettera dell'alfabeto, quindi diventa 9-27 in numeri) è l'ultima. "White" invece è il nome della pagina, dato che, in questo caso, siamo dentro a quella dedicata alle carte bianche del Cube.
Se volete quindi aggiungere o rimuovere una riga ad una tabella, la prima cosa da fare è cambiare appunto i limiti presenti in questa funzione. Se, ad esempio, vogliamo aggiungere una riga alla tabella che abbiamo visto qua sopra, la funziona GiocTotale relativa diventerà:

=GiocTotale(3;16;9;28;"White")

Ricordatevi però che la modifica dei limiti di una tabella cambierà molto probabilmente le coordinate di TUTTE le tabelle sottostanti (aggiungere una riga significa infatti anche spostare di una riga tutto ciò che c'è sotto a essa) - ergo dovrete modificare i valori di tutte le varie GiocTotale delle tabelle sottostanti.
Inoltre, nonostante il conteggio totale delle giocate (la casella verde denominata "Giocate") non richieda modifiche in quanto fa semplicemente una somma dei valori che trova nei sottostanti totali parziali, il valore di "Candidati" richiede attenzioni, in quanto si basa su un'altra funzione, denominata "ContTotale". Ecco, ad esempio, il codice di "Candidati" relativo alla tabella dell'immagine che abbiamo analizzato poco fa:

=ContTotale(3;10;9;12;"White")+ContTotale(3;16;9;27;"White")+ContTotale(3;31;9;47;"White")+ContTotale(3;51;9;63;"White")+ContTotale(3;67;9;78;"White")+ContTotale(3;82;9;93;"White")+ContTotale(3;97;9;108;"White")+ContTotale(3;112;9;123;"White")

ContTotale, a differenza di GiocTotale, è una funzione che, dati in ingresso i limiti di una tabella, restituisce il numero totale di carte presenti, evidenziate e non. La somma dei vari ConTotale delle varie tabelle permette quindi di sapere il numero totale di possibili candidati presenti per una determinata categoria di una determinata entità. Dato che anche questa funzione riceve in ingresso le coordinate dei limiti, esattamente come GiocTotale, aggiungere o rimuovere righe dalle tabelle comporterà anche il dover aggiustare le coordinate delle stesse che gli vengono passate.

Se dovete invece aggiungere delle colonne, la cosa si fa ardua. Senza stare a entrare eccessivamente nei dettagli (avevo iniziato a scrivere una sorta di "suicidio letterale" dove parlavo di struttazione verticale e parametrizzazione, ma ho cancellato tutto onde evitare cappi attaccati ai lampadari e lettori di Metagame appesi a essi X-D), se si mantiene la formattazione e strutturazione attuale delle celle, tramite un ulteriore parametro identificante il numero di colonne delle tabelle, passato a ContTotale e GiocTotale, la cosa sarebbe molto semplice da attuare (e, inizialmente, tale parametro era presente nel codice), ma ho preferito toglierlo sia per questioni di semplicità, sia perché trovo molto più funzionale l'attuale strutturazione a tre colonne e Xmila righe contenenti i nomi delle carte. A grande richiesta potrei comunque includerlo nuovamente in future release. ;-)

Infine, parliamo invece del codice del generatore di decklist. Se andate su Sviluppo -> Visual Basic (previa abilitazione della scheda Sviluppo andando su File, o sul cerchio di Office, e quindi su Opzioni, o Opzioni di Excel, e flaggando "Mostra scheda Sviluppo sulla barra Multifunzione"), o andando su Strumenti -> Macro -> Visual Basic Editor nelle vecchie versioni di Office, e guardate il codice legato a Pulsante3_Click(), troverete il sorgente del generatore di decklist. Il codice non è propriamente digeribile - o, almeno, non è probabilmente il codice da due righe che ti aspetteresti da un'applicazione del genere: è infatti molto lungo (sono circa 2500 righe), inoltre è stato scritto in moltissime volte, perché non ho avuto molto tempo continuo da dedicargli causa lavoro e il recente trasloco di casa che ho fatto, e il non utilizzo dei vettori, volutamente ignorati in primo luogo perché temevo ne avrebbero diminuito la comprensibilità, si è rivelato in secondo luogo un errore perché ha causato troppa frammentazione delle variabili, ma ho riempito di commenti i punti "focali", in modo da consentirne una rapida navigazione e individuazione. Ecco un esempio di codice:

'WHITE - MAGIE - CMC 4 - COORDINATE
ElseIf i = 4 Then
CInizio = 14
RInizio = 63
RFine = 74
End If

Come potete notare dal commento, queste variabili indicano al generatore di decklist le coordinate della tabella delle magie bianche di CMC 4 (ebbene sì, se modificate le righe delle tabelle dovrete mettere mano anche al codice del generatore di decklist). In questo caso RInizio e CInizio indicano rispettivamente le coordinate x e y della prima casella della tabella, mentre RFine è il valore della X dell'ultima riga della stessa. Da notare che manchi il valore della y di quest'ultima, per cui la tabella viene considerata come strutturata con le caratteristiche attuali (tre colonne per tabella, formate dall'unione di tre caselle) - come potete notare, confido poco nell'aggiunta o nella rimozione di eventuali colonne dalla struttura attuale, tanto che ho ignorato la cosa nel generatore di decklist.

Altre modifiche più sostanziali richiedono invece un'analisi decisamente più attenta, cosa che mi sembra fuori luogo rispetto allo scopo di questo articolo: se volete fare una modifica sostanziale al codice e non capite dove andare a parare, contattatemi e ne parleremo insieme. ;-)

3. CONCLUSIONI

Siete sempre svegli? Bene. Siete addormentati? Beh, in questo dubito stiate leggendo queste righe. X-D Adesso manca solo il finale: il file da scaricare. Eccolo qui in tutta la sua bellezza:

DOWNLOAD DEL FILE

Nel momento in cui scrivo, il file è aggiornato fino ad Avacyn Restored. Le varie versioni future saranno probabilmente reperibili al medesimo link posto qua sopra, ma terrò traccia dei cambiamenti sul forum nel topic raggiungibile dal pulsante qui sotto, per questioni di visibilità e praticità. Happy cubing! ^__^

blue-submit-button

blue-submit-button

 

Commenti  

 
#1 raph1328 2012-07-14 18:15
L'ho provato su Office 2010 (ed evidentemente funziona!)
Devo segnalare un errore! Se voglio creare la decklist, indipendentemen te dalle opzioni, ignora le carte selezionate in Colorless|Utilità.
Complimenti per "un pizzico di sana follia", inserire tutti i testi delle carte con copia & incolla senza l'aiuto di VB è sorprendente!