Partite non iniziate

Xato
Ho lanciato alcune sfide col nero. In due di queste altrettanti giocatori hanno accettato la sfida ma non hanno mai fatto la prima mossa. Adesso, dopo oltre due settimane, le partite sono ancora in elenco con zero mosse all'attivo e senza l'opzione di terminarle. Se i due non si connettono piu' al sito, o comunque non faranno mai la prima mossa, quelle partite rimarranno sospese fino alla fine dei giorni?.

saluti

Risposte
anonymous_be1147
Teoricamente sì, perché il software mostra il pulsante "Termina" soltanto se sono passati più di 10 giorni dall'ultima mossa, quindi se non sono state effettuate mosse non fa nulla. Se Admin è d'accordo potrei provare a modificare il programma in modo che ci sia la possibilità di concludere anche questo tipo di partite. Nel frattempo, se vuoi, puoi passarmi i link delle partite e le chiudiamo noi manualmente con stato "admin_suspend".

Xato
"anonymous_be1147":
Teoricamente sì, perché il software mostra il pulsante "Termina" soltanto se sono passati più di 10 giorni dall'ultima mossa, quindi se non sono state effettuate mosse non fa nulla. Se Admin è d'accordo potrei provare a modificare il programma in modo che ci sia la possibilità di concludere anche questo tipo di partite. Nel frattempo, se vuoi, puoi passarmi i link delle partite e le chiudiamo noi manualmente con stato "admin_suspend".


Non so se sia avvenuto a seguito mia segnalazione, ma ieri nelle due partite non iniziate che avevo in sospeso e dopo una ventina di giorni dalla accettazione delle sfide, è apparso il bottone termina. Cosi mi è stato possibile toglierle dall'elenco.
Voglio pero' segnalare che mi sono stati attribuiti i punti relativi alle due partite.
Io penso sarebbe meglio non attribuire i punti per tutte quelle partite in cui o il bianco o il nero non abbiano fatto nessuna mossa. Questo perchè può capitare il caso che un qualche passante occasionale dopo essersi registrato al sito, spulciato qualche pagina ed accettato una qualche sfida, non sia piu' interessato al sito e non vi acceda più.

saluti

anonymous_be1147
"Xato":
Non so se sia avvenuto a seguito mia segnalazione, ma ieri nelle due partite non iniziate che avevo in sospeso e dopo una ventina di giorni dalla accettazione delle sfide, è apparso il bottone termina. Cosi mi è stato possibile toglierle dall'elenco.
Voglio pero' segnalare che mi sono stati attribuiti i punti relativi alle due partite.

Noi non abbiamo fatto nulla, sei sicuro che i nuovi punti derivano proprio da quelle due partite e non da altri abbandoni? Ho controllato e a prima vista mi pare impossibile che ciò sia potuto accadere. Quando si preme quel pulsante, alla partita viene assegnato il risultato di 5 se abbandona il Nero o 4 se lo fa il Bianco. Verificato che siano trascorsi 10 giorni dall'ultima mossa o, se non ci sono mosse, dalla data di inizio del gioco, viene chiusa la partita e chiamata la funzione di aggiornamento del punteggio ELO (se si è in modalità torneo). Ora la funzione che aggiorna il punteggio è la seguente:

    function pcc_do_new_ELO(\$player1_id, \$player2_id, \$game_id, \$result) {

        \$game_info = pcc_GetInfoForOneGame(\$game_id);
        if ((\$game_info->total_no_moves <= MIN_MOVES_FOR_ELO) && (\$result > 1)) {
            return;
        }

        \$elo1 = pcc_get_ELO(\$player1_id, \$game_id);
        \$K1 = pcc_get_ELO_factor_K(\$elo1);
        \$elo2 = pcc_get_ELO(\$player2_id, \$game_id);
        \$K2 = pcc_get_ELO_factor_K(\$elo2);

        if (\$result == 5 || \$result == 0) {
            \$result1 = 1;
            \$result2 = 0;
        }
        else
        if (\$result == 4 || \$result == 1) {
            \$result1 = 0;
            \$result2 = 1;
        }
        else
        if (\$result == 3 || \$result == 2) {
            \$result1 = 0.5;
            \$result2 = 0.5;
        }

        \$new_elo1 = pcc_calculate_ELO(\$elo1, \$elo2, \$K1, \$result1);
        \$new_elo2 = pcc_calculate_ELO(\$elo2, \$elo1, \$K2, \$result2);

        pcc_update_ELO(\$player1_id, \$new_elo1, \$game_id);
        pcc_update_ELO(\$player2_id, \$new_elo2, \$game_id);
    }



Ora, la prima if mi pare proprio escludere le partite con risultato 4 o 5 e numero di mosse < MIN_MOVES_FOR_ELO (nel nostro caso 0 < 8) dall'aggiornamento del punteggio ELO fatto dalle ultime due righe della funzione.

Quindi sono piuttosto perplesso sulla vicenda, ma, se vuoi, possiamo sempre controllare sul campo. Ti lancio una sfida col nero, prova a eccettarla senza fare alcuna mossa e fra 10 giorni, proverò a terminarla. Se il mio punteggio sarà maggiore di 1437, allora c'è effettivamente un bug da qualche parte del software.

Xato
Intanto non mi riferivo all’aggiornamento del punteggio ELO, bensi alla attribuzione dei due punti nel torneo di scacchi Matematicamente.it, e di questo ne sono sicuro dato che ho controllato immediatamente dopo aver premuto il bottoncino “termina partita”.
Poi, se non erro , la funzione che hai riportato è quella che ha proprio il compito di aggiornare il punteggio ELO e non quello di aggiornare il punteggio nel torneo.

Ti prego di condurre le relative verifiche analizzando il codice che aggiorna il punteggio del torneo. Se in effetti avviene l'aggiornamento anche senza aver materialmente iniziato la partita, io proporrei una modifica al codice che imponga al bianco di effettuare la prima mossa entro un limite di poche decine di minuti, altrimenti la partita viene annullata. Infatti non ha proprio senso che un giocatore accetti una sfida come bianco e che poi si debba attendere venti o anche dieci o, addirittura, anche un giorno, prima che faccia la prima mossa. La partita si accetta come bianco ed appare subito la scacchiera. Se non si muove significa che non si è interessati o che si sia, come gia detto, in presenza di qualche passante occasionale che sta spulciando il sito e che sta provando le varie opzioni.

Saluti.

anonymous_be1147
"Xato":
Intanto non mi riferivo all’aggiornamento del punteggio ELO, bensi alla attribuzione dei due punti nel torneo di scacchi Matematicamente.it, e di questo ne sono sicuro dato che ho controllato immediatamente dopo aver premuto il bottoncino “termina partita”.
Poi, se non erro , la funzione che hai riportato è quella che ha proprio il compito di aggiornare il punteggio ELO e non quello di aggiornare il punteggio nel torneo.

Ora ho capito, ho frainteso il tuo post. Ma la classifica del torneo si base sul punteggio ELO, l'altro è quello originale del software e non ha alcun valore in pratica. Su questo punto il r egolamento mi sembra sia abbastanza chiaro. Quel punteggio è lì soltanto perché non abbiamo avuto il tempo, né sentito la necessità, di rimuoverlo.


Ti prego di condurre le relative verifiche analizzando il codice che aggiorna il punteggio del torneo.

In realtà non ce n'è bisogno, si può disattivare anche semplicemente commentando la sola riga di codice che aggiorna il rispettivo campo nel DB. In ogni caso, è Admin che ha l'ultima parola su quali modifiche fare o meno al software, compresa l'altra che hai proposto e che è tra le cose da fare e che faremo.

Xato
Ok Stan. Grazie. Adesso è tutto chiaro.
Rileggendo il regolamento alla luce di quanto hai detto, in effetti è stabilito che la classifica viene stilata in base al punteggio ELO, tuttavia la presenza della colonna con i punti e la percentuale di punti ottenuti rispetto al totale ottenibile mi ha ingannato facendomi ritenere che avesse l'importanza ai fini della classifica.

Rimane il fatto che una partita non iniziata dal bianco rimane in attesa per molto tempo, più che non il tempo stabilito per fare una mossa in una partita ampiamente avanzata nelle mosse.

Saluti

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.