TELEMETRIA DI DIGITAZIONE / REGISTRO SESSIONE

Leggere una sessione di digitazione come registro

Questa pagina collega durata, selezione testo, controlli per carattere, formule delle metriche, stati della mappa tasti, pannello a due giocatori e percorso del risultato pubblico al codice visibile nell’editor.

Apri test di digitazione

Striscia di controllo sessione

Prima di una sessione, l’editor espone tre selettori. Sono impostazioni dell’editor, non etichette su una persona o sulla sua digitazione.

  • DURATA — 30 · 60 · 120

    Il selettore offre 30, 60 e 120 secondi. Il valore iniziale è 60 secondi.

  • DIFFICOLTÀ — 3 SET DI TESTI

    Il selettore offre beginner, intermediate ed expert. Il valore iniziale è intermediate.

  • MODALITÀ — SOLO · 2 GIOCATORI

    L’editor inizia in solo. L’altro pannello visibile è una modalità a due giocatori con input separati.

Fonte e selezione del testo

Array di testi sono incorporati per ogni lingua mostrata e difficoltà. All’inizializzazione e di nuovo all’avvio del test, l’editor usa Math.floor(Math.random() * texts.length) per prendere una voce dall’array applicabile.

Orologio sessione e punti di uscita

Il timer avanza mentre un test è avviato e non concluso. Una sessione termina quando timeLeft === 0 o quando un input raggiunge la lunghezza del testo corrente.

01 · SOLO — Il controllo Avvia entra direttamente

In modalità solo, il controllo Avvia chiama direttamente il percorso di avvio e poi mette il focus sull’input solo.

02 · 2 GIOCATORI — 3 → 2 → 1 prima degli input

In modalità due giocatori, il controllo Avvia avvia un conto 3–2–1. Il percorso di avvio poi mette il focus sull’input Player 1.

03 · FINE — Tempo zero o limite del testo

Il percorso di fine è raggiunto con timeLeft === 0 oppure quando una lunghezza input raggiunge almeno currentText.length.

Pannello di misura per carattere

Per un input, l’editor percorre i caratteri per posizione e controlla ciascuno rispetto a currentText in quella posizione. Le posizioni corrispondenti contribuiscono a correctChars; totalChars è la lunghezza input.

  • WPM — round((correctChars / 5) / elapsedMinutes)

    Calcolato solo quando elapsedMinutes è maggiore di 0.

  • ACCURACY — round((correctChars / totalChars) * 100)

    Calcolata solo quando totalChars è maggiore di 0.

  • PROGRESSO — round(currentIndex / currentText.length * 100)

    currentIndex segue la lunghezza dell’input corrente.

Mappa tasti e registro di stato

Quando un carattere solo appena aggiunto ha un carattere atteso, il carattere atteso viene convertito in minuscolo e contato. Un errore è contato quando typedChar !== expectedChar.

TEST CORRENTE — Mostrato solo con dati

La scheda della mappa tasti del test corrente viene resa solo quando i suoi dati errori correnti hanno voci.

CUMULATIVO — typingSpeedTest_keyErrors

All’inizializzazione, l’editor legge errori tasti cumulativi da localStorage sotto typingSpeedTest_keyErrors. A una fine solo, gli errori correnti sono uniti e scritti sotto quella chiave.

REIMPOSTA — Rimuovi la chiave

Il controllo di reimpostazione rimuove typingSpeedTest_keyErrors e azzera lo stato cumulativo mostrato dalla UI. La scheda cumulativa viene resa solo quando esistono dati.

Registro solo e pannello due giocatori

Le modalità visibili usano stati input distinti. Il pannello due giocatori è descritto qui soltanto come UI con due input.

CRONOLOGIA SOLO — Al massimo cinque voci UI

Una fine solo antepone il risultato con [result, ...slice(0, 4)]. Questa cronologia è stato React usato nella UI.

INPUT GIOCATORE — Campi tracciati separatamente

Player 1 e Player 2 hanno stato rispettivo di input, indice, caratteri corretti, caratteri totali, WPM e accuracy.

ETICHETTA FINALE — Ramo WPM

A una fine due giocatori, Player 1 vince solo quando player1Wpm > player2Wpm; Player 2 solo nel caso inverso; altrimenti il risultato è tie.

Percorso facoltativo di risultato pubblico

Dopo una fine solo, un valore WPM oltre 20 apre una finestra. Il campo nome è facoltativo e ha massimo 100 caratteri prima dell’invio.

FINESTRA — Nome facoltativo e invio

La finestra invia WPM solo, accuracy, durata, difficoltà, lingua e un nome ripulito quando inserito.

INPUT SERVER — Limiti accettati

saveScore accetta WPM intero almeno 0, accuracy intera da 0 a 100, durata intera, difficoltà beginner/intermediate/expert e lingua fino a 10 caratteri; il server inserisce il record inviato.

ELENCO PUBBLICO — Query lingua + difficoltà

La query dei punteggi filtra per lingua e difficoltà. La UI richiede limit 10; la query ordina WPM decrescente e poi accuracy decrescente.

Note di ambito

  • Questo registro descrive percorsi e formule dell’editor visibili nel codice corrente.
  • La selezione testo è basata su array e usa lingua mostrata e difficoltà scelta.
  • Un invio di risultato pubblico è input utente attraverso il percorso risultato; questa pagina non lo tratta come verifica.
  • La query risultati ha filtri, ordine e limite UI indicati; questa pagina non dichiara che una voce apparirà.

Continua con strumenti vicini

Ogni strumento collegato ha controlli e percorso risultato propri.

  • Ruota della fortuna

    Imposta voci in un’interfaccia ruota separata e consulta il pannello di selezione.

  • Lancia moneta

    Apri l’interfaccia moneta separata per un risultato a due facce.

  • Sudoku

    Apri un’interfaccia puzzle a griglia con controlli propri.

Domande sul registro sessione

Quali controlli sono scelti inizialmente?

I valori iniziali sono 60 secondi, difficoltà intermediate e modalità solo. La durata offre 30, 60 e 120 secondi; la difficoltà offre beginner, intermediate ed expert.

Come viene scelto un testo?

Per lingua e difficoltà scelte, l’editor prende una voce array con Math.floor(Math.random() * texts.length) all’inizializzazione e all’avvio del test.

Come sono calcolati WPM, accuracy e progresso?

WPM è round((correctChars / 5) / elapsedMinutes) quando elapsedMinutes è maggiore di 0. Accuracy è round((correctChars / totalChars) * 100) quando totalChars è maggiore di 0. Il progresso è round(currentIndex / currentText.length * 100).

Cosa registra la mappa tasti?

Per un carattere solo appena aggiunto, il carattere atteso viene convertito in minuscolo e contato. typedChar !== expectedChar incrementa l’errore. Gli errori cumulativi usano la chiave localStorage typingSpeedTest_keyErrors e Reimposta rimuove quella chiave.

Cosa invia la finestra pubblica?

Dopo una fine solo con WPM sopra 20, la finestra può inviare un nome facoltativo fino a 100 caratteri insieme ai campi risultato. Il server accetta limiti interi e valori enum indicati e inserisce il record inviato.

Apri controlli sessione di digitazione

Scegli durata, difficoltà e modalità nell’editor, poi consulta gli stati per carattere e le metriche visibili.

Apri test di digitazione