Teilen des JS-nativen Quellcodes des Spiels 2048 (das Neueste im Internet)

Teilen des JS-nativen Quellcodes des Spiels 2048 (das Neueste im Internet)

Ich habe mich kürzlich mit Algorithmen beschäftigt und bin auf ein kleines Spiel gestoßen, das von Algorithmen gesteuert wird. Hier ist der Code für Sie:

Wirkung:

Code:

<Kopf>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=360px,user-scalable=no" />
    <title>2048 Minispiel</title>
    <Stil>
        Körper, h1, div, Tabelle, tr, td {
            Rand: 0px;
            Polsterung: 0px;
        }
        Körper{
            Hintergrundfarbe: rgb(0,0,0);
        }
        h1{
            Rand: 36px automatisch;
            Textausrichtung: zentriert;
            Farbe: rgba(255,255,255,0,7);
            Schriftfamilie: „楷体“;
            Schriftgröße: 48px;
            Textschatten: 1px 2px 3px rgb(134,134,134);
        }
        div{
            Rand: 12px automatisch;
            Zeilenhöhe: 60px;
        }
        #Kasten{
            Rand oben: -24px;
            Breite: 240px;
            Höhe: 60px;
            Textausrichtung: zentriert;
            Schriftstärke: fett;
            Farbe: RGB (255,255,255);
        }
        #box Eingabe{
            Rand: 3px durchgezogen rgb(255,255,255);
            Rahmenradius: 4px;
            Kastenschatten: 1px 2px 3px rgb(234,234,234);
        }
        #box Eingabe:Fokus{
            Gliederungsstil: keiner;
        }
        Tisch{
            Rand: 24px automatisch;
            Rand: 3px durchgezogen rgb(255,255,255);
            Rahmenradius: 6px;
        }
        #zufällig,td{
            Breite: 60px;
            Höhe: 60px;
            Rand: 2px durchgezogen rgb(255,255,255);
            Rahmenradius: 18px;
            Textausrichtung: zentriert;
            Schriftstärke: fett;
            Farbe: RGB (255,255,255);
        }
        td:hover{
            Cursor: Zeiger;
        }
    </Stil>
</Kopf>
<Text>
    <h1>2 0 4 8</h1>
<!-- Punktestand anzeigen und Button „Neues Spiel“ -->
<div id="box">
    Punktzahl: <span id="span">0</span>
             
    <input id="but" type="button" value="Neues Spiel" />
</div>
<!-- Zufallszahl anzeigen -->
<div id="zufällig"></div>
<!-- Hauptlayout des Spiels -->
<Tabellengrenze="3px">
    <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
    </tr>
</Tabelle>
</body>
<Skripttyp="text/javascript">
    var span = document.getElementById("span");
    var aber = document.getElementById("aber");
    var td = document.getElementsByTagName("td");
    //Punktzahl definieren var score = 0;
    //Zufallszahl definieren var random = document.getElementById("random");
    var showNums = [2,4,8,16,32,64,128,256,512,1024];
    var showNum = 0;
    //Hintergrundfarben-Array definieren var colors = ["rgb(255, 169, 182)","rgb(108, 251, 104)","rgb(255, 150, 46)","rgb(255, 121, 46)","rgb(255, 217, 46)",
                "rgb(46, 200, 255)","rgb(46, 113, 255)","rgb(240, 46, 255)","rgb(46, 255, 175)","rgb(153, 134, 255)"];
    // Initialisiere das Programm und generiere Zufallszahlen /* start */
    Funktion init(){
        var max = maxNum();
        varnum = 0;
        für(var i=4;i > 0;i++){
            wenn(max < Math.pow(2,i+1)){
                num = parseInt(Math.random()*i);
                brechen;
            }sonst wenn(max < 2048){
                weitermachen;
            }anders{
                num = parseInt(Math.random()*showNums.length);
                brechen;
            }
        }
        random.innerHTML = zeigeNums[Anzahl];
        Farbe (zufällig);
        showNum = showNums[Anzahl];
    }
    init();
    /* Ende */
     
    //Holen Sie sich den maximalen Wert im Schachbrett / * Start * /
    Funktion maxNum(){
        varmax = 0;
        für(var i=0;i<td.length;i++){
            wenn(td[i].innerHTML == ""){
                max = max;
            }anders{
                wenn (parseInt(td[i].innerHTML) > max) {
                    : max = parseInt(td[i].innerHTML);
                }anders{
                    max = max;
                }
            }
        }
        Rückgabewert max;
    }
    /* Ende */
     
    //Hintergrundfarbe entsprechend der Nummer anzeigen /* start */
    Funktion Farbe (Objekt) {
        für(var i=0;i < Farben.Länge;i++){
            wenn(obj.innerHTML == Math.pow(2,i+1)){
                obj.style = "Hintergrundfarbe: "+colors[i]+";";
                brechen;
            }
        }
    }
    /* Ende */
     
    //Merge-Algorithmus/* start */
    Funktion offsetTop(obj,index){//Zusammenführen wenn(index > 3){
            wenn(td[(index-4)].innerHTML == obj.innerHTML){
                td[(index-4)].innerHTML = "";
                td[(index-4)].style = "Hintergrundfarbe: rgba(0, 0, 0, 0);";
                gibt true zurück;
            }
        }
        gibt false zurück;
    }
    Funktion offsetBottom(obj,index){//Zusammenführen wenn(index < 12){
            wenn(td[(index+4)].innerHTML == obj.innerHTML){
                td[(index+4)].innerHTML = "";
                td[(index+4)].style = "Hintergrundfarbe: rgba(0, 0, 0, 0);";
                gibt true zurück;
            }
        }
        gibt false zurück;
    }
    Funktion offsetLeft(obj,index){//Links zusammenführenwenn(index!=0 && index!=4 && index!=8 && index!=12){
            wenn(td[(index-1)].innerHTML == obj.innerHTML){
                td[(index-1)].innerHTML = "";
                td[(index-1)].style = "Hintergrundfarbe: rgba(0, 0, 0, 0);";
                    gibt true zurück;
            }
        }
        gibt false zurück;
    }
    Funktion offsetRight(obj,index){//Rechts zusammenführenwenn(index!=3 && index!=7 && index!=11 && index!=15){
            wenn(td[(index+1)].innerHTML == obj.innerHTML){
                td[(index+1)].innerHTML = "";
                td[(index+1)].style = "Hintergrundfarbe: rgba(0, 0, 0, 0);";
                gibt true zurück;
            }
        }
        gibt false zurück;
    }
    /* Ende */
     
    //Beurteilen Sie, ob die Zellen zusammengeführt sind/* start */
    Funktion merge(Objekt,Index){
        wenn(offsetTop(obj,index)){
            wenn (offsetBottom(obj,index)) {
                wenn (OffsetLinks(Objekt,Index)) {
                    wenn(OffsetRechts(Objekt,Index)){
                        obj.innerHTML = parseInt(obj.innerHTML)*2; //Oben, unten, links und rechts zusammenführen score += 16;
                        zusammenführen(Objekt,Index);
                    }anders{
                        obj.innerHTML = parseInt(obj.innerHTML)*2; //Nur oben, unten und links zusammenführen score += 8;
                        zusammenführen(Objekt,Index);
                    }
                }sonst wenn(OffsetRechts(Objekt,Index)){
                    obj.innerHTML = parseInt(obj.innerHTML)*2; //Nur oben, unten und rechts zusammenführen score += 8;
                    zusammenführen(Objekt,Index);
                }anders{
                    obj.innerHTML = parseInt(obj.innerHTML)*2; //Nur die oberen und unteren Punktzahlen zusammenführen += 4;
                    zusammenführen(Objekt,Index);
                }
            }sonst wenn(offsetLeft(obj,index)){
                wenn(OffsetRechts(Objekt,Index)){
                    obj.innerHTML = parseInt(obj.innerHTML)*2; //Nur oben, links und rechts zusammenführen score += 8;
                    zusammenführen(Objekt,Index);
                }anders{
                    obj.innerHTML = parseInt(obj.innerHTML)*2; // Nur die obere und linke Punktzahl zusammenführen += 4;
                    zusammenführen(Objekt,Index);
                }
            }sonst wenn(OffsetRechts(Objekt,Index)){
                obj.innerHTML = parseInt(obj.innerHTML)*2; //Nur die obere und rechte Punktzahl zusammenführen += 4;
                zusammenführen(Objekt,Index);
            }anders{
                obj.innerHTML = parseInt(obj.innerHTML)*2; //Nur Zusammenführungsergebnis += 2;
                zusammenführen(Objekt,Index);
            }
        }sonst wenn(offsetBottom(obj,index)){
            wenn (OffsetLinks(Objekt,Index)) {
                wenn(OffsetRechts(Objekt,Index)){
                    obj.innerHTML = parseInt(obj.innerHTML)*2; //Nur unten, links und rechts zusammenführen score += 8;
                    zusammenführen(Objekt,Index);
                }anders{
                    obj.innerHTML = parseInt(obj.innerHTML)*2; // Nur die untere und linke Punktzahl zusammenführen += 4;
                    zusammenführen(Objekt,Index);
                }
            }sonst wenn(OffsetRechts(Objekt,Index)){
                obj.innerHTML = parseInt(obj.innerHTML)*2; // Nur die untere und rechte Punktzahl zusammenführen += 4;
                zusammenführen(Objekt,Index);
            }anders{
                obj.innerHTML = parseInt(obj.innerHTML)*2; // Nur Zusammenführungsergebnis += 2;
                zusammenführen(Objekt,Index);
            }
        }sonst wenn(offsetLeft(obj,index)){
            wenn(OffsetRechts(Objekt,Index)){
                obj.innerHTML = parseInt(obj.innerHTML)*2; // Nur links und rechts zusammenführen score += 4;
                zusammenführen(Objekt,Index);
            }anders{
                obj.innerHTML = parseInt(obj.innerHTML)*2; // Nur die linke Punktzahl zusammenführen += 2;
                zusammenführen(Objekt,Index);
            }
        }sonst wenn(OffsetRechts(Objekt,Index)){
            obj.innerHTML = parseInt(obj.innerHTML)*2; // Nur die richtige Punktzahl zusammenführen += 2;
            zusammenführen(Objekt,Index);
        }
    }
    /* Ende */
     
    //hauptsächlich
    /* Start */
    Funktion gameOver(){
        für(var i=0;i<td.length;i++){
            wenn(td[i].innerHTML == ""){
                brechen;
            }
            wenn(i == 15){
                alert("Leider ist dieses Spiel vorbei …");
            }
        }
    }
    /* Ende */
     
    //hauptsächlich
    /* Start */
    (Funktion(){
        für(var i=0;i<td.length;i++){
            var wähle = td[i];
            wähle.index = i;
            wählen.onclick = function(){
                wenn(dieses.innerHTML == ""){
                    dies.innerHTML = zeigeNum;
                    zusammenführen(dies,dies.index);
                    wenn(dieses.innerHTML >= 2048){
                        dies.innerHTML = "";
                        this.style = "Hintergrundfarbe: rgba(0, 0, 0, 0);";
                    }
                    Farbe (diese);
                    init();
                }
                updateScore();
                Spiel vorbei();
            }
        }
    })();
    /* Ende */
     
    //Punktzahl aktualisieren /* start */
    Funktion updateScore(){
        wenn(Punktzahl > 500){
            span.style = "Farbe: rgb(255,0,0)";
        }sonst wenn(Punktzahl > 100){
            span.style = "Farbe: rgb(255,0,255)";
        }sonst wenn(Punktzahl > 50){
            span.style = "Farbe: rgb(255,255,0)";
        }sonst wenn(Punktzahl > 20){
            span.style = "Farbe: rgb(0,0,255)";
        }sonst wenn(Punktzahl > 10){
            span.style = "Farbe: rgb(0,255,0)";
        }
        span.innerHTML = Punktzahl;
    }
    /* Ende */
     
    //Neues Spiel/*starten*/
    aber.onclick = function(){
        Standort.neu laden();
    }
    /* Ende */
     
</Skript>
</html>

Dies ist das Ende dieses Artikels über das Teilen des Quellcodes des JS-nativen Spiels 2048. Weitere relevante Inhalte zum JS-Spiel 2048 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Natives JS zur Implementierung des Spiels 2048
  • AngularJS-Implementierung der 2048-Spielfunktion [mit Quellcode-Download]
  • 2048-Minispiel mit nativem JS schreiben
  • 2048-Spiel in Javascript geschrieben
  • 2048-Spiel mit Javascript schreiben
  • Javascript-Version des Spiels 2048

<<:  Detaillierte Erläuterung der ActiveMQ-Bereitstellungsmethode in der Linux-Umgebung

>>:  Optimieren Sie MySQL mit 3 einfachen Tricks

Artikel empfehlen

Vue implementiert den Schnittstellen-Gleiteffekt

In diesem Artikelbeispiel wird der spezifische Co...

HTML+CSS-Implementierungscode für abgerundete Rechtecke

Mir war langweilig und plötzlich fiel mir die Impl...

Docker-Dateispeicherpfad, Befehlsvorgang zum Starten des Containers abrufen

Der Container wurde bereits erstellt. So erfahren...

Zabbix-Überwachungslösung – die neueste offizielle Version 4.4 [empfohlen]

Zabbix 12.10.2019 Chenxin siehe https://www.zabbi...

Detaillierte Erläuterung der Anwendungsbeispiele für Vue-Router 4

Inhaltsverzeichnis 1. Installieren und erstellen ...

So optimieren Sie den Logikbeurteilungscode in JavaScript

Vorwort Zu den logischen Urteilsaussagen, die wir...

Detaillierte Codebeispiele zu sieben Methoden zur vertikalen Zentrierung mit CSS

Wenn wir ein Layout bearbeiten, verwenden wir nor...

Die entsprechenden Attribute und Verwendung von XHTML-Tags in CSS

Als ich anfing, Webseiten mit XHTML CSS zu entwer...

Implementierung der Remote-Linux-Entwicklung mit vscode

Verabschieden Sie sich von der Vergangenheit Bevo...

CSS-Tipps zur Implementierung der Chrome-Tab-Leiste

Dieses Mal schauen wir uns ein Navigationsleisten...

Lösung für die Nginx-Installation ohne Generierung des sbin-Verzeichnisses

Fehlerbeschreibung: 1. Nach der Installation von ...

Weitere Features der JavaScript-Konsole

Inhaltsverzeichnis Überblick console.log konsole....