I file
Bridge Suite usa due file: il file INxxx.txt per l’elenco delle mani da giocare, in ingresso, e il file OUTxxx.txt, in uscita, dove si aggiungono i risultati e la sequenza di dichiarative.
Nome file
Il nome dei file, oltre alla radice IN e OUT, è composro con l’aggiunta del numero della coppia, del tavolo o della mano. Nel caso di tavolo, il numero è preceduto da T, e nel caso di mano da B (per Board).
Ad esempio i file saranno
IN_1.txt IN_2.txt IN_101.txt IN_102.txt
e
OUT_1.txt OUT_2.txt OUT_101.txt OUT_102.txt
Per le Coppie 1, 2, 101 e 102 rispettivamente
e
IN_T1.txt IN_T2.txt IN_B1.txt, IN_B4.txt, e idem per i file OUT
per i tavoli 1 e 2 e le mani 1,2,3 e 4,5,6 rispettivamente.
Nel caso di numero di mano si intende il numero della prima mano del gruppo di mani per turno. Nell'esempio abbiamo un turno di 3 mani per turno.
Dove sono i file
Se, come di regola, si usa la Cloud Dropbox i file sono nella cartella indicato in Preferenze partendo dalla root di Dropbox e sono aggiornati automaticamente tra il PC del torneo e tutti i tablet/smartphone.
Se invece si sceglie di usare file interni al table la cartella e nella root della memoria SDCARD
Se non si usa Dropbox, è compito del gestore torneo il caricamento e la lettura dei file nel e dalla memoria SDCARD.
Formato dei file
Il formato è un semplice CSV, cioè stringhe separate da virgola e da a capo a fine riga
File IN
I campi per il file IN sono:
tavolo, mano, copia NS, copia EO, dichiarante, vulnerabile NS, vulnerabile EO
Ad esempio, il file IN sul tablet/smartphone della coppia 2 (IN_2.txt) sarà :
3,1,2,4,N,false,false
3,2,2,4,E,true,false
3,3,2,4,S,false,true
2,19,2,6,S,false,true
2,20,2,6,O,true,true
2,21,2,6,N,true,false
4,13,2,3,N,true,true
4,14,2,3,E,false,false
4,15,2,3,S,true,false
N.B.: L'esempio fa riferimento ad un torneo Howell dove la coppia 2 gioca sia in NS che in EO, ma nel file IN sono presenti solo le mani in cui la coppia giocherà in posizione NS, altrimenti la stessa mano comparirebbe due volte nei file IN di due coppie. Questa è una regola pratica ma non è un vincolo dato dalla App che non controlla la sequenza.
Se si mettessero tutte le mani nel file IN di una coppia indipendentemente dalla posizione, ogni volta le due coppie (ad esempio le coppie 2 e 4 per la mano 1) dovrebbero mettersi d'accordo su chi registra quel risultato sul "suo" file OUT (cioè su OUT_2 o su OUT_4). Se anche lo registrassero entrambi, poco male, se registrano lo stesso risultato, naturalmente.
Mentre il file per il tablet che rimane fermo sul tavolo 2 (IN_T2.txt) sarà:
2,10,6,3,E,true,true
2,11,6,3,S,false,false
2,12,6,3,O,true,false
2,13,7,4,N,true,true
2,14,7,4,E,false,false
2,15,7,4,S,true,false
2,16,1,5,O,false,true
2,17,1,5,N,false,false
2,18,1,5,E,true,false
2,19,2,6,S,false,true
2,20,2,6,O,true,true
2,21,2,6,N,true,false
2,1,3,7,N,false,false
2,2,3,7,E,true,false
2,3,3,7,S,false,true
2,4,4,1,O,true,true
2,5,4,1,N,true,false
2,6,4,1,E,false,true
2,7,5,2,S,true,true
2,8,5,2,O,false,false
2,9,5,2,N,false,true
File OUT
La sequenza del file OUT, ripete i dati del file in ingresso e aggiunge i seguenti campi:
il contratto giocato, le prese in più o in meno, chi ha giocato, la carta di attacco, il risultato per NS, e la sequenza dichiarativa composta dalla dichiarazione e dal tempo espresso in millisecondi (il tempo della prima dichiarazione è convenzionalmente 0). Un + accanto a una dichiarazione indica che era stata allertata.
Ad esempio le prime tre mani del tavolo 1 producono questo file in uscita
1,1,1,101,N,false,false,2♡,+1,W,J♤,-140,1♤,0,X,6434,PASS,3212,2♡,5435,PASS,2411,PASS,2434,PASS,3210
1,2,1,110,E,true,false,3NT,-1,E,A♧,50,1NT,0,PASS,2421,2♧,3211,PASS,2090,2♢,3121,PASS,2109,2NT,4532,PASS,2019,3NT,6437,PASS,2033,PASS,2010,PASS,2100
1,3,1,109,S,false,true,All Pass,,,,,PASS,0,PASS,2121,PASS,2310,PASS,5321
Si noti che la mano 3 è terminata con un Tutti Passano
Inoltre in testa ai file OUT è riportata questa riga
Latest nn AndroidId xxxxxxxxxxxxxxxxxxxx
nn è il numero dell'ultima mano giocata, in modo che con il bottone Continua! sia richiamata la mano successiva
xxxxxxxxxxxxxxxxx è un identificativo univoco del tablet o smartphone usato. Può servire per evitare interferenze truffaldine durante un torneo.
File OUT criptati
I file OUT possono essere criptati o meno in base alla Preferenza Per Criptare.
I file non criptati terminano con .txt, (esempio OUT_1.txt), mentre quelli criptati terminano com _E.txt (esempio OUT_1_E.txt).
La criptatura è fatta con
- classe Java chipher
- algoritmo AES
- chiave di 128 bit creati ripetendo 4 volte la Chiave Segreta
- codifica con Base64
Per decriptare un file è quindi necessario
- decodificare con Base64
- decriptare con l'algoritmo AES e la stessa chiave