Newsgroup: it.hobby.scacchi
Titolo: Domanda sul sistema svizzero

Caro Mascheroni (o chi per lui),
leggo e riporto dal regolamento del sistema svizzero basato sul rating,
il seguente punto:
A2-ORDINAMENTO
Ai soli fini dell'abbinamento, i giocatori sono ordinati in base,
rispettivamente, a:
a) punti ottenuti
b) rating
c) titolo FIDE (GM, WGM, UM, WIM, FM, WFM, senza titolo)
d) ordine alfabetico (a meno che non sia stabilito che tale criterio
venga sostituito da un altro).
Il che e' chiarissimo.
Ma per quanto riguarda il comma d), nel qual caso si stabilisse che tale
criterio venga sostituito da un altro, mi sai dire quali criteri
alternativi all'alfabetico sono stati verosimilmente usati o che sarebbe
bello avere a disposizione in un ipotetico programma di accoppiamento,
selezionabili da una opportuna opzione?
Che ne so, peso, statura, numero di scarpe, distanza dalla sede di
gioco, quantita' di cozze che si e' in grado di consumare in 5 minuti...
 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Roberto Montaruli ha scritto:
[cut]
Roberto, sbaglio o stai facendo un programma per la realizzazione degli 
accoppiamenti nei tornei con sistema svizzero?
Se si non ci metto proprio mano (vedi altro thread), nella speranza di 
poter sbafare della tua applicazione :-)
ciao
Peppe

 gioco, quantita' di cozze che si e' in grado di consumare in 5 minuti...
Forse sarebbero meno esotici etą, titolo nazionale, rating nazionale, e
simili?
Alex

 poter sbafare della tua applicazione :-)
Eventualmente puoi pensare di contribuire al progetto.
La mia idea e' quella di fare un programma molto modulare e
interpretato, in modo che si possano personalizzare le interfacce per
l'inserimento dei giocatori e dei risultati, che saranno programmi
separati dal nucleo principale che si occupera' solo di fare gli
accoppiamenti a partire dai cartellini, e basta.


 simili?
Tutto quello che vuoi, ma il regolamento non entra in dettaglio: per
come e' scritto lascia spazio agli arbitri/organizzatori e siccome io
sono dell'idea che deve essere il programma ad adattarsi alle necessita'
e non viceversa, mi piacerebbe aver pronti dei criteri di ordinamento
alternativi gia' implementati, mettendo l'alfabetico per default, ma
lasciando la possibilita' di adottarne eventualmente altri, come il
regolamento prevede.


 regolamento prevede.
Allora la cosa piu' flessibile e' quella di introdurre un campo generico 
"valore per ordinamento custom", magari in formato testo cosi' ci puoi 
fare entrare quello che vuoi e poi ordini quello.
Molto piu semplice di pensare a tutte le possibili opzioni... tanto quella 
che serve manchera' senz'altro.
--Paolo

 accoppiamenti a partire dai cartellini, e basta.
Lo so che i programmi Microsoft non ti piacciono, ma io so usare solo 
Access, quindi posso aiutarti solo con quello. La gestione dei risultati 
e dei conseguenti aggiornamenti Elo è praticamente già pronta (il mio 
piccolo software dell'altro thread); magari dagli uno sguardo, o dimmi 
se e cosa posso preparare.
ciao
Peppe

 alternativi gia' implementati
L'implementazione di qualsiasi criterio di ordinamento consiste nella
routine di ordinamento, che già devi mettere. Al massimo devi implementare
il campo "descrizione" :)
Alex

regolamento prevede.
Segui il suggerimento di Casaschi.
Ciao!
Maurizio Mascheroni

 se e cosa posso preparare.
Grafica? Interfacce per l'inserimento dei dati? Layout per le stampe? 
Documentazione? Test? Porting in altri ambienti una volta ultimato il 
tutto?


La routine di ordinamento che gia' devo mettere, e' strettamente legata 
alla natura del dato da ordinare: finche' il dato e' numerico o 
alfanumerico, va bene il default.
Ma gia' un ordinamento inverso (decrecente invece di crecente) 
presuppone gia' un flag da gestire.
Se poi il dato fosse di una natura piu' complessa, la funzione di 
confronto usata dalla routine di ordinamento va scritta ad hoc.


Ok, ma se fosse richieto un ordinamento decrescente?
Metto due campi: uno che contiene il dato da ordinare in formato stringa 
alfanumerica e un altro che indica se l'ordinamento e' crescente o 
decrescente.
Dovrebbe bastare.
Qualora il dato da ordinare fosse numerico, bisognera' scriverlo 
allineato a destra e riempiendo la parte sinistra con degli zeri (vanno 
bene anche gli spazi, ma gli zeri sono piu' visibili).
Se invece il dato fosse una data, allora va scritto nel formato YYYYMMDD 
che poi posso considerare come stringa e l'ordinamento viene rispettato.
In questo modo si dovrebbe riuscire a coprire la quasi totalita' dei casi.
Vediamo se qualcuno riesce ad inventarsi un ipotetico dato non 
ordinabile coi criteri di cui sopra: se salta fuori, allarghiamo la 
formula in modo da farcelo entrare.

Ok, ma se fosse richieto un ordinamento decrescente?
Ti stai intruppando in un ginepraio che non serve a niente.
Devi semplicemente fare un campo di testo che, normalmente, non verrà
riempito.
Una volta stabilito che l'ultimo criterio di sorteggio è il numero di
scarpa o la lunghezza in byte del cognome, si va a vedere se ci sono
giocatori che potrebbero usufruire di tale tipo di sorteggio; supponiamo
che siano in tre e che si sia deciso di sorteggiare per numero di scarpa
decrescente ...
Giocatore 1, numero scarpa 43    scrivi 20 nel campo
Giocatore 2, numero scarpa 42    scrivi 30 nel campo
Giocatore 3, numero scarpa 44    scrivi 10 nel campo
Poi fai il sorteggio, ascendente, tranquillamente.
In sostanza la cosa accadrà una volta nella vita di un  arbitro, che
effettuerà l'ordinamento "a mano", per poi inserire qualcosa in quel
campo per fare in modo che esca dal computer allo stesso modo. 
Ciao!
Maurizio Mascheroni


In realta' io pensavo ad una cosa diversa: ad inizio torneo, quando si 
devono inserire i nominativi dei giocatori si inserisce anche questo 
dato (lo si sa prima del torneo che criterio usare per quella remota 
possibilita' di distinguo).
Da quel momento in poi il programma puo' operare in autonomia senza che 
venga richiesto ulteriore input agli arbitri per dirimere i casi 
particolari.
Dovresti saperlo anche tu, che le cose piu' rognose da gestire in un 
programma qualsiasi sono quelle che non si verificano mai.

 confronto usata dalla routine di ordinamento va scritta ad hoc.
Puoi elencare degli esempi concreti non riducibili a un ordinamento
classico?
Alex

programma qualsiasi sono quelle che non si verificano mai.
E io la soluzione te l'ho data: efficiente, e rapida.
Poi, se tu vuoi fare tutto "automaticamente", allora auguri :-)
Non è quello il problema che dovrai risolvere con lo svizzero :-)
Se ti "spacchi le meningi" per questa cosa, preparati a impazzire.
Ciao!
Maurizio Mascheroni

 tutto?
A breve dovrebbe essere disponibile il programma "EloCavallo v. 2.2" su 
www.e4e6.com
; il programma, sia pure ancora provvisorio, dovrebbe essere 
vicino al definitivo come grafica e interfaccia.
Le stampe al momento sono il minimo indispensabile, ma migliorarle è 
solo questione di tempo.
Non esiste alcuna documentazione, ritengo sia giusto prepararla su una 
versione definitiva del programma.
I test sono in corso, e dureranno ancora parecchio (tanto tu ci metterai 
ancora un paio di giorni, mi pare :-) ) in quanto sono previste 
modifiche e implementazioni.
Sul dialogo con gli altri ambienti posso dirti che EloCavallo sarà un 
pacchetto ma masterizzare autoinstallante, che gira col runtime di 
Access; in altri termini gira sotto windows, indipendentemente dalla 
presenza di Office o di altro software.
Per quanto riguarda il dialogo tra i software l'ideale sarebbe che il 
tuo software si basasse su database ai quali EloCavallo potesse 
collegarsi (non conosco Perl, qua devi guidarmi tu), ma possiamo 
prevedere l'esportazione/importazione di file di testo secondo degli 
standard che poi definiremo. Tali operazioni saranno del tutto 
trasparenti agli occhi dell'utente, anche se non performanti.
p.s. se hai una piccolissima versione "embrionale" del tuo software, 
giusto per capirci qualcosa, fammela avere, così comincio a lavorare al 
dialogo tra  sw.
ciao
Peppe