Tornei
Pannello Tornei
Il pannello Tornei: un torneo per riga, numero di partite, PR del giocatore di riferimento.
Il pannello Tornei (CTRL-Y) permette di raggruppare i match in tornei per un monitoraggio organizzato e un’analisi statistica per evento. I tornei possono essere creati, rinominati ed eliminati; i match possono essere assegnati ad essi. Le statistiche del pannello Stats possono essere filtrate per torneo. Premere CTRL-Y per mostrare o nascondere il pannello.
Nuovo torneo apre il campo di creazione, che prende il focus; ESC o Annulla lo richiude. Il campo filtro, nella fascia d’intestazione, restringe l’elenco mentre si digita: ogni parola digitata deve comparire nel nome, nel luogo o nella data, il contatore indica «mostrati / totale» e ESC svuota il campo. Un clic evidenzia una riga, un doppio clic o INVIO apre il torneo. La sua intestazione riporta la data, il luogo e il numero di match, che un clic trasforma nell’elenco delle posizioni del torneo; a destra, le note, Dirigi e Bilancio. Sotto, i suoi match, uno per riga, che ▲ e ▼ riordinano, che ⇄ scambia di giocatori e che × toglie dal torneo. Un clic su un match mostra sotto la tabella la sua scheda, la stessa del pannello Match (schede Trascrizione, Grafici, Da rivedere, Dettagli, Info, Statistiche); un secondo clic o ESC la chiude, un doppio clic o INVIO apre il match sulla scacchiera. Il campo Aggiungi un match… vi colloca un match del database, e ← riporta all’elenco dei tornei.
Ogni riga inizia con il suo rango (#) e la sua data, come nel pannello Partite: l’elenco va dalla più recente alla più vecchia, e un clic su un’intestazione lo ordina. Un torneo senza data prende quella della sua partita più vecchia, mostrata in grigio; viene letta, mai scritta nel database. Il campo data del modulo di modifica resta vuoto finché non vi si scrive qualcosa: la data letta compare solo in grigio, accanto al campo, e il salvataggio scrive una data solo se è stata digitata.
I tornei si riempiono da soli all’importazione. I file XG, GnuBG e BGF indicano il loro evento; all’importazione di una nuova partita, blunderDB la classifica nel torneo con quel nome e lo crea se non esiste ancora. Il luogo resta vuoto, e la data è quella della partita più vecchia finché non la si inserisce qui. Una partita già presente nel database non viene mai riclassificata: reimportarne il file non annulla la classificazione fatta a mano.
Le colonne PR e MWC di ogni torneo mostrano il PR e la perdita di MWC del giocatore di riferimento, sulle sole sue decisioni. È il giocatore principale della base non appena una delle sue decisioni analizzate conta nel torneo, qualunque sia il suo numero di match: è riconosciuto sotto tutti i suoi alias, le cui decisioni si sommano. In assenza di un giocatore principale, o se nessuna delle sue decisioni analizzate conta in questo torneo (match non analizzato), è il giocatore presente nel maggior numero di match del torneo; in caso di parità, quello che ha preso più decisioni, poi il nome che viene per primo nell’ordine dei caratteri (una lettera accentata dopo z). Il PR non mescola quindi il vostro gioco con quello dei vostri avversari: una volta designati come giocatore principale, riflette la vostra prestazione da sola in ciascuno dei vostri tornei, anche di un solo match. Il nome del giocatore di riferimento compare in un suggerimento al passaggio sul valore.
Bilancio del torneo. Il pulsante Bilancio, nell’intestazione di un torneo aperto, risponde alla domanda che ci si pone tornando da una competizione: ho giocato al mio livello e, se no, dove ha ceduto? Per impostazione predefinita il giocatore è il giocatore principale se ha giocato nel torneo, altrimenti il più presente nei suoi match (a parità, il nome che viene per primo nell’ordine dei caratteri); il menu Giocatore ne sceglie un altro. Le soglie sono state fissate prima di esaminare qualsiasi risultato.
Il livello abituale è questo giocatore nei suoi match a punti dei 365 giorni precedenti il torneo (la sua data o, in mancanza, quella del primo match), esclusi quelli del torneo. Conta solo il prima: è il livello che si aveva arrivando. Servono almeno 5 match; altrimenti è dichiarato sconosciuto.
PR e perdita MWC (eq. 7 pt) del torneo rispetto al livello abituale, ciascuno con il proprio intervallo al 95 % sui match. Il verdetto — peggio, meglio, nella norma — riguarda lo scarto e il suo intervallo; è emesso solo con un intervallo e almeno 20 decisioni per parte, altrimenti si legge insufficiente. Un torneo di tre match dice raramente «peggio»: le cifre restano visibili, il verdetto attende la prova.
Per turno: ogni match nell’ordine del torneo, con l’avversario, il suo PR (intervallo sulle partite) e la sua perdita eq. 7 pt, rispetto al PR abituale.
Per posizione della decisione nel match, a fasce di 30 decisioni: se la fine dei match lunghi costa più del solito, è la stanchezza da lavorare (pause, ritmo), non una famiglia di posizioni.
Per punteggio: DMP, partita Crawford, post-Crawford e altri punteggi, rispetto agli stessi punteggi del livello abituale — i punti in cui un errore decide il match.
Per ritmo: decisioni rapide o ponderate, da una parte e dall’altra della mediana dei tuoi tempi per questo tipo di decisione nel match. È così che si legge l’orologio: la riserva di tempo non è registrata mossa per mossa.
Famiglie di errori del torneo: al massimo tre famiglie del piano di studio (vedi Piano di studio) limitato agli errori del torneo, con le stesse regole (5 errori quantificati, limite inferiore positivo); le altre sono contate «da confermare». Sono le sessioni da prevedere per prime.
stats tournament stampa lo stesso bilancio, e il server lo serve tramite /v1/stats.tournamentReview.
Dirigere un torneo
blunderDB sa dirigere un torneo, non soltanto archiviarlo. La direzione è retta dal motore Nicomaque, di Nicolas Harmand: è lui che tiene il formato, gli abbinamenti, i tabelloni e la classifica; blunderDB gli dà la sua interfaccia e conserva i suoi match. Il pulsante ⓘ dell’intestazione della Direzione ricorda questo credito e porta al repository e alla documentazione del motore.
Un torneo diretto si sceglie nel pannello Pannello Tornei (CTRL-Y, comando direct): aprire un torneo, poi Dirigi. Un torneo già diretto mostra il suo stato accanto al nome e il pulsante diventa Apri la direzione. Finché una direzione è aperta, l’area principale mostra il torneo al posto del tavoliere — è l’unica eccezione di blunderDB a questa regola; passare a qualsiasi altra scheda riporta il tavoliere. Esci dalla direzione, nell’intestazione della vista, o Chiudi la direzione, nel pannello, la chiudono.
Una direzione ha tre stati: in preparazione finché nessun match è stato lanciato, in corso poi, terminato una volta chiuso il torneo e congelata la classifica. Riaprire un torneo chiuso è possibile, e richiede una conferma: la classifica finale cessa di essere definitiva.
Tutto ciò che viene deciso è scritto in un registro, e nient’altro lo è. La classifica, i tabelloni, le proposte e gli avvisi sono riprodotti da questo registro a ogni apertura: un’interruzione di corrente non costa nulla, e una correzione non cancella mai ciò che è accaduto — si aggiunge.
La pagina Direzione
È qui che il direttore passa la maggior parte del tempo. Dall’alto in basso: gli avvisi del motore, che restano visibili e non bloccano mai nulla; la griglia dei tavoli, la cui intestazione porta il pulsante Stampa il foglio degli abbinamenti; l”ultima decisione; la coda delle proposte; e i giocatori liberi. La griglia precede la coda: una coda lunga non la spinge mai fuori dallo schermo. Con la tastiera, la prima sosta di TAB nella pagina è «Vai alla coda», che porta il fuoco sulla coda senza attraversare la griglia; la coda ricorda sotto il titolo le sue scorciatoie (J e K, INVIO, SINISTRA e DESTRA).
La vista occupa tutta la larghezza dell’area principale, e ogni scheda scorre per conto suo: uscire da una scheda e tornarci, o passare da una prova all’altra, ripristina la posizione in cui era stata lasciata. I pulsanti e i campi sono alti almeno 44 pixel, per essere colpiti senza precisione al banco; il numero di colonne della griglia segue la larghezza dell’area, non quella della finestra. Nelle Impostazioni, ogni sezione si ripiega sul proprio titolo, e il pulsante Apri nel browser delle Impostazioni e il pulsante Pagina murale dell’intestazione aprono la pagina murale con un clic non appena è scelta una cartella di uscita; la barra di stato indica il percorso del file scritto. Iscrizione, ritardatario, fase successiva, sorteggio, lancio di un match e chiusura vi lasciano anche un riscontro («Sophie Martin iscritta — 16 iscritti»).
Una Direzione si apre sui suoi Giocatori finché il torneo non è avviato, poi sulla scheda Direzione, e sulla scheda in cui era stata lasciata quando la si riapre. Dopo un ricaricamento o un riavvio dell’applicazione, l’ultima Direzione aperta si riapre da sola, sulla stessa scheda. Un secondo clic su Dirigi o su Apri la direzione mentre la vista si carica viene ignorato.
Un turno proposto si annuncia prima di avviarlo: Prossimo turno…, accanto a Stampa il foglio, chiede la data e l’ora da stampare («lunedì 21/09, ore 20») e stampa il foglio degli abbinamenti della coda, contrassegnato come «annunciato». Nulla viene avviato né scritto nel registro: il turno si avvia il giorno stabilito, alla sua ora. Un abbinamento in attesa di un tavolo libero porta un trattino al posto del numero di tavolo.
In cima alla vista del torneo, la barra dell’orologio sta in una riga: l’ora, il tempo trascorso dal primo match avviato, i match giocati e in corso, il ritmo osservato in minuti per punto rispetto a quello previsto, i match lenti, la prossima pausa e la fine stimata. La fine stimata è la previsione del motore: rigioca il registro, termina il torneo quindici volte al ritmo previsto, e la barra ne dà la mediana, spostata dopo le pause dichiarate. Una notte non dichiarata come pausa conta quindi come gioco. Un orario che non è di oggi porta il suo giorno.
Dal secondo giorno, il tempo trascorso lascia il posto al giorno di gioco (il giorno del primo match avviato è il giorno 1) e al tempo di gioco: il tempo durante il quale almeno un match era in corso, senza le notti né gli intervalli in cui nessun tavolo giocava. Un torneo chiuso non ha più la barra dell’orologio.
Una proposta si conferma con un clic su Lancia. Lancia tutto conferma in due clic le proposte che hanno un tavolo, dopo averne mostrato l’elenco; Conferma è in testa a quell’elenco. Gli abbinamenti senza tavolo restano in coda, segnati «nessun tavolo libero»: in modalità a turni, un turno resta aperto finché tutti i suoi giocatori non vi sono impegnati. Anche un ripescaggio tra pari merito attende la scelta del direttore, e con esso il passaggio di fase. «Ignora per ora» non scrive nulla: il motore è deterministico, e la proposta torna identica alla chiamata successiva. Abbina a mano resta sempre disponibile — il motore propone, il direttore decide.
Un match abbinato a mano senza numero di tavolo prende il primo tavolo libero; un tavolo dove è in corso una partita viene rifiutato. Se tutti i tavoli sono occupati, viene avviato comunque e la sua casella compare in fondo alla griglia, «senza tavolo», finché non lo si sposta su un tavolo.
Una proposta può portare un’osservazione del motore: nessun tavolo libero, o una fine partita prevista durante una pausa. Resta lanciabile in entrambi i casi. Quando una fase funziona a micro-turni, la coda mostra il tempo che manca al lotto successivo; alla scadenza le proposte compaiono da sole, e nulla si lancia da solo.
La scheda del risultato
Un clic su un tavolo occupato apre la scheda della partita. Mostra due grandi bersagli: i nomi dei due giocatori. Cliccare quello che ha vinto registra il risultato — due clic in tutto, tavolo compreso. Il vincitore è l’unica cosa richiesta; il punteggio è libero, l’uno, entrambi o nessuno. Da tastiera, SINISTRA o DESTRA sceglie il vincitore e INVIO lo registra. La scheda si chiude solo quando il risultato è scritto: un errore la lascia aperta, con il suo messaggio.
Il pulsante ⋯ della scheda apre ciò che serve di rado: il forfait — ogni pulsante nomina l’assente e chi vince —, una nota libera («caduto per tempo», «abbandonato per motivo di…»), lo spostamento della partita su un altro tavolo e il suo annullamento. Il forfait e l’annullamento si confermano; il forfait con un pulsante Dichiara forfait, che propone anche di ritirare il perdente nella stessa scheda. Spostata su un tavolo occupato, la partita scambia il suo tavolo con quella che lo occupa: due partite non condividono mai un tavolo, e lo stesso gesto le rimette a posto. Se un vecchio registro ne ha lasciate due su un tavolo, la griglia mostra le due caselle, segnalate, finché non se ne sposta una.
Un errore di digitazione visto subito si riprende in due clic sotto la griglia: Correggi l’ultima decisione, poi il vincitore giusto (CTRL-Z apre la stessa ripresa). Una correzione più vecchia si fa dalla cronologia.
Schermo intero
Il tasto F11 della pagina Direzione, o il pulsante in basso a destra, la mette a schermo intero: la barra degli strumenti, le schede, la scacchiera, il pannello e la barra di stato scompaiono e l’intera finestra passa alla direzione. La modalità attraversa le schede della direzione (Direzione, Giocatori, Cronologia, …). Un menu o una scheda aperti si chiudono prima con ESC; un secondo ESC, o F11, esce dallo schermo intero e riporta la finestra allo stato precedente. Anche lasciare la pagina, cambiando scheda dell’applicazione o chiudendo la direzione, vi pone fine.
La ricerca rapida
Il tasto / della pagina Direzione apre la tavolozza sul solo torneo: giocatori, tavoli, match in corso e prove dell’evento aperto, o della prova da sola quando non è in nessun evento. Si digita un nome, un club o un numero di tavolo («4» o «t4»); i giocatori a un tavolo vengono prima dei giocatori liberi. INVIO porta all’oggetto: un giocatore in un match, un match o un tavolo occupato aprono la scheda del tavolo, un tavolo libero riceve il focus nella griglia, un giocatore libero compare nella scheda Giocatori filtrato sul suo nome, una prova diventa la scheda corrente. Un risultato di un’altra prova dell’evento cambia prima prova. ESC chiude senza aprire nulla, e in un campo di testo il tasto resta una barra. CTRL-MAIUSC-P apre la tavolozza completa, che contiene anche il torneo.
I giocatori
La scheda Giocatori iscrive, corregge e ritira. Il campo d’iscrizione mantiene il focus e si svuota dopo ogni nome: venti giocatori si iscrivono con la sola tastiera. Il completamento automatico propone i giocatori della base; sceglierne uno fissa l’ortografia esatta che portano le sue partite e precompila il suo punteggio con il PR.
La rubrica raccoglie gli iscritti di tutti i tornei diretti della base, senza duplicati per nome, con il club e il punteggio della loro ultima iscrizione. Non è mai memorizzata: eliminare una direzione ne toglie gli iscritti. Riprendere gli iscritti di un torneo precedente è un clic, quanti che siano; la rubrica si copia in CSV o si salva in un file (Salva…), e si rilegge incollata.
Un torneo di doppio iscrive coppie: la casella Coppia aggiunge nome, club e valutazione del compagno. La coppia gioca con il nome «A / B», che portano anche le sue partite; la sua valutazione è la media delle due, e un valore inserito in Valutazione della coppia la sostituisce. L’annuario conserva le due persone, mai la coppia.
Prima di Iscrivi, l’anteprima di un CSV incollato elenca le righe illeggibili — senza nome, senza separatore quando le altre righe ne hanno uno, un punteggio che non è un numero — e i doppioni, all’interno dell’incollato o con un giocatore già iscritto. Un doppione non viene iscritto, a meno di spuntarne la casella.
Il campo filtro dell’elenco conserva il suo testo quando si cambia prova: finché è attivo, accanto compare un’etichetta filtro: … e la sua croce la cancella.
Un ritardatario arrivato dopo il sorteggio prende un bye libero se il tabellone ne offre uno, e l’interfaccia scrive accanto al campo dove entrerà prima di convalidare. Senza posto libero, viene iscritto lo stesso e la vista dice in quale fase entrerà. Nessun sorteggio già fatto viene rifatto.
Un ritiro avviene ora oppure dopo la partita in corso, a seconda che il giocatore vada via subito o finisca quello che sta giocando; si conferma con un pulsante Ritira, non rosso perché nulla viene eliminato.
Un giocatore che salta un turno non ha bisogno di essere ritirato: Segna assente, sulla sua riga, apre un piccolo modulo sotto il suo nome — fino a un’ora (precompilata con l’ora successiva), oppure, quando la fase in corso è uno svizzero a turni, fino al turno con il suo numero. Il motore smette allora semplicemente di abbinarlo, ma il suo rango, le sue vite e il suo posto nel tabellone restano quelli che si è guadagnato — l’assenza non è un forfait. Rientra, sulla sua riga, toglie l’assenza con un clic, prima o dopo la scadenza dichiarata.
Correggere la scheda di un giocatore ritirato — nome, circolo, punteggio — lo lascia ritirato. Il suo ritorno è un gesto a parte: Reiscrivi, sulla sua riga. Torna a essere abbinato, con i risultati e le vite che aveva quando si è ritirato; i match persi a tavolino al ritiro restano persi.
Un qualificato di girone che si ritira prima del sorteggio della fase successiva lascia un posto libero. La coda propone allora un ripescaggio: il successivo del suo girone, né qualificato né ritirato, con il maggior numero di vittorie di girone, prende il suo posto. Tra pari merito, la coda propone ciascuno di essi e il direttore sceglie; «Fase successiva» senza ripescaggio lascia il posto in esenzione. Una volta sorteggiato il tabellone, il ritirato perde il suo match per forfait.
Tabelloni, posti, classifica, cronologia
La scheda Tabelloni disegna i tabelloni con le loro linee di collegamento, dal primo turno alla finale, la consolazione accanto al tabellone principale e, per uno svizzero, la tabella delle vite. Un girone si legge come tabella incrociata dei risultati. Un tabellone non ancora sorteggiato mostra il suo scheletro in grigio. Una partita già giocata porta il suo risultato; una partita segnalata dal motore è contrassegnata sul posto. Un punto accanto al nome della scheda indica che un tabellone è in corso.
Cliccare un posto (o premere Invio su un posto focalizzato) apre su di esso la stessa scheda della griglia dei tavoli: il vincitore di una partita in corso si inserisce con due clic, e una partita terminata si corregge cliccando il nome del vero vincitore.
La scheda Match (intitolata «Posti») collega il torneo alla libreria. Ogni match del torneo è un posto, che si riempie in due modi: trascrivere il match subito (Pannello Trascrizione), oppure agganciarvi un match già importato. Nulla viene agganciato per deduzione: una coincidenza di nomi è un suggerimento da accettare, un abbinamento parziale non è nemmeno suggerito, e se il file di un match agganciato contraddice il risultato registrato, lo scarto è mostrato senza essere risolto — durante un torneo, la parola del direttore fa fede.
La scheda Classifica mostra la classifica corrente, sezione per sezione, con il bilancio di ciascuno (vittorie–sconfitte) e i premi quando è impostato un montepremi. Due pari merito condividono il posto e il premio. Un giocatore ritirato conserva il posto che il suo percorso gli vale, segnato «ritirato» con il suo bilancio o il punto del tabellone in cui si è fermato. Chiudi il torneo congela la classifica finale. La classifica si copia in CSV, nella lingua dell’interfaccia, con la sezione e l’ultima fase in cui ciascuno è entrato, o si salva in un file: Salva… apre la finestra di dialogo del sistema su un nome proposto, il torneo seguito dalla parola «classifica» e dalla data odierna, e il file contiene esattamente il CSV copiato. Da riga di comando, blunderdb tournament standings scrive lo stesso CSV. Il nome di un giocatore è un link: apre la Cronologia filtrata su di lui, dove ciascuno dei suoi risultati si corregge.
Chiudere senza match in corso è un clic; quando tutto è giocato, la coda propone anche Chiudi il torneo, che si lancia come un’altra proposta. Con match in corso, la Classifica dice quanti sono e attende un secondo clic sul posto: chiudere congela la classifica senza di loro, e il loro risultato non si inserisce più. Riapri si conferma allo stesso modo; la classifica finale smette allora di essere definitiva, e la riapertura resta nel registro.
La scheda Cronologia è il registro in chiaro: una riga per decisione, in ordine, filtrabile per giocatore o per partita. È ciò che un direttore rilegge dopo una contestazione, ed è lì che una decisione più vecchia si corregge o si annota. Una riga di risultato nomina i due giocatori: il vincitore e il suo avversario.
Correggi, sulla riga di un risultato, apre sotto di essa la stessa ripresa dell’ultima decisione: si clicca il vincitore giusto, con il punteggio se serve. Il risultato originale resta al suo posto nel registro, la correzione vi si aggiunge, e la classifica ne tiene conto subito.
Le impostazioni
La scheda Impostazioni si apre su formati con nome: sei tornei di club pronti all’uso, il primo dei quali è consigliato. Sceglierne uno basta per iniziare; i campi restano modificabili in seguito.
Si impostano qui: le fasi (Aggiungi una fase la aggiunge dopo le altre; una fase già aperta non si toglie) e la lunghezza dei loro match, quella della finale, le lunghezze turno per turno di un tabellone («15, 13, 11» si legge dall’ultimo turno all’indietro), la lunghezza finale (match più lunghi a partire da un numero di giocatori ancora in gara), i micro-turni (abbinare a lotti ogni N minuti), il numero di tavoli, il ritmo previsto in minuti per punto (8 per impostazione predefinita; la barra dell’orologio e la fine stimata ne partono), le pause della giornata, il montepremi (quota d’iscrizione, trattenuta del club, tabella per sezione) e la cartella di visualizzazione.
Un tabellone ha tre caselle: Consolazione (i suoi sconfitti giocano un secondo tabellone, una sezione a parte in classifica), Riconciliazione (il vincitore della consolazione affronta quello del tabellone principale; la casella compare solo con la consolazione) e Ricarica (in doppia eliminazione, il vincitore del tabellone principale deve essere battuto due volte; la casella compare solo con la riconciliazione). Una consolazione ha una classifica propria solo con una scala di premi: finché quella della sezione Consolazione è vuota, le Impostazioni lo ricordano. Una fase a Gironi si imposta con la dimensione dei gironi (4 per impostazione predefinita) e il numero di qualificati per girone (2 per impostazione predefinita).
La soglia di una fase svizzera è la somma delle vite rimaste a partire dalla quale si passa al tabellone. Se la somma delle vite iniziali (giocatori × vite) è già inferiore o uguale alla soglia, la fase svizzera verrebbe saltata: le Impostazioni lo segnalano prima del primo avvio.
Le impostazioni restano accessibili durante il torneo: abbassare la soglia alle 22 per finire prima, aggiungere una consolazione il sabato sera, finché il tabellone non è sorteggiato. Ciò che è allora bloccato appare in grigio con il suo motivo: il formato di una fase aperta, il numero di vite che ha distribuito e, dal sorteggio di una fase, la dimensione dei suoi gironi e il numero di qualificati. Salvare durante il torneo mostra prima l’elenco di ciò che cambierà e chiede conferma. Ciò che il motore rifiuta vi figura con il suo motivo, e allora nulla viene salvato: è il caso della consolazione, della riconciliazione o della ricarica di un tabellone già sorteggiato.
Un tavolo con la tavola rotta si dichiara in Tavoli fuori servizio: i suoi numeri, separati da virgole («7, 12»). Il motore non lo assegna più, e la griglia lo mostra non disponibile; abbassare il numero di tavoli toglierebbe l’ultimo, non quello rotto. Se un match è in corso su un tavolo messo fuori servizio, l’elenco di ciò che cambierà lo dice e indica un tavolo libero dove spostarlo, dalla scheda del match.
Le teste di serie sono un’opzione, disattivata per impostazione predefinita: lo studio del motore conclude «nessuna testa di serie protetta», che è la cultura attuale del backgammon. Attivate, i giocatori sono piazzati per punteggio.
Le prove di un evento
Più prove giocate sugli stessi tavoli — una principale, una speed, un doppio — si raggruppano in un Evento, in cima alle Impostazioni (ripiegato sul suo titolo quando la prova vi è collegata; il pulsante Impostazioni dell’evento della scheda Tutti i tavoli vi conduce): Crea e collega… crea l’evento con il suo numero di tavoli, Collega… vi aggiunge una prova diretta. Collegare mostra prima cosa cambierà: i tavoli della prova diventano quelli dell’evento. Stacca dall’evento restituisce la prova a sé stessa, con il suo registro e i suoi tavoli; Elimina l’evento, dopo conferma, lo mette nel cestino e stacca le sue prove senza eliminarne alcuna.
In un evento nessuna prova propone un tavolo dove ne gioca un’altra: la griglia mostra quei tavoli occupati, con il nome della prova, e un abbinamento senza tavolo libero attende. Un tavolo fuori servizio si spunta una volta, nell’evento, e vale per tutte le sue prove; il numero di tavoli, i tavoli fuori servizio e le pause modificati nelle Impostazioni di una prova valgono anche per l’evento, e l’elenco di cosa cambierà nomina le altre prove.
Le proprietà dei tavoli si impostano nel pannello Evento: una tabella con una riga per tavolo, con il suo nome («Stream», per esempio), la sua sala (un’etichetta libera), una casella Riservato e i giocatori a cui è Assegnato a, scelti tra gli iscritti alle prove dell’evento. Per quaranta tavoli, Tavoli da N a M, sala imposta una sala su un intero intervallo in un colpo solo; Salva scrive solo i tavoli che hanno una proprietà, gli altri restano tavoli ordinari. Un tavolo riservato non viene mai proposto, ma vi si può collocare un incontro a mano, con un lancio, uno spostamento o un trascinamento. Un tavolo assegnato riceve per primo l’incontro del suo titolare, quando è libero; altrimenti l’incontro riceve un tavolo ordinario, e fuori dagli incontri dei suoi titolari si comporta come un tavolo riservato. Due titolari di tavoli diversi che si incontrano giocano sul più piccolo dei due.
Una sala è l’insieme dei tavoli che portano la stessa etichetta: «sala A» per i tavoli da 1 a 20, «sala B» per i successivi. Nelle Impostazioni di ciascuna prova collegata, Sale in cui gioca questa prova spunta le sale in cui gioca: il DMP in B, lo speed in A. Senza alcuna casella spuntata, sono tutti i tavoli; una prova non riceve alcuna proposta fuori dalle sue sale e non può spostarvi un incontro. Togliere una sala che ospita un incontro in corso della prova viene rifiutato, indicando il tavolo. Una prova che gioca da sola imposta le stesse proprietà dei tavoli nelle proprie Impostazioni, senza sale di prova.
La Classifica di stagione, nel pannello Evento, somma le prove chiuse dell’evento: ogni posto porta i punti del Punteggio (il vincitore per primo, 25, 18, 15, 12, 10, 8, 6, 4, 2, 1 per impostazione predefinita), e i pari merito si dividono la media dei posti che occupano. Una persona è riconosciuta da una prova all’altra dal nome. Elo di club aggiunge una colonna: ciascuno parte da 1500 e le partite della stagione sono rigiocate in ordine, secondo la formula di FIBS. Calcola mostra la classifica, Copia come CSV la copia con una colonna di punti per prova. Una prova non chiusa non porta nulla.
Aprire la Direzione di una prova di un evento apre anche le altre: in alto nella Direzione appare una scheda per prova, ciascuna con il proprio riepilogo — proposte in attesa, match in corso, un avviso se ce n’è uno. Cambiare prova è un clic sulla sua scheda, senza conferma; la prova lasciata non si chiude e non riesegue nulla, resta come la si è lasciata. Un torneo fuori da qualsiasi evento ha una sola prova: nessuna scheda da mostrare. Cambiare scheda dell’applicazione e poi tornare a Tornei restituisce la Direzione come la si era lasciata: la stessa prova o Tutti i tavoli, e la stessa scheda della vista.
La scheda Tutti i tavoli, a sinistra delle prove, mostra tutti i tavoli dell’evento in un’unica griglia: una casella per tavolo, qualunque sia la prova che lo occupa, contrassegnata dal nome e dal colore della sua prova. La scheda del risultato, i menu contestuali, la tastiera e il trascinamento funzionano come nella griglia di una prova, e ogni gesto si rivolge alla prova della sua casella. Trascinare un match su un tavolo occupato da un’altra prova scambia i due match dopo una conferma che nomina entrambe le prove. Sotto la griglia, le proposte di tutte le prove formano un’unica coda, ciascuna contrassegnata dalla sua prova e con il proprio pulsante Avvia: i giocatori che aspettano da più tempo passano per primi, così che una prova non aspetti la fine del turno di un’altra. Un match senza tavolo — tutti i tavoli occupati, o un giocatore impegnato in un match di un’altra prova — segue la coda con il suo motivo, senza pulsante Avvia, finché un tavolo o il giocatore non si libera. Fare clic su una prova o su una scheda di vista esce da Tutti i tavoli.
Quando l’evento ha più sale, la griglia è raggruppata per sala, sotto il nome di ciascuna. Il nome di un tavolo è mostrato accanto al suo numero, con una bandiera per un tavolo riservato e una stella seguita dai titolari per un tavolo assegnato; anche le proposte nominano il tavolo.
Una stessa persona può giocare più prove dell’evento: due Partecipanti con lo stesso nome sono la stessa persona, e per una coppia di doppio conta ciascuno dei due membri. Finché gioca in una prova, le altre non la propongono, e la loro lista In attesa dice dove gioca: «gioca nel principale, tavolo 4». Un match di tabellone che la aspetta resta nella coda, e avviarlo viene rifiutato finché gioca. L’abbinamento a mano resta consentito: il match inizia, e la sua casella della griglia porta la stessa indicazione.
Visualizzazione del torneo
Un torneo si guarda. Scegliere una cartella del display nelle Impostazioni basta una volta per tutte: blunderDB vi riscrive una pagina HTML autonoma a ogni cambiamento, e la pagina si ricarica da sola. Si apre offline, su un secondo schermo o proiettata, e non carica alcuna risorsa esterna. Apri nel browser la mostra subito.
I giocatori possono anche seguire il torneo sul telefono. Nelle Impostazioni della Direzione, la voce Mostra sulla rete del club avvia un piccolo server web sulla macchina del direttore (porta 8770 per impostazione predefinita, modificabile) e mostra il codice QR del suo indirizzo, con l’indirizzo in chiaro accanto: un telefono connesso alla stessa rete lo scansiona e vede la pagina di visualizzazione di questo torneo — tabellone, abbinamenti, risultati, classifica. La pagina si aggiorna da sola ogni dieci secondi; un risultato inserito vi compare senza toccare nulla. Apri su questa macchina la apre nel browser della postazione. Interrompi la visualizzazione chiude il server, che si ferma anche alla chiusura di blunderDB.
La visualizzazione è spenta finché il direttore non la accende, ed è in sola lettura: serve solo la pagina di questo torneo, nessun altro dato del database, e non si può inserire nulla. Non c’è nessuna password: chiunque sia sulla rete locale può leggere la pagina (nomi, abbinamenti, risultati) — ciò che uno schermo a parete mostra già alla sala. Il server ascolta solo sull’indirizzo proposto e su questa macchina. Su una macchina collegata a più reti, un elenco propone i suoi indirizzi: prima quelli delle reti private (192.168.x.x, 10.x.x.x, da 172.16.x.x a 172.31.x.x), poi quelli delle reti virtuali (container, VPN). Un indirizzo fuori dagli intervalli privati è segnalato da un avviso: la pagina potrebbe lì essere leggibile oltre il circolo. Senza rete locale, il pannello lo dice e non disegna alcun codice QR. La visualizzazione si ferma quando un altro file viene aperto, creato o chiuso. Avviare la visualizzazione su una porta già occupata lo dice chiaramente e lascia in funzione la visualizzazione in corso; riavviarla sulla propria porta la sostituisce subito.
Il firewall della macchina del direttore deve lasciare entrare la porta scelta: Windows chiede l’autorizzazione al primo avvio, mentre il firewall di un sistema Linux blocca la porta senza dire nulla. I telefoni, dal canto loro, devono essere sulla stessa rete della macchina. Su un telefono, la pagina sta nella larghezza dello schermo (le tabelle scorrono da sole) e, se la visualizzazione è ferma o irraggiungibile, scrive «Affichage interrompu : données de HH:MM» invece di far credere di essere aggiornata.
Il foglio degli abbinamenti si posa sul tavolo dell’accoglienza: un clic su Stampa il foglio apre la finestra di stampa del sistema. Una riga per partita — i due giocatori, la lunghezza, il tavolo, due caselle vuote per il punteggio — e un turno di trentadue giocatori sta su una pagina A4.
Un evento ha una propria cartella di uscita, scelta una volta nel suo pannello Impostazioni con lo stesso pulsante Scegli cartella: blunderDB vi scrive index.html, la pagina murale dell’evento — una riga per tavolo, qualunque sia la prova che lo occupa, con i turni annunciati di ciascuna prova e un link alla sua pagina — e ogni prova collegata scrive la propria in una sottocartella. Un gesto in qualsiasi prova dell’evento rigenera la pagina murale; la cartella propria di una prova collegata è conservata ma ignorata finché resta nell’evento.
Quando una prova è in fase di tabellone e questo è stato sorteggiato, la sua pagina murale e quella dell’evento mostrano l’albero in grande, leggibile da lontano: una colonna per turno, con i perdenti che scendono nella consolazione tratteggiati. La pagina scorre da sola, senza script, tra il suo contenuto abituale (i tavoli, per l’evento) e l’albero di ogni prova a tabellone, dodici secondi ciascuno; si ricarica sempre ogni trenta secondi e riprende la rotazione da dove era. Una prova senza tabellone — una fase svizzera, ad esempio — non ha albero e la pagina resta quella di prima.
Sotto la voce «Gioco io?», la pagina di una gara e la pagina murale dell’evento nominano i giocatori che in questo momento non giocano, così come il motore li colloca: «eliminato/a» quando non resta più alcun match da giocare, «qualificato/a» con il nome della fase in cui entra il giocatore, «non ancora deciso» quando la sua sorte dipende dalla fine della fase o da un ripescaggio che il direttore non ha risolto, «esentato/a — entra al turno N» per un giocatore sorteggiato senza avversario nel tabellone, finché non ha giocato, «esentato/a — rigioca al turno N» per l’esentato di un turno svizzero, e «vincitore/vincitrice». La classifica subentra una volta terminato il torneo.
Fuori dall’interfaccia, il sottocomando blunderdb tournament rilegge un torneo diretto senza interfaccia grafica: list, verify, standings, page ed export; proposals mostra la coda del motore, numerata, e confirm ne conferma una, ripescaggio compreso; ranking --season cumula i tornei chiusi di un evento o di un periodo in una classifica di stagione, con una tabella di punti per posto e, a scelta, un Elo di club (due iscritti con lo stesso nome in una stessa prova chiusa fanno rifiutare la classifica, che conosce una persona dal suo nome); page --rencontre scrive la pagina murale di un evento anziché la pagina di una sola prova; hall stampa la griglia Tutti i tavoli di un evento e la sua coda, tables le proprietà dei tavoli e le sale delle prove. Vedi Interfaccia a riga di comando (CLI).