Come creare un sistema di punteggio con il tempo e le risposte corrette per un gioco?

0

o creare un sistema di punteggio con il tempo e le risposte corrette per un gioco? su voto 0 giù voto preferito

Ho un piccolo gioco a quiz mobile, che consiste in 30 domande e un timer che inizia da 0 secondi e arriva fino a 1 ora. Qui sotto puoi vedere che il mio timer parte da 0 e viene visualizzato nel formato MM: SS.

var timestamp = new Date(0, 0, 0, 0, 0, 0);

function pad(n) { return ("0" + n).slice(-2); }

Number.prototype.pad = function (len) {
    return (new Array(len+1).join("0") + this).slice(-len);
}

Quindi, quello di cui ho effettivamente bisogno è una specie di formula o sistema per ricevere un punteggio finale. Quindi le risposte più corrette di un utente, e più velocemente termina il test, più punti ottiene. So che questo è un tipo di domanda non correlata per questo forum, ma sono piuttosto bloccato. Mi piacerebbe sentire le tue opinioni sul sistema di punteggio. Quindi il punteggio più piccolo dovrebbe essere 0, e il più alto, ben nessun limite.

    
posta terett 14.06.2014 - 23:48
fonte

1 risposta

2

Renderei il minimo = 0 quando sono state soddisfatte 0 domande e il tempo trascorso è 60 minuti.

Da lì, aggiungi punti per ogni domanda a cui è stata data risposta e tempo totale rimasto, ad es.

Diciamo ogni risposta corretta = 200 punti. Ogni minuto non utilizzato = 20 punti.

5 domande a 60 minuti = 1000 punti. 5 domande a risposta in 30 minuti = 1000 + 600 = 1600 punti. 10 domande risposte in 60 minuti = 2000 punti.

Con questa metodologia, potresti dover inserire un limite minimo, cioè l'utente deve giocare per così tanti minuti e deve aver risposto a tante domande, ad es. diciamo almeno 2 risposte e 2 minuti, il che significa che se qualcuno chiude un gioco dopo 2 minuti e risponde a 2 domande:

2 domande con risposta in 2 minuti = 400 + 1160 = 1560.

Se non lo inserisci, se l'utente si chiude senza rispondere per tutto il primo minuto, ottiene comunque 1200 punti!

Questa è una formula molto semplice in modo che ogni domanda e ogni minuto di tempo abbia lo stesso peso. Rende più semplice per i partecipanti IMO. Tuttavia, potresti dover aggiustare la tua ricompensa per ogni domanda e ogni minuto non utilizzato, e questo potrebbe renderlo migliore, ad esempio, assegnare una ricompensa così grande per le domande rispetto ai minuti non utilizzati (ad esempio 600 punti per la risposta alla domanda vs. 5 ciascuno per il tempo non utilizzato) in modo che se l'utente lascia il primo minuto, sono ancora abbastanza in basso.

Un approccio alternativo consiste nell'utilizzare una media di domande al minuto e premiarlo. È possibile calcolare questo rapporto e moltiplicarlo con una certa costante (ad esempio 5000). Poiché le risposte alle domande sono il numeratore e il tempo impiegato è il denominatore, se le risposte alle domande aumentano o il tempo diminuisce, la ricompensa aumenta. Se la risposta alle domande diminuisce o il tempo aumenta, la ricompensa diminuisce. Con gli stessi numeri usati in precedenza, i punti che utilizzano tale schema potrebbero essere come i seguenti:

5 domande a risposta in 60 minuti = 5/60 * 5000 = 416. 5 domande a risposta in 30 minuti = 5/30 * 5000 = 833. 10 domande risposte in 60 minuti = 10/60 * 5000 = 833.

Vedi però che la differenza tra il primo approccio e questo è quella per lo stesso numero di domande medie risposte al minuto (cioè 5 q in 30 min rispetto a 10 q in 60 minuti), il primo approccio viene ricompensato in modo diverso, il secondo premia lo stesso.

    
risposta data 15.06.2014 - 00:45
fonte

Leggi altre domande sui tag