Home / Forum / Suggerimenti / Tornei a squadre atto secondo

Tornei a squadre atto secondo

Ciao Stefano,

ho visto le versioni progredire come i simboli in una slot machine :) Siamo arrivati alla 5.9.0, mentre tu citi al 5.6.9. Te lo dico caso mai fosse un refuso, non avendo visto passare dalla 5.7 e 5.8. Mentre stavo scrivendo ho visto nascere la 5.9.1!


Ho visto anche l'iscrizione ritardatari, nelle versioni intermedie mi consentiva l'aggiunta della squadra ma poi non era possibile popolarla, adesso sembra esserci tutto. Bisogna provarla nei vari casi.


Quando lavori sulle squadre, c'è ancora il "fastidio" che quando espandi una squadra la pagina torna in cima, rendendo poco intuitivo l'inserimento della rosa e constringendo l'utente a scrollare verso il basso. Con molte squadre è particolarmente "annoying". Ricordo che avevamo già indirizzato questo punto, forse è ritornato.


Carina la nuova "Modalità presentazione" e la "Stampa bacheca"... le proveremo. Non sembra funzionare il citato tasto "Q" di "esci". Nulla di male, ma visto che è elencato tra le opzioni...


Per la "Zona pericolosa", sono d'accordo, la richiesta di conferma non è sufficiente (mi sono anche visto in tempo reale i tentativi di dover scrivere il nome del torneo per cancellare...). Sai cosa avevo pensato per questo? Anch'io ho avuto problemi simili, specie per cancellare tornei di test, è un momento cancellare il torneo pubblicato sul nostro sito, o un torneo concluso, con tutto quello che comporta, o peggio durante un torneo. Pensavo a una sorta di "lucchetto" per impedire la cancellazione dei tornei che si sanno essere importanti, come i tornei in corso, o qualunque altra ragione. Il motivo per cancellare un torneo penso che al 99% sia perché è stato un torneo di test, o qualcosa venuta male che voglio far fuori. Allora diamo la possiblità di mettere un "lucchetto" ai tornei importanti, in modo che non sia possibile cancellarli per errore. (sempre però con la possibilità di rimuovere il lucchetto se proprio voglio eliminarlo). Potrebbe essere un buon compromesso tra la facilità di utilizzo e l'evitare errori accidentali. Una conferma, per quanto difficile da inserire (pin, nome torneo, etc.) viene mentalmente saltata quando si è partiti con l'idea di cancellare qualcosa ("Conferma JS passata senza pensarci, cascade DELETE su tutto."). Il lucchetto potrebbe anche ipotizzare di far scegliere i tornei da cancellare dall'elenco tornei (dove si possono duplicare), senza dover aprire il torneo e andare nelle sue impostazioni, sicuramente poco intuitivo (anche se si può opinare che un'azione di cancellazione non debba essere intuitiva).


Più tardi provo il resto, e rifaccio qualche simulazione di torneo... domani sera comincia la nostra combinata, e tutti vogliamo che tutto fili liscio! :)


Grazie e ciao,

Claudio.

Traduzioni: CS · EN · ES · FR · RU

Caro @LTB

Quando ti ho scritto eravamo a v5.6.9, ma dopo la mia mail ho continuato a lavorare e siamo ora a v5.10.1. Saltati v5.7.x (modalità presentazione + stampa bacheca + zona pericolosa codice random), v5.8.x (immagine condivisibile per Instagram/Telegram, paginazione abbinamenti, ottimizzazioni DB), v5.9.x (Web Share API, Bot broadcast con foto al concludi torneo, RR num_turni greyout, refactor banner news), v5.10.0 (backup automatico pre-elimina con ripristino entro 7 giorni). Le release sono fittissime perché ho avuto una giornata libera dedicata.

Ti rispondo per ordine sui tuoi punti:

═══════════════════════════════════════════════════════════

ISCRIZIONE RITARDATARI

═══════════════════════════════════════════════════════════

✓ Sì, è tutto in v5.6.4 e successivamente blindato. Adesso aggiungi una squadra in corso, la popoli con la rosa via UI standard, e al prossimo Genera turno entra correttamente nel pairing con 0 punti. Ho aggiunto anche 10 test automatici più 2 sui Round Robin (PARTE D — bloccato per RR perché ha calendario fisso). Tutti verdi sul torneo pilota. Ti incoraggio a fare un test con un torneo a 4-5 squadre, due turni giocati, poi aggiungi una squadra "ritardataria": dovrebbe entrare al terzo turno senza problemi.

═══════════════════════════════════════════════════════════

SCROLL DELLA SQUADRA

═══════════════════════════════════════════════════════════

✓ Confermato, era una regressione. Quando cliccavi una squadra per espanderla, il server ricaricava la pagina con `&squadra=N` e lo scroll tornava in cima — particolarmente fastidioso con tante squadre. Avevamo effettivamente già sistemato in passato, ma in una delle release intermedie sul tab Squadre la fix è andata persa.

═══════════════════════════════════════════════════════════

TASTO Q IN MODALITÀ PRESENTAZIONE

═══════════════════════════════════════════════════════════

✓ Bug reale, scusa. Stavo usando `history.back()` che però non funziona se la presentazione è aperta in nuova tab (history vuota → niente succede al keypress). Adesso il flusso è:

1. Q in fullscreen → esce dal fullscreen

2. Q di nuovo (o Q senza fullscreen) → se ti ho aperto la presentazione dalla pagina del torneo (referrer same-origin), `history.back()` ti riporta lì

3. Se invece sei arrivato direttamente all'URL, redirect alla pagina pubblica del torneo

Funziona in tutti i casi. Anche `Esc` ha lo stesso comportamento.

═══════════════════════════════════════════════════════════

ZONA PERICOLOSA

═══════════════════════════════════════════════════════════

Hai centrato il punto: una conferma che richieda solo "scrivi un codice/nome" viene saltata mentalmente quando l'utente è partito con l'idea di cancellare. È esattamente quello che è successo stamattina sul nostro torneo di test.

Per questo, oltre al codice random a 2 cifre nella Zona pericolosa (la barriera resta), in v5.10.0 ho aggiunto un backup automatico pre-cancellazion: prima del DELETE viene salvato un JSON con tutto il torneo (squadre, rose, formazioni, turni, partite, spareggi) in una tabella Conservato per 7 giorni Trovi tutto in:


Menu utente → "Tornei eliminati"

(oppure direttamente: my.chesspairings.org/tornei_eliminati.php)


Da lì vedi i tornei eliminati di recente, scadenza del backup, e bottone "Ripristina" che ricrea il torneo con lo stesso ID se libero. Funziona sia per individuali che per squadre. Un cron giornaliero alle 04:00 purga gli scaduti.

Sul tuo suggerimento del lucchetto: tienilo in mente, ne riparliamo. Il backup automatico copre il 99% dei casi ("oh no ho cancellato, ripristino subito"), ma il lucchetto sarebbe un secondo livello esplicito di protezione per i tornei "importanti". Annotato come prossima feature da valutare.

═══════════════════════════════════════════════════════════

MODALITÀ PRESENTAZIONE + STAMPA BACHECA — tutte le prove

═══════════════════════════════════════════════════════════

Quando le provi tieni d'occhio:


Modalità Presentazione (proiettore in sala):

- URL: pulsante "Modalità presentazione" sopra i tab del torneo, oppure direttamente `presentazione.php?id=X&token=Y` per individuali / `presentazione_squadre.php?...` per squadre

- Token pubblico, niente login richiesto — collega laptop al proiettore e via

- 2 slide in rotazione: Classifica top 10 (15s) → Abbinamenti turno corrente (60s, paginati a 10 tavoli per pagina)

- Dati live: auto-refresh ogni 30s, reload completo quando arrivano nuovi risultati o cambia il turno

- Controlli: Spazio = pausa/play (con badge giallo visibile), ← → = naviga manualmente senza pausare, F = fullscreen toggle, Q/Esc = esci


Stampa bacheca:

- Pulsante "Stampa bacheca" sopra i tab (sempre visibile, anche per torneo in stato iscrizioni)

- Genera A4 portrait con 2 QR Code grandi: uno alla pagina pubblica del torneo, uno generico al bot Telegram

- Se il torneo è privato, il QR del torneo viene sostituito da un avviso (per attivarlo servirebbe spuntare "Pagina pubblica del torneo" in Impostazioni)

═══════════════════════════════════════════════════════════

COMBINATA DI DOMANI — in bocca al lupo

═══════════════════════════════════════════════════════════

Domani sera fammi sapere com'è andata. Se durante il torneo dovesse uscire qualche bug o stranezza, segnalamelo però ci potrò lavorare il giorno successivo


Durante i test ho riscontrato due problemi, il primo grave:

1) Faccio partire il torneo (che non aveva flaggato il "Consenti iscrizione tardiva" nelle impostazioni. Sono al secondo turno e voglio aggiungere una squadra ritardataria, e giustamente non c'è l'opzione. Allora vado nelle impostazioni e flaggo il "Consenti iscrizione tardiva", ok. Nelle "Squadre" compare l'opzione "+ Aggiungi squadra a torneo in corso". La aggiungo, ma poi non riesco a popolarla, espandendo la squadra c'è solo l'opzione "Ritira", non la solita UI di iscrizione. Anche le altre squadre sono statiche, si può alterare l'ordine delle scacchiere ma non aggiungere un nuovo giocatore o modificare un nome. Se cancello tutti i turni e riapro il torneo, allora "Squadre" consente nuovamente le modifiche. A prescindere da questo comportamento che non va bene (rende inutile la possibilità di aggiunegre squadre), mi stavo anche chiedendo l'utilità del flag "Consenti iscrizione tardiva": se voglio aggiungere una squadra sembra più logico semplicemente aggiungerla, non serve avere un flag per abilitare questa funzione. Ma questo può essere opinabile, solo sembra più semplice permettere l'inserimento di una nuova squadra.

2) Sempre nella frame "Squadre", il "Filtra per nome squadra o giocatore" ce lo siamo persi per strada, non sembra più funzionare (apparentemente non filtra nulla).


Ciao,

Claudio.

Ciao @LTB


Sul punto 1 domani ci guardo, ma li basta essere attenti e selezionare i toggle che pensi possano essere utili.


Sul filtra probabilmente sarà un ha che si è rotto, ma li ci vuole poco.


S.

ciao @LTB 


grazie per le segnalazioni — entrambi i bug sono stati risolti nella versione 5.10.4 appena deployata.


Bug 1 (grave): UI roster bloccata in_corso


Confermato: la UI di gestione roster (rinomina, aggiungi giocatori, X rossa, riordino scacchiere) era nascosta non appena il torneo passava in "in corso". Per la squadra late-entry era doppiamente

penalizzante perché non era proprio popolabile.


Cosa ho cambiato:

- Tutta la UI di gestione roster (rinomina squadra, 5 modalità add-player, drag-drop scacchiere, X rimuovi) è ora sempre attiva quando una squadra è "attiva" — sia in iscrizioni che durante il torneo.

- Vincolo aggiunto: la X di rimozione giocatore appare grigia (non clickabile) se il giocatore ha già partite registrate. Motivo tecnico: squadre_partite.bianco_id/nero_id non ha vincolo di FK, un DELETE

silenzioso orfanerebbe lo storico. Per escludere un giocatore che ha già giocato dalle prossime formazioni, modifica la formazione del turno.

- In stato in_corso, la squadra ora ha sia "Ritira" sia "Rimuovi" — quest'ultimo disponibile solo se la squadra non ha mai giocato (es. squadra late-entry creata vuota che vuoi cancellare al volo).


Sul flag "Consenti iscrizione tardiva"


Hai ragione: era ridondante. L'ho rimosso dalle Impostazioni. Il pulsante "+ Aggiungi squadra a torneo in corso" appare ora sempre quando il torneo è Svizzero e in corso. Nessun flag da attivare.


(La colonna nel database resta per compatibilità con i tornei vecchi, ma non viene più letta.)


Bug 2: filtro nome non funziona


Confermato e risolto. Il campo "Filtra per nome squadra o giocatore" era sopravvissuto in pagina ma il JavaScript che lo gestiva era dentro un blocco che girava solo in fase iscrizioni. Ora il filtro

funziona in qualunque stato del torneo.


---

In totale: 4 fix sul lato server + 3 nuove stringhe in 6 lingue. Versione 5.10.4 attiva. Se ricrei lo scenario (torneo Svizzero a squadre, due turni, aggiungi squadra, prova a popolarla) dovrebbe tutto

funzionare. Avvisami se trovi altre stranezze.


Grazie come sempre per i test approfonditi.

Ciao Stefano,

ho provato i bug indirizzati, e sembra tutto ok! Ho provato a duplicare il nostro torneo di stasera (opzione utilissima, credimi!) e a simulare l'intero svolgimento. E' andato bene, ho naturalmente qualche osservazione non bloccante, valuta tu quando e se prenderle in esame, per quanto le prime due le ritengo importanti.


- Sto ultimando la fase di iscrizione, e vorrei stampare le formazioni per farle controllare ai giocatori prima di partire con il torneo. Non ho un bottone di stampa nella sezione "Squadre". A me sembra che questo lo avessimo già fatto, ricordo una discussione che la stampa doveva rispettare il tipo di visualizzazione (espansa o collassata). Ma non trovo più questa possibilità, e sarebbe utile anche a torneo in corso. Ho visto che hai aggiunto la "Modalità presentazione", ma se lo schermo non è sufficiente per visualizzare tutte le squadre non si riesce a scorrere in nessun modo. La "Q" non esce, sebbene elencata (immagino tu faccia un back page, ma essendo la pagina aperta ex novo la citata "Q" non fa nulla).

- Nella "Stampa turno" aggiungerei senz'altro l'Elo dei giocatori, chi va a vedere il turno ha piacere di conoscere l'Elo del suo avversario. In questa stampa tra l'altro c'è una grande quantità di spazio inutilizzato, una paio di colonne aggiuntive con l'Elo ci stanno benissimo. Centra/correggi anche la scritta "RISULTATO", la "O" finale sbatte contro la riga della colonna, ed è brutta.

- Nella vista "Abbinamenti", sarebbe davvero bello avere la possibilità di visualizzare solo gli accoppiamenti ancora senza risultato. E' una cosa che avrei sempre voluto avere anche in altri programmi, immagina di avere decine (o centinaia, te lo auguro) di scacchiere... devi scorrere a mano per vedere chi non ha ancora inserito i risultati. Poter filtrare per i risultati mancanti sarebbe una bella chicca!

- Se nella sezione "Classifica" usi "Immagine classifica" (o il "Condividi", sembrano comportarsi allo stesso modo), il risultato mostra solo le prime 5 squadre. Non so se sia voluto per qualche ragione, ma penso che si dovrebbe mostrare l'intera classifica.


Questo torneo, come ti accennavo, sarà una combinata di tre tornei, di cui uno sabato pomeriggio (ricordo che mi avevi detto che Tommaso non riesce a giocare in settimana). Se sabato non sapete cosa fare e volete venirci a trovare, siete i benvenuti! :)


Ciao,

Claudio.

ciao @LTB

Questo sabato Tommaso dovrà essere a Torino al mattino per una sorta di olimpiade di matematica e poi lo riporterò domenica pomeriggio al blitz https://vesus.org/tournament/iVXqgWyR - grazie per l'invito sarà per un'altra volta.


Per il resto ottime osservazioni come sempre — ho lavorato a tutte quelle indicat. Versione 5.10.5 appena deployata.


1) Stampa formazioni — fatta


Nuovo pulsante "Stampa Formazioni" nella toolbar della tab Squadre, accanto a Espandi/Collassa. La modalità di stampa segue la vista corrente:

- vista espansa → un blocco per squadra con la rosa completa (scacchiera, titolo, cognome+nome, Elo, casella firma vuota per il controllo dei giocatori);

- vista collassata → tabella unica di sintesi (nome, capitano, n. giocatori, rating medio).


Funziona sia prima dell'inizio sia a torneo in corso, e include il QR alla pagina pubblica per chi vuole controllare anche al volo dal telefono.


2) Stampa turno con Elo + "RISULTATO" centrato


Aggiunte due colonne Elo (una a sinistra del Risultato per il Bianco, una a destra per il Nero). La cella "RISULTATO" è stata allargata e i header sono ora centrati per evitare che la "O" finale sbatta contro il bordo della colonna.


3) Modalità Presentazione — fix doppio


a) Classifica in rotazione, 7 alla volta, 15 secondi a pagina. Era un suggerimento, ma l'ho applicato anche perché risolve di colpo il problema dello "schermo non abbastanza grande per scorrere": prima vedevi solo la top 10 fissa, ora vedi tutta la classifica paginata. Vale sia per i tornei a squadre sia per quelli individuali. Gli abbinamenti continuano a essere paginati a 10 per pagina, 60 secondi ciascuna come prima.


b) Shortcut "Q" rimosso. Così non vedrai un qualcosa che non funziona per il tuo pattern.


4) Filtro "Solo da completare" negli abbinamenti


L'ho fatto sia per i tornei a squadre (tab Abbinamenti, accanto a Vista compatta) sia per quelli individuali (in alto a destra accanto a "Stampa turno"). Toggle che nasconde gli incontri già completati e i BYE, lasciando solo quelli ancora senza risultato. Lo stato è ricordato per torneo (localStorage), così se ricarichi la pagina trovi il filtro come l'avevi lasciato. Quando entri il risultato di un match in filtro attivo, la riga si aggiorna a runtime — non serve disattivare/riattivare.


Se filtro tutto e non resta nulla, compare un messaggino verde "✓ Tutti gli incontri di questo turno sono completati." — così sai a colpo d'occhio che il turno è chiuso.


Sul punto "Immagine classifica solo 5 squadre"


Questo l'ho parcheggiato per la prossima release. La share-card 1080×1080 era pensata come "podio condivisibile su social" (Instagram/Telegram/WhatsApp), per quello è limitata a top 5. Non posso far diversamente



Come sempre grazie per i test al millimetro — questo round è uscito molto pulito proprio perché hai stressato tutto il flusso end-to-end.




Grazie a te, ottime modifiche!

Però ho riprovato il giro di un torneo, e sono ricaduto nel problema che non riesce a generare il turno 6 con 8 squadre, mi fermo al 5° con il messaggio "Il motore di pairing non è riuscito a generare il turno (Error while pairing /tmp/tmpbgup_izw/tournament.trf: No valid pairing exists: The players could not be simultaneously matched while satisfying all absolute criteria.

). Possibili cause: troppi turni per le squadre attive, vincoli di colore irrisolvibili. Puoi usare "Pairing manuale" oppure ridurre num_turni e concludere.". Se vuoi indagare sono qui: https://my.chesspairings.org/torneo_squadre.php?id=240&tab=abbinamenti. Questo lo avevamo indirizzato, come mai è risaltato fuori? Serve assolutamente uno stress test ad ogni versione...

ciao @LTB

Indagato a fondo. Non è una regressione, è un'impossibilità matematica reale data dal setup. Ecco l'analisi:

Analisi torneo 240

8 squadre, num_turni=9, max_teorico=7 (N-1 per N pari). Al turno 6, ricostruendo chi-ha-incontrato-chi dai turni 1-5:


┌─────────────────────┬──────────────────────────┬────────────┐

│ Squadra │ Già incontrate │ Mancanti │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1899 LTBirra Italia │ 1902,1905,1903,1901,1904 │ 1900, 1906 │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1900 Ruffini Team │ 1905,1902,1904,1903,1901 │ 1899, 1906 │

├─────────────────────┼──────────────────────────┼────────────┤

│ 1906 Purple SST │ 1901,1904,1902,1905,1903 │ 1899, 1900 │

└─────────────────────┴──────────────────────────┴────────────┘


Le squadre {1899, 1900, 1906} formano un triangolo impossibile: ognuna ha solo le altre 2 del trio come avversarie disponibili. In un turno solo puoi formare UNA coppia, lasciando la terza scoperta senza nessuno con cui giocare (tutti gli altri li ha già incontrati). bbp6 rifiuta correttamente — non esiste pairing valido senza rematch o bye in un torneo a numero pari di squadre.

Anche le altre 5 hanno cluster molto stretti (es. {1901,1902,1904,1905} con scarse alternative). Una ricerca esaustiva conferma che dopo questi 5 turni non c'è un 6° matching valido.

Il setup

8 squadre, sistema Svizzero. Hai impostato 9 turni. Importante: in un torneo Svizzero a N pari, ogni squadra può incontrarne al massimo N-1 di distinte (8 squadre → ognuna può giocare al massimo 7 partite diverse, perché la 8ª sarebbe se stessa).

Dopo 7 turni hai esaurito tutti gli avversari possibili — se ne servono di più devi ricorrere a rematch o bye. Quindi già da subito 9 turni con 8 squadre è "fuori budget" di 2 turni.

I primi 5 turni

L'engine bbp6 ha generato 5 turni regolari. Risultato: ogni squadra ha incontrato 5 avversarie su 7 possibili, lasciandone 2 ancora "libere".

Ricostruendo da DB chi-ha-incontrato-chi:


LTBirra Italia (1899) → ancora libere: Ruffini (1900), Purple SST (1906)

Ruffini Team (1900) → ancora libere: LTBirra (1899), Purple SST (1906)

Purple SST (1906) → ancora libere: LTBirra (1899), Ruffini (1900)


LTBagna Càuda (1901) → ancora libere: Imported (1902), Gelateria (1904)

Imported (1902) → ancora libere: Bagna (1901), Scaccomatt. (1903)

Scaccomatt. (1903) → ancora libere: Imported (1902), Presidentiss. (1905)

Gelateria (1904) → ancora libere: Bagna (1901), Presidentiss. (1905)

Presidentiss. (1905) → ancora libere: Scaccomatt.(1903), Gelateria (1904)


Il problema al turno 6


Guarda solo le prime 3 righe. LTBirra, Ruffini e Purple SST hanno una proprietà speciale: ognuna ha SOLO le altre due come avversarie disponibili. Tutte le altre 5 squadre del torneo le hanno già incontrate.

Disegna un triangolo:


LTBirra

/ \

/ \

Ruffini—Purple SST


In un singolo turno puoi formare una sola coppia dentro questo triangolo (es. LTBirra vs Ruffini). Ma la terza squadra (Purple SST) rimane senza avversari: non può giocare LTBirra né Ruffini (sono occupate), e tutte le altre 5 le ha già incontrate.


Quindi il turno 6 è semplicemente impossibile senza:

- (a) un rematch (qualcuno gioca due volte contro la stessa squadra), oppure

- (b) un bye (un torneo a 8 squadre forza tutti ad accoppiarsi: zero bye consentito dal sistema FIDE)

bbp6 fa il suo lavoro e dice "no": è la risposta matematicamente corretta. Le regole FIDE Swiss vietano sia il rematch automatico sia l'abbinamento "saltato" se non c'è bye in calendario.

Bbp6 cerca di evitare proprio queste situazioni con un meccanismo di lookahead (prevede 1-2 turni avanti e cerca di non chiudere strade). Ma il lookahead non è infinito: a 5 turni di profondità con i

risultati che si distribuiscono in un certo modo, può capitare che il motore non veda arrivare il triangolo.

In più, nel torneo 240 le squadre hanno punteggi molto variabili (da 10 a 2 punti partita), e quando il motore deve bilanciare "stesso punteggio" + "colore alternato" + "no rematch" + "n-1 livelli di

tiebreak", le combinazioni si tagliano. Spesso una scelta fatta al turno 3 era l'unica possibile in quel momento ma chiude un cammino al turno 6.

Cosa avrebbe potuto evitare la situazione

- Mai aprire il torneo con num_turni > N-1: prova con 7, il sistema l'avrebbe portato a termine senza problemi (max teorico = 7 = num_turni, l'engine ha lookahead sufficiente per pianificare).

Con 5 turni sotto-budget zero rischio.

- Setup di 9 turni: stiamo già spingendo sopra il massimo teorico di 2 unità. Anche se l'engine fosse stato perfetto fino a 7, comunque dal turno 8 in poi serviva il pairing manuale.

Gli ultimi 3-4 turni saranno con pairing manuale, autorizzando rematch.

Il "bug" non c'è. Il "fix" che avevamo fatto sta funzionando. Quello che manca è un warning più forte all'inizio che gli avrebbe detto "occhio, hai 9 turni con 8 squadre, il sistema garantisce al massimo 7 in automatico" — e questo è quello che andrò ad aggiungere.

Ti confermo che provandolo anche con chessmanager.com non è possibile completare il torneo:

Grande analisi, grazie! Perdona questi stress, ma dobbiamo assolutamente creare un sistema a prova di bomba, e questo è il motivo per cui sto provando le cose più difficili e le situazioni più improbabili! Ti confermo che cominciando il torneo con il numero di turni corretto va a buon fine. Continuerò a stressarti fino a quando non riuscirò più a trovare un problema! Adesso non tocco più nulla e non ti propongo più modifiche, facciamo il torneo stasera e incrociamo le dita!


Grazie ancora,

Claudio.

ciao @LTB figurati, la mia desiderata è che il software diventi diffuso e che si possa dilvugare come alternativa ad altri a pagamento per aiutare circoli e club.


Ad oggi sui tornei individuali siamo a circa 1000 partite abbinate al giorno. La pecora nera sono quelli a squadre, ma credo che grazie al tuo aiuto potremo uscire dalla beta in fretta.

Ciao @LTB


Mi copi link torneo a squadre che se stasera non crollo lo provo a seguire?

Ciao Stefano,

grazie per la premura, e scusa se non ti ho incollato il torneo, eravamo tutti presi, io poi giocavo anche e non ho proprio guardato il Forum. Ma il torneo (https://my.chesspairings.org/pubblico/torneo_squadre.php?id=208&token=5f5b5aa47b850102f0424a8bad91d113bad9d40eff9fc4c3fb31bd8177241113) è andato molto bene, tutto è andato liscio! Alla fine eravamo 11 squadre da 3, con 9 turni, ma tutto è andato come doveva andare. A questo punto aprirò un nuovo thread con le eventuali ulteriori considerazioni, anche perché questo sta diventando troppo lungo.


Grazie ancora e ciao!

Claudio.

ciao @LTB bellissima notizia! Fammi sapere cosa possa ancora fare che vorrei far uscire dalla beta la parte delle squadre

Ottimo. Per me, per uscire dalla beta, è sufficiente che tutto funzioni, e al momento non ho segnalazioni da fare in questo senso. Le altre che farò sono "chicche" per rendere il processo più semplice e agevolare il lavoro dell'arbitro. Il problema maggiore che vedo è l'introduzione di bug dovuti a nuove funzioni (ma qui non te lo devo certo spiegare io). Adesso, nelle condizioni verificate, funziona tutto, bisogna fare in modo che questa solida base non venga intaccata da funzioni future! E so molto bene come sia facile che ciò succeda!


Ad esempio, questa è una sciocchezza, ma sarebbe davvero utile per noi: una funzione per "aggiornare" l'Elo dei partecipanti utilizzando il database Fide (se il giocatore è stato aggiunto manualmente non deve naturalmente fare nulla... potrebbe esserci la condizione in cui un giocatore che al momento dell'iscrizione non avesse Elo, e poi entrasse nelle liste, e si volesse aggiornare il suo rating, oppure un giocatore aggiunto manualmente ma presente nelle liste, ma questo lo trovo di difficile applicazione a causa delle omonimie). Comunque sia, ti faccio un caso pratico: il nostro primo torneo era un 3+2, e quindi abbiamo utilizzato l'Elo Blitz per popolare gli iscritti (funzione importante). Adesso, per il prossimo torneo, e per non dover reiscrivere tutti, cosa faccio: duplico il torneo appena finito, e cambio quello che va cambiato (data e tempo di riflessione). Questo è davvero comodo! Ma poiché il nostro prossimo torneo della combinata sarà Rapid (12+3), devo a mano andare a cambiare gli Elo di tutti, vanificando il processo di clonazione. Se ci fosse una funzione che mi consentisse di utilizzare l'Elo Rapid anziché il Blitz (o più in generale di aggiornare l'Elo dall'ultimo snapshot della Fide, adeguandolo automaticamente al tempo di riflessione) sarebbe davvero comodo!


Ciao,

Claudio.

Ciao @LTB


La tua idea di aggiornare gli Elo dal database FIDE era proprio una di quelle cose "piccole" che cambiano la vita quando organizzi una combinata, e infatti l'ho subito messa in produzione: la trovi già attiva da v5.10.7.

Funziona in due punti:

1. Nel torneo, tab Iscritti — vedi il bottone "Aggiorna rating da FIDE" accanto a "Stampa iscritti", visibile finché il torneo è in stato Iscrizioni (cioè prima di averlo avviato). Cliccandolo si apre un'anteprima con tre schede:

  1. Da aggiornare: ogni riga mostra rating attuale → nuovo + Δ. Niente viene scritto finché non clicchi "Applica".
  2. Invariati: chi è già allineato allo snapshot FIDE corrente.
  3. Saltati: i giocatori aggiunti manualmente / dal circolo (che non tocchiamo come avevamo deciso), e i giocatori FIDE che non hanno rating nella categoria del torneo (es. ha Standard ma non ha Blitz — li segnalo, decidi tu se aggiornarli a mano).

2. In duplicazione torneo — nel modale "Duplica" trovi un dropdown nuovo "Categoria rating del nuovo torneo" (Standard / Rapid / Blitz). Se cambi categoria rispetto al torneo origine, l'aggiornamento da FIDE viene fatto automaticamente dopo la copia, così il caso che mi raccontavi — duplico Blitz 3+2 per fare un Rapid 12+3 e ritrovarmi gli Elo Blitz — non capita più: apri il duplicato e i rating sono già quelli giusti.

Funziona identico per i tornei individuali e quelli a squadre. Lì il bottone è nella tab Squadre (sopra la lista) e oltre ai rating dei singoli viene anche ricalcolato il rating medio di ogni squadra modificata.

Due cose importanti che voglio dirti per chiarezza:

  1. La tabella FIDE non viene MAI scritta. Quei numeri restano lo specchio dell'ultimo download FIDE (il cron gira ogni notte alle 04:30). Il bottone aggiorna solo i valori "fotografati" al momento dell'iscrizione nel torneo corrente.
  2. Solo prima dell'avvio. Se il torneo è già "In corso" il bottone non compare: cambiare i rating a metà torneo sballerebbe ordering, tiebreak come ARO, e soprattutto il calcolo Elo finale (che parte dal rating iniziale). Se ti accorgessi che un rating va corretto a torneo iniziato, la strada giusta resta l'edit manuale sul singolo iscritto.

Sul matching per nome dei giocatori manuali al database FIDE — quello che dicevi essere "di difficile applicazione a causa delle omonimie" — sono d'accordo, non l'ho fatto. Troppo facile assegnare un Elo sbagliato a un omonimo, e poi è difficile accorgersene.

Verifica pratica: ho già controllato il tuo torneo 257 della Combinata (Rapid 12+3, duplicato dal 256 Blitz 3+2). Il sistema vede 34 rating da aggiornare, 1 già coincidente e 4 da saltare (presumibilmente giocatori manuali o senza rating Rapid). Aprilo, clicca il bottone, verifica nell'anteprima che sia tutto sensato e applica.

Fammi sapere come va.


Stefano


Ma che figata! Perdona il commento tecnico, ma queste funzioni per me sono quelle che fanno la differenza! Non mi sono messo a controllare i singoli Elo (lo farò, non ti credere), ma la funzione ha fatto il suo sporco lavoro!

Ciao @LTB


Il calcolo Elo è corretto (facile da farsi). C'è un però :)


Se giocatore con fide id assegna il K coretto (associato al DB fide), altrimenti per gli altri il K è 20.


Sarebbe veramente dura modificare questo

«12
Accedi per partecipare alla discussione
Questo sito utilizza cookie tecnici e di analisi per migliorare l'esperienza.