Heim Web-Frontend js-Tutorial So implementieren Sie das Minispiel 2048 mit Vue

So implementieren Sie das Minispiel 2048 mit Vue

Jun 01, 2018 am 10:32 AM
实现 小游戏

Dieses Mal zeige ich Ihnen, wie Sie Vue zur Implementierung des 2048-Minispiels verwenden. Was sind die Vorsichtsmaßnahmen für die Verwendung von Vue zur Implementierung des 2048-Minispiels? sehen.

Verwendung:

git clone
npm i
npm run dev
Nach dem Login kopieren

Die Implementierungsidee lautet wie folgt:

  1. Verwenden Sie vue-cli, um das Projekt zu erstellen. Es kann etwas umständlich sein Dieses Projekt, aber ich bin auch faul. Erstellen Sie ein weiteres

  2. 4X4-Raster und speichern Sie es in einem zweidimensionalen Array. Nach dem Binden kümmern Sie sich nur um diese beiden -dimensionales Array und überlassen Sie andere Dinge der Betrachtung

  3. Tastatur anhörenEreignisse

  4. Der Kernteil von 2048 ist der Da es sich um eine 4X4-Matrix handelt, ist zum Implementieren des Linksverschiebungsalgorithmus nur das Drehen der Matrix, das Zusammenführen der Bewegungen, das Zurückdrehen und das Rendern des Doms erforderlich

  5. Bindungsstile mit unterschiedlichen Werten

  6. Score-Berechnung und Verwendung von Localstorage zum Speichern des höchsten Scores

Schlüsselimplementierung

DOM

<p class="box">
  <p class="row" v-for="row in list">
    <p class="col" :class="&#39;n-&#39;+col" v-for="col in row">{col}}</p>
  </p>
</p>
Nach dem Login kopieren

Das DOM des Hauptspielteils ist sehr einfach und dynamisch gerendert an den Stil gebunden

Nach links verschieben

Besteht hauptsächlich aus folgenden Situationen:

  • 2 2 2 2 => 4 4 0 0

  • 4 2 2 2 => 4 4 2 0

  • 0 4 2 2=>

  • 2 2 4 2 => 4 4 0 Gehen Sie zur am weitesten entfernten leeren Position am weitesten

, um festzustellen, ob die linke Seite des am weitesten entfernten existiert . Wenn es nicht vorhanden ist, gehen Sie direkt zu „Am weitesten entfernt“

  1. . Wenn es vorhanden ist, ermitteln Sie, ob der Wert von „Am weitesten entfernt“ mit dem Wert der Zelle

  2. gleich => zusammenführen

  3. nicht gleich => zur am weitesten entfernten Position verschieben

  4. Nach dem Verschieben die Zelle löschen

  5. Nächste Runde

  6. Da gerade eine Bewegungsrunde läuft, kann eine Zahl nur einmal zusammengeführt werden, daher muss jedes Raster einen zusammengeführten Parameter zum Aufzeichnen haben ob es zusammengelegt wurde.

    Hauptcode:
  7. _list.forEach(item => {
        let farthest = this.farthestPosition(list, item)
        let next = list[farthest - 1]
        if (next && next === item.value && !_list[farthest - 1].merged) {
          //合并
          list[farthest - 1] = next * 2
          list[item.x] = undefined
          item = {
            x: farthest - 1,
            merged: true,
            value: next * 2
          }
          this.score += next * 2
        } else {
          if (farthest != item.x) {
            list[farthest] = item.value
            list[item.x] = undefined
            item.x = farthest
          }
        }
      })
    Nach dem Login kopieren
  8. Matrixdrehung

Weil nach oben, nach unten, nach links, nach rechts bewegen, ist es das Das Gleiche kann man viermal schreiben, aber es ist leicht, Fehler zu machen, also drehe ich die Matrix direkt und verschiebe sie dann.

Wenn Sie beispielsweise die Matrix einmal gegen den Uhrzeigersinn drehen, wird die Aufwärtsverschiebung zu einer Linksverschiebung. Nachdem die Bewegungen zusammengeführt wurden, müssen Sie die Matrix nur 4-1 Mal gegen den Uhrzeigersinn drehen, und die Matrix wird die Das Gleiche gilt für eine einfache Verschiebung nach oben.

Rotationsalgorithmus gegen den Uhrzeigersinn:

rotate(arr, n) {
    n = n % 4
    if (n === 0) return arr
    let tmp = Array.from(Array(this.size)).map(() => Array(this.size).fill(undefined))
    for (let i = 0; i < this.size; i++) {
      for (let j = 0; j < this.size; j++) {
        tmp[this.size - 1 - i][j] = arr[j][i]
      }
    }
    if (n > 1) tmp = this.rotate(tmp, n - 1)
    return tmp
  },
Nach dem Login kopieren
Zu diesem Zeitpunkt ist er zu 80 % fertig und muss nur noch verbessert werden, indem Punkte hinzugefügt, neu gestartet und andere Funktionen ausgeführt werden.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So verwenden Sie vee-validate in Vue

Knoten verwendet domänenübergreifend Express+http-Proxy -Detaillierte Erläuterung der Middleware-Schritte

Das obige ist der detaillierte Inhalt vonSo implementieren Sie das Minispiel 2048 mit Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mar 24, 2024 am 11:27 AM

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mit dem Aufkommen der sozialen Medien ist WeChat zu einem unverzichtbaren Kommunikationsmittel im täglichen Leben der Menschen geworden. Viele Menschen können jedoch auf ein Problem stoßen: Sie können sich gleichzeitig auf demselben Mobiltelefon bei mehreren WeChat-Konten anmelden. Für Huawei-Mobiltelefonbenutzer ist es nicht schwierig, eine doppelte WeChat-Anmeldung zu erreichen. In diesem Artikel wird erläutert, wie eine doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen erreicht wird. Erstens bietet das EMUI-System, das mit Huawei-Mobiltelefonen geliefert wird, eine sehr praktische Funktion – das doppelte Öffnen von Anwendungen. Durch die doppelte Öffnungsfunktion der Anwendung können Benutzer gleichzeitig

Verwenden Sie Java, um Code zur Implementierung von Liebesanimationen zu schreiben Verwenden Sie Java, um Code zur Implementierung von Liebesanimationen zu schreiben Dec 23, 2023 pm 12:09 PM

Liebesanimationseffekte durch Java-Code realisieren Im Bereich der Programmierung sind Animationseffekte sehr verbreitet und beliebt. Mit Java-Code können verschiedene Animationseffekte erzielt werden, darunter der Herzanimationseffekt. In diesem Artikel wird erläutert, wie Sie mithilfe von Java-Code diesen Effekt erzielen, und es werden spezifische Codebeispiele aufgeführt. Der Schlüssel zum Realisieren des Herzanimationseffekts besteht darin, das herzförmige Muster zu zeichnen und den Animationseffekt durch Ändern der Position und Farbe der Herzform zu erzielen. Hier ist der Code für ein einfaches Beispiel: importjavax.swing.

Ausführliche Erklärung: Verfügt Windows 10 über ein integriertes Minesweeper-Minispiel? Ausführliche Erklärung: Verfügt Windows 10 über ein integriertes Minesweeper-Minispiel? Dec 23, 2023 pm 02:07 PM

Wenn wir das Win10-Betriebssystem verwenden, möchten wir wissen, ob das integrierte Spiel Minesweeper aus der alten Version nach dem Win10-Update noch gespeichert ist. Soweit der Editor weiß, können wir es herunterladen und im Store installieren wie es im Store ist. Suchen Sie einfach nach „microsoftminesweeper“. Werfen wir einen Blick auf die einzelnen Schritte mit dem Editor. Gibt es ein Minesweeper-Spiel für Windows 10? 1. Öffnen Sie zunächst das Win10-Startmenü und klicken Sie auf. Suchen Sie dann und klicken Sie auf Suchen. 2. Klicken Sie auf das erste. 3. Anschließend müssen Sie möglicherweise ein Microsoft-Konto, also ein Microsoft-Konto, eingeben. Wenn Sie kein Microsoft-Konto haben, können Sie es installieren und werden zur Registrierung aufgefordert. Geben Sie das Kontopasswort ein und klicken Sie auf Weiter. 4. Starten Sie dann den Download

PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge Mar 20, 2024 pm 04:54 PM

Die Programmiersprache PHP ist ein leistungsstarkes Werkzeug für die Webentwicklung, das eine Vielzahl unterschiedlicher Programmierlogiken und Algorithmen unterstützen kann. Unter diesen ist die Implementierung der Fibonacci-Folge ein häufiges und klassisches Programmierproblem. In diesem Artikel stellen wir vor, wie Sie die Fibonacci-Folge mit der Programmiersprache PHP implementieren, und fügen spezifische Codebeispiele bei. Die Fibonacci-Folge ist eine mathematische Folge, die wie folgt definiert ist: Das erste und das zweite Element der Folge sind 1, und ab dem dritten Element ist der Wert jedes Elements gleich der Summe der beiden vorherigen Elemente. Die ersten paar Elemente der Sequenz

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mar 24, 2024 pm 06:03 PM

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mit der Popularität sozialer Software und der zunehmenden Bedeutung von Datenschutz und Sicherheit rückt die WeChat-Klonfunktion allmählich in den Mittelpunkt der Aufmerksamkeit der Menschen. Die WeChat-Klonfunktion kann Benutzern helfen, sich gleichzeitig bei mehreren WeChat-Konten auf demselben Mobiltelefon anzumelden, was die Verwaltung und Nutzung erleichtert. Es ist nicht schwierig, die WeChat-Klonfunktion auf Huawei-Mobiltelefonen zu implementieren. Sie müssen lediglich die folgenden Schritte ausführen. Schritt 1: Stellen Sie sicher, dass die Version Ihres Mobiltelefonsystems und die WeChat-Version den Anforderungen entsprechen. Stellen Sie zunächst sicher, dass die Version Ihres Huawei-Mobiltelefonsystems sowie die WeChat-App auf die neueste Version aktualisiert wurden.

Entwicklungsvorschläge: So verwenden Sie das ThinkPHP-Framework zur Implementierung asynchroner Aufgaben Entwicklungsvorschläge: So verwenden Sie das ThinkPHP-Framework zur Implementierung asynchroner Aufgaben Nov 22, 2023 pm 12:01 PM

„Entwicklungsvorschläge: So verwenden Sie das ThinkPHP-Framework zur Implementierung asynchroner Aufgaben“ Mit der rasanten Entwicklung der Internettechnologie stellen Webanwendungen immer höhere Anforderungen an die Verarbeitung einer großen Anzahl gleichzeitiger Anforderungen und komplexer Geschäftslogik. Um die Systemleistung und das Benutzererlebnis zu verbessern, erwägen Entwickler häufig die Verwendung asynchroner Aufgaben, um einige zeitaufwändige Vorgänge auszuführen, z. B. das Senden von E-Mails, das Verarbeiten von Datei-Uploads, das Erstellen von Berichten usw. Im Bereich PHP bietet das ThinkPHP-Framework als beliebtes Entwicklungsframework einige praktische Möglichkeiten zur Implementierung asynchroner Aufgaben.

So spielen Sie Minispiele in Google Chrome So spielen Sie Minispiele in Google Chrome Jan 30, 2024 pm 12:39 PM

Wie spiele ich Minispiele auf Google Chrome? Google Chrome verfügt über viele Funktionen, die mit menschlicher Sorgfalt entwickelt wurden, und Sie können darin jede Menge abwechslungsreichen Spaß haben. In Google Chrome gibt es ein sehr interessantes Easter Egg-Spiel, nämlich das Little Dinosaur Game. Viele Freunde mögen dieses Spiel, aber sie wissen nicht, wie sie es zum Spielen auslösen können Minispiel kommt ins Tutorial. So spielen Sie Minispiele auf Google Chrome Methode 1: [Computer vom Netzwerk getrennt] Wenn Ihr Computer ein kabelgebundenes Netzwerk verwendet, ziehen Sie bitte das Netzwerkkabel ab. Wenn Ihr Computer ein drahtloses Netzwerk verwendet, klicken Sie bitte auf die drahtlose Netzwerkverbindung, um die Verbindung zu trennen in der unteren rechten Ecke des Computers. ② Wenn Ihr Computer nicht mit dem Internet verbunden ist, öffnen Sie Google Chrome und Google Browse wird angezeigt.

Meistern Sie, wie Golang Möglichkeiten für die Spieleentwicklung eröffnet Meistern Sie, wie Golang Möglichkeiten für die Spieleentwicklung eröffnet Mar 16, 2024 pm 12:57 PM

Im heutigen Bereich der Softwareentwicklung wird Golang (Go-Sprache) als effiziente, prägnante und hochgradig parallele Programmiersprache von Entwicklern zunehmend bevorzugt. Seine umfangreiche Standardbibliothek und die effizienten Parallelitätsfunktionen machen es zu einer hochkarätigen Wahl im Bereich der Spieleentwicklung. In diesem Artikel wird untersucht, wie man Golang für die Spieleentwicklung verwendet, und seine leistungsstarken Möglichkeiten anhand spezifischer Codebeispiele demonstriert. 1. Golangs Vorteile bei der Spieleentwicklung: Als statisch typisierte Sprache wird Golang beim Aufbau großer Spielsysteme verwendet.

See all articles