Dann müssen wir zwei weitere Elemente anhängen:

  1. Ein Element, in dem wir den Text anzeigen, den die Spieler eingeben müssen:
    . Wir werden den Text, der eingegeben werden muss, mit einem einfachen Javascript-Code hinzufügen:
            var text2type = \\'Some text that needs to be typed...\\';            function init(){                $(\\'#txt\\').text( text2type );            }
  1. Ein Element, das den Fokus haben muss, zu dem wir einen Ereignis-Listener hinzufügen können, wenn der Spieler eine Taste drückt. Wir müssen das Element nicht wirklich anzeigen, wir müssen es nur auf der Seite haben und sichtbar sein, sonst kann es den Fokus nicht erhalten. Wenn wir es jedoch nicht anzeigen möchten, setzen wir seine Breite und Höhe auf 0.

Jetzt müssen wir sicherstellen, dass das Texteingabeelement immer den Fokus hat. Zuerst fügen wir ein Ereignis im boda=y-Tag ein, das den Fokus auf das Textinput-Element setzt, wenn auf den Textkörper geklickt wird, was praktisch überall auf der Seite bedeutet:

Wir müssen den Fokus auch setzen, wenn die Seite geladen und bereit ist.

$( document ).ready(function() {    $(\\'#textinput\\').focus();});

Jetzt müssen wir den wichtigsten Teil codieren, den Code, der den Eingabeteil übernimmt. Der Code ist recht einfach, er hat drei Hauptmethoden:

\\'use strict\\';class TypingGame {    constructor( text, div ) {      this.text = text;      this.history = \\\"\\\";      this.misspelled = false;      this.stats = [];    }    add(c) {      if ( c == this.text.substring( this.history.length, this.history.length   1 ) ){        this.history  = c;        this.misspelled = false;      }      else{        this.misspelled = true;      }      this.render();    }    render(){        let cursorstyle = \\'cursor\\'   ( this.misspelled ? \\'-misstyped\\' : \\'\\' );      $(\\'#txt\\').html(         \\'\\'   this.history   \\'\\'          \\'\\'   this.text.substring( this.history.length, this.history.length   1 )   \\'\\'          \\'\\'   this.text.substring( this.history.length   1 )   \\'\\'      );    }  }

Für den nächsten Teil müssen wir das Typer-Objekt aktualisieren, wenn ein neuer Buchstabe in das Textinput-Element eingegeben wird (denken Sie daran, dass wir dort einen Listener haben ).

            function updateText(){                let c = $(\\'#textinput\\').val();                if ( c.length > 0 ) {                    typer.add( c.slice(-1) );                }                $(\\'#textinput\\').val(\\'\\');                showCurrent()            }

Jetzt haben wir den ersten Prototypen mit der Spielmechanik eines funktionierenden Tippspiels. Im nächsten Abschnitt werden wir einige weitere Elemente hinzufügen, um die Tippgeschwindigkeit in Wörtern pro Minute und Zeichen pro Minute (wpm und cpm) zu messen und die Leistung in einem schönen Dialog anzuzeigen.

","image":"http://www.luping.net/uploads/20241106/1730856247672ac537d7b5f.jpg","datePublished":"2024-11-08T12:33:57+08:00","dateModified":"2024-11-08T12:33:57+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Erstellen Sie ein Tippspiel in Javascript, um die WPM-Geschwindigkeit zu messen

Erstellen Sie ein Tippspiel in Javascript, um die WPM-Geschwindigkeit zu messen

Veröffentlicht am 08.11.2024
Durchsuche:244

Create a typing game in javascript to measure wpm speed

Erstellen Sie ein Schnellschreibspiel in Javascript

In diesem Tutorial erstellen wir ein einfaches Tippspiel, das unsere Tippgeschwindigkeit in WPM misst – Wörter pro Minute, Zeichen pro Minute, Rechtschreibfehler – und es ermöglicht, diese zu verbessern. Wir werden nur Javascript und jQuery verwenden (das ist nicht wirklich nötig, aber dadurch wird unser Tippspiel weniger ausführlich, sodass wir uns auf den Rest der Anwendung konzentrieren können.

Wir beginnen mit der Erstellung einer einfachen HTML-Seite:


    
        Typing Test WPM: How fast can you type? ⌨️?

Dann müssen wir zwei weitere Elemente anhängen:

  1. Ein Element, in dem wir den Text anzeigen, den die Spieler eingeben müssen:
    . Wir werden den Text, der eingegeben werden muss, mit einem einfachen Javascript-Code hinzufügen:
            var text2type = 'Some text that needs to be typed...';

            function init(){
                $('#txt').text( text2type );
            }

  1. Ein Element, das den Fokus haben muss, zu dem wir einen Ereignis-Listener hinzufügen können, wenn der Spieler eine Taste drückt. Wir müssen das Element nicht wirklich anzeigen, wir müssen es nur auf der Seite haben und sichtbar sein, sonst kann es den Fokus nicht erhalten. Wenn wir es jedoch nicht anzeigen möchten, setzen wir seine Breite und Höhe auf 0.

Jetzt müssen wir sicherstellen, dass das Texteingabeelement immer den Fokus hat. Zuerst fügen wir ein Ereignis im boda=y-Tag ein, das den Fokus auf das Textinput-Element setzt, wenn auf den Textkörper geklickt wird, was praktisch überall auf der Seite bedeutet:

Wir müssen den Fokus auch setzen, wenn die Seite geladen und bereit ist.

$( document ).ready(function() {
    $('#textinput').focus();
});

Jetzt müssen wir den wichtigsten Teil codieren, den Code, der den Eingabeteil übernimmt. Der Code ist recht einfach, er hat drei Hauptmethoden:

  • der Konstruktor, der den Text festlegt, der eingegeben werden muss, und einige Klassenvariablen initialisiert.
  • die Add-Methode, die das neue eingegebene Zeichen hinzufügt, was zu einem Fehler führen kann oder nicht.
  • Die Render-Methode rendert den Text, wobei die Spieler ein visuelles Feedback über den Fortschritt erhalten und sehen können, wenn dann etwas falsch geschrieben wurde.
'use strict';

class TypingGame {

    constructor( text, div ) {
      this.text = text;
      this.history = "";

      this.misspelled = false;
      this.stats = [];
    }

    add(c) {

      if ( c == this.text.substring( this.history.length, this.history.length   1 ) ){
        this.history  = c;
        this.misspelled = false;
      }
      else{
        this.misspelled = true;
      }

      this.render();
    }


    render(){

        let cursorstyle = 'cursor'   ( this.misspelled ? '-misstyped' : '' );

      $('#txt').html( 
        ''   this.history   ''  
        ''   this.text.substring( this.history.length, this.history.length   1 )   ''
          ''   this.text.substring( this.history.length   1 )   ''
      );

    }


  }

Für den nächsten Teil müssen wir das Typer-Objekt aktualisieren, wenn ein neuer Buchstabe in das Textinput-Element eingegeben wird (denken Sie daran, dass wir dort einen Listener haben ).

            function updateText(){

                let c = $('#textinput').val();
                if ( c.length > 0 ) {
                    typer.add( c.slice(-1) );
                }
                $('#textinput').val('');
                showCurrent()
            }

Jetzt haben wir den ersten Prototypen mit der Spielmechanik eines funktionierenden Tippspiels. Im nächsten Abschnitt werden wir einige weitere Elemente hinzufügen, um die Tippgeschwindigkeit in Wörtern pro Minute und Zeichen pro Minute (wpm und cpm) zu messen und die Leistung in einem schönen Dialog anzuzeigen.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/websilvercraft/create-a-speed-typing-game-in-javascript-4lpc?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3