Native JS-Canvas zum Erzielen einer einfachen Schlange

Native JS-Canvas zum Erzielen einer einfachen Schlange

In diesem Artikel wird der spezifische Code von JS Canvas zur Implementierung eines einfachen Schlangenspiels zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Js native Schlange: Leinwand

HTML

<canvas id="kann"></canvas>

CSS

#dürfen{
 Hintergrund: #000000;
 Höhe: 400px;
 Breite: 850px;
}

JS

//Öffentlicher Abschnitt var blockSize = 10;
//Höhe und Breite der Karte var mapW = 300;
var mapH = 150;
//historische Lebensmittel var
var historyfood = neues Array();
//Lebensmittel-Array var img = neues Bild()
var arrFood = ["ananas.png","hamburg.png","wassermelone.png"]
Geschichteessen = [{x: 0,y:0}];
//Standardwert von Greedy Snake var snake = [{x:3,y:0},{x:2,y:0},{x:1,y:0}]

//Schlangenrichtung var directionX = 1;
var RichtungY = 0;
//Fügen Sie eine Flagge hinzu, um zu markieren, ob das Essen gegessen wurde //Standardwert: nicht gegessen var isFood = false;
//Spielstatus beurteilen //Standardspiel wird fortgesetzt var gameState = false;

//Beschränken Sie die Bewegungsrichtung der Schlange, sodass sie nicht umgekehrt wird. var lockleft = true;
var lockright = true;
var Sperre = true;
var lockdown = true;

//Snake-Punktzahl var count = 0;
//Schlangengeschwindigkeit var Geschwindigkeit = 1000 - (Anzahl + 5);
$(Funktion () {
 $("#divContainer").Höhe($("#can").Höhe());
 //1, hole das Canvas-Objekt var can = document.getElementById("can");
 //2. Holen Sie sich die Zeichen-Toolbox. var tools = can.getContext('2d');
 tools.beginPath();
 //Standardwerte für Lebensmittel festlegen var XY = Randomfood();
 konsole.log(XY);
 var x1 = ZufälligesEssen().x;
 var y1 = ZufälligesEssen().y;
 img.src = "/aimless/img/GluttonousSnakeFood/" + arrFood[Math.floor(Math.random() * arrFood.length)];
 //Steuere die Bewegung der Schlange document.addEventListener('keydown',function (e){
  Schalter (e.keyCode) {
   Fall 38:
    wenn (Sperre){
     RichtungX = 0;
     RichtungY = -1;
     Sperrung = falsch;
     Sperren Sie links = wahr;
     Sperrrecht = wahr;
    }
    brechen;
   Fall 40:
    wenn (Sperre){
     RichtungX = 0;
     RichtungY = 1;
     Sperre = falsch;
     Sperren Sie links = wahr;
     Sperrrecht = wahr;
    }
    brechen;
   Fall 37:
    wenn (links sperren){
     RichtungX = - 1;
     RichtungY = 0;
     Sperrrecht = falsch;
     Sperre = wahr;
     Sperrung = wahr;
    }
    brechen;
   Fall 39:
    wenn (rechts sperren){
     RichtungX = 1;
     RichtungY = 0;
     Sperren Sie links = falsch;
     Sperre = wahr;
     Sperrung = wahr;
    }
    brechen;
  }
 })
 setzeIntervalSnake(Werkzeuge, x1, y1);
 //4, finde den Standort})


Funktion setIntervalSnake(Tools,x1,y1){
 setzeIntervall(Funktion (){
  wenn (Spielstatus) {
   zurückkehren;
  }
  //1, Zeichenbrett löschentools.clearRect(0,0,850,420);
  var alterKopf = Schlange[0];

  wenn (alterKopf.x < 0 || alterKopf.y < 0 || alterKopf.x * Blockgröße >= MapW || alterKopf.y * Blockgröße >= MapH){
   Spielstatus = wahr;
   Alarm("Spiel vorbei");
  }anders {
   //Schlange bewegt sich, wenn (Schlange[0].x * Blockgröße === x1 und Schlange[0].y * Blockgröße === y1){
    istEssen = wahr;
   } anders {
    Schlange.pop()
   }
   var neuerKopf = {
    x: alterKopf.x + RichtungX,
    y: alterKopf.y + RichtungY
   }
   snake.unshift(neuerKopf);
  }
  //2. Bestimme, ob das Essen gegessen wurde. Aktualisiere, wenn es gegessen wurde. Aktualisiere nicht, wenn es nicht gegessen wurde. if (isFood) {
   Anzahl = Anzahl + 1;
   $("#Anzahl").html(Anzahl);
   x1 = ZufälligesEssen().x;
   y1 = ZufälligesEssen().y;
   img.src = "/aimless/img/GluttonousSnakeFood/" + arrFood[Math.floor(Math.random() * arrFood.length)];
   istEssen = falsch;
  }
  tools.drawImage(img,x1,y1,blockGröße,blockGröße);
  //Snake-Body-Array var Thesnakebody = neues Array();
  //3, zeichne eine Schlange für (var i = 0; i < snake.length; i++){
   wenn (i == 0){
    tools.fillStyle = "#9933CC";
   } anders {
    var neuerKopf1 = {
     x: Schlange[i].x,
     y: Schlange[i].y
    }
    Der Schlangenkörper.unshift(neuerKopf1);
    tools.fillStyle = "#33adcc";
   }
   tools.fillRect(snake[i].x * Blockgröße,snake[i].y * Blockgröße,Blockgröße,Blockgröße);
  }
  // //Beurteilen Sie, ob der Schlangenkopf den Schlangenkörper gebissen hat Thesnakebody.forEach(item=>{
   wenn(item.x == snake[0].x && item.y == snake[0].y){
    Spielstatus = wahr;
    setzeIntervalSnake(Werkzeuge, x1, y1);
   }
  })
  //4, zeichne die Karte var width = Math.round($("#can").width() / blockSize);
  var Höhe = Math.round($("#can").Höhe() / Blockgröße);
  für (var i = 1; i < Breite; i++){
   tools.moveTo(0,Blockgröße * i);
   tools.lineTo($("#can").width(),blockSize * i);
  }
  für (var i = 1; i < Höhe; i++){
   tools.moveTo(blockGröße * i,0);
   tools.lineTo(blockSize * i,$("#can").height());
  }
  tools.strokeStyle = "#FFFFFF";
  //5, Zeichenwerkzeuge.Stroke();
 },Geschwindigkeit / 3);
}


//Zufälliges Essen Funktion Randomfood() {
 var RandomX = Math.floor(Math.random() * mapW / Blockgröße) * Blockgröße;
 var RandomY = Math.floor(Math.random() * mapH / Blockgröße) * Blockgröße;
 setzeIntervall(Funktion (){
  Schlange.fürJedes(item=>{
   console.log(ZufälligX/Blockgröße, ZufälligY/Blockgröße);
   // Konsole.log(Element.x, Element.y);
   wenn (item.x == RandomX / Blockgröße und item.y == RandomY / Blockgröße) {
    returniere Randomfood();
   } anders {
    zurückkehren ;
   }
  })
 }, 10 / 3);
 var neuZufällig = {
  x: ZufälligesX,
  y: ZufälligY
 }
 gibt newRandom zurück;
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • In JS geschriebenes Schlangenspiel (persönliche Übung)
  • JavaScript Snake Vollversion (Quellcode)
  • js zur Realisierung des Schlangenspiels (leicht verständlich)
  • Ein vollständiges Beispiel des in JS implementierten Schlangenspiels
  • Schlangenspiel mit 20 Zeilen JS-Code implementiert
  • js, um ein kleines Spiel von Greedy Snake zu schreiben
  • Ideen und Quellcode zur Implementierung des js-Snake-Spiels
  • Javascript Snake Implementierungscode
  • JavaScript zum Erstellen eines einfachen Schlangenspiels
  • Ein vollständiges Beispiel der Webversion des Schlangenspiels, implementiert in nativem js

<<:  Beheben Sie das Problem, dass der Dienst nicht gestartet werden kann, wenn die dekomprimierte Version von MySQL 5.7.18 Winx64 unter Win7 x64 installiert wird

>>:  Tutorial-Diagramm zur Installation von Zabbix2.4 unter Centos6.5

Artikel empfehlen

So installieren Sie Docker und konfigurieren Alibaba Cloud Image Accelerator

Docker-Installation Über die Installation auf ein...

Installieren Sie Docker für Windows unter Windows 10 Home Edition

0. Hintergrund Hardware: Xiaomi Notebook Air 13/I...

Der eigentliche Prozess der Implementierung des Zahlenrätsels im WeChat-Applet

Inhaltsverzeichnis Funktionseinführung Rendern 1....

Natives JS zum Erzielen eines Puzzle-Effekts

In diesem Artikel wird der spezifische Code von n...

Zusammenfassung der Wissenspunkte zum Abdecken von Indizes in MySQL

Wenn ein Index die Werte aller abzufragenden Feld...

Zusammenfassung der häufigsten Fehler im Webdesign

Bei der Gestaltung einer Webseite passieren Desig...

CSS3-Countdown-Effekt

Ergebnisse erzielen Implementierungscode html <...

XHTML-Erste-Schritte-Tutorial: Was ist XHTML?

Was ist HTML? Um es einfach auszudrücken: HTML wi...

JavaScript-Grundlagenobjekte

Inhaltsverzeichnis 1. Gegenstand 1.1 Was ist ein ...