Posto qui una soluzione del Grande Maelstrom che scovando e leggendo ho riesumato; sistemo, e ordino per leggibilità
origine del problema secondo il grande Maelstrom:
"...Non dà nessun problema finchè la squadra nella prima posizione dell'array fantasquadre ha un incontro valido in quella giornata. Se la prima squadra dell'array fantasquadre non ce l'ha (es. coppa a eliminazione diretta con lei fuori, spareggi, playoff ecc) se non fai questa modifica vedrai che ti darà nessun incontro disponibile senza la possibilità di selezionare le altre squadre, e quindi senza possibilità di mandare la formazione."
var result;
result = GeneraSelezioneCompetizioni(cFsq, cGio);
if (result) {
GeneraIntestazioneInvioFormazione(cFsq, cGio, "invform");
GeneraTabellaGiocatori();
GeneraControlliPerInvio();
GeneraIntestazioneInvioFormazione(cFsq, cGio, "invform");
var result;
result = GeneraSelezioneCompetizioni(cFsq, cGio);
if (result) {
GeneraTabellaGiocatori();
GeneraControlliPerInvio();
La funzione GetProssimaGiornataDaGiocare() che risultato ti restituisce?
Se ti dà 34 vuol dire che nel file fcmCalendarioDati.js c'è un incontro non giocato alla 34a.
frbiag ha scritto: ↑24 apr 2018, 23:58
La funzione GetProssimaGiornataDaGiocare() che risultato ti restituisce?
Se ti dà 34 vuol dire che nel file fcmCalendarioDati.js c'è un incontro non giocato alla 34a.
infatti come scritto non ho incontri alla34 per un errore mio con il calendario...
papia ha scritto: ↑24 apr 2018, 13:53
per un ERRORE di calendario, in pratica alla giornata 34 non aveva giocato nessuno, le finali di coppa sono tutte alla 35-
Ogni cosa che ho, dalle formazioni prossima giornata all'invio formazione, porta sempre alla 34.
La funzione GetProssimaGiornataDaGiocare non prevede questa situazione.
Per come è scritta, la prossima giornata è sempre l'ultima giocata + 1.
function GetProssimaGiornataDaGiocare() {
// ritorna la prossima giornata di A da giocare. Se sono state
// giocate tutte ritorna comunque maxa
var i,size_Incontri,gio=0
if (arrIncontri[1].Giocato == false) return 1
i=1
size_Incontri=arrIncontri.length-1
do {
if (arrIncontri[i].Giocato==0 && arrIncontri[i].IDTipo!=INC_RIPOSO) {
gio=arrIncontri[i].GiornataDiA
}
i++
} while (gio==0 && i<=size_Incontri)
return (gio)
}
function GetProssimaGiornataDaGiocare() {
// ritorna la prossima giornata di A da giocare. Se sono state
// giocate tutte ritorna comunque maxa
var i,size_Incontri,gio=0
if (arrIncontri[1].Giocato == false) return 1
i=1
size_Incontri=arrIncontri.length-1
do {
if (arrIncontri[i].Giocato==0 && arrIncontri[i].IDTipo!=INC_RIPOSO) {
gio=arrIncontri[i].GiornataDiA
}
i++
} while (gio==0 && i<=size_Incontri)
return (gio)
}
Nel suo caso dovrebbe andare bene, ma in generale no. Perché se hai una giornata di Serie A in sospeso per recuperi, ti si fermerebbe sempre lì.
Bisognerebbe fare una scansione "all'indietro" come nell'originale e poi, al posto del semplice +1, una scansione in avanti alla ricerca del primo incontro da giocare.
function GetProssimaGiornataDaGiocare() {
// ritorna la prossima giornata di A da giocare. Se sono state
// giocate tutte ritorna comunque maxa
var i,size_Incontri,gio=0
if (arrIncontri[1].Giocato == false) return 1
i=1
size_Incontri=arrIncontri.length-1
do {
if (arrIncontri[i].Giocato==0 && arrIncontri[i].IDTipo!=INC_RIPOSO) {
gio=arrIncontri[i].GiornataDiA
}
i++
} while (gio==0 && i<=size_Incontri)
return (gio)
}
Nel suo caso dovrebbe andare bene, ma in generale no. Perché se hai una giornata di Serie A in sospeso per recuperi, ti si fermerebbe sempre lì.
Bisognerebbe fare una scansione "all'indietro" come nell'originale e poi, al posto del semplice +1, una scansione in avanti alla ricerca del primo incontro da giocare.
La giornata in sospeso basta calcolarla con il 6 per tutte le squadre da recuperare. Il problema nasce se tutta la giornata è posticipata in altra data.