गेम स्कोर

बटन पर दबाने से लाल बॉक्स चलता है:






स्कोर

खेल में स्कोर रिकॉर्ड करने के अनेक तरीके हैं, हम आपको दिखाएंगे कैसे स्कोर को कैनवस पर लिखा जाता है।

पहले एक स्कोर कंपोनेंट बनाएं:

var myGamePiece;
var myObstacles = [];
var myScore;
function startGame() {
  myGamePiece = new component(30, 30, "red", 10, 160);
  myScore = new component("30px", "Consolas", "black", 280, 40, "text");
  myGameArea.start();
}

कैनवस तत्व पर लिखने के लिए वर्णनात्मक भाषा और रेखाचित्र करने के लिए अलग है। इसलिए, हमें कंपोनेंट निर्माणकर्ता को एक अतिरिक्त पारामीटर के साथ बुलाना होगा, जिससे कंपोनेंट के लिए टाइप को "text" के रूप में बताया जाए।

कंपोनेंट निर्माणकर्ता में, हम कंपोनेंट को "text" टाइप के लिए परीक्षण करते हैं। "text" टाइप, और fillText विधि के बजाय, fillRect विधि:

function component(width, height, color, x, y, type) {
  this.type = type;
  this.width = width;
  this.height = height;
  this.speedX = 0;
  this.speedY = 0;
  this.x = x;
  this.y = y;
  this.update = function() {
    ctx = myGameArea.context;
    if (this.type == "text") {
      ctx.font = this.width + " " + this.height;
      ctx.fillStyle = रंग;
      ctx.fillText(this.text, this.x, this.y);
    } अन्यथा {}}
      ctx.fillStyle = रंग;
      ctx.fillRect(this.x, this.y, this.width, this.height);
    }
  }
...
}

अंत में, हम updateGameArea फ़ंक्शन में कुछ कोड जोड़ते हैं, जिससे स्कोर को कैनवस में लिखा जाए।हम फ्रेम_नंबर गुणवत्ता के लिए गणना करने वाली विशेषता:

फ़ंक्शन अद्यतन_गेम_क्षेत्र() {
  वार, एक्स, ऊंचाई, गैप, मिन_ऊंचाई, मैक्स_ऊंचाई, मिन_गैप, मैक्स_गैप;
  फॉर(आई = 0; आई < मेरा_अवरोधक.लंबाई; आई += 1) {
    अगर (मेरा_घटक.हानी_से_अवरोधक(मेरा_अवरोधक[आई])) {
      मेरा_�ेम_क्षेत्र_स्टॉप();
      वापस_;
    }
  }
  मेरा_�ेम_क्षेत्र_साफ();
  मेरा_�ेम_क्षेत्र_फ्रेम_नंबर += 1;
  अगर (मेरा_�ेम_क्षेत्र_फ्रेम_नंबर == 1 या हरी_अंतराल(150)) {
    एक्स = मेरा_�ेम_क्षेत्र_कैनवस_विस्तृती;
    मिन_ऊंचाई = 20;
    मैक्स_ऊंचाई = 200;
    ऊंचाई = मैथ.फ्लोर(मैथ.रैंडॉम()*(मैक्स_ऊंचाई-मिन_ऊंचाई+1)+मिन_ऊंचाई);
    मिन_गैप = 50;
    मैक्स_गैप = 200;
    गैप = मैथ.फ्लोर(मैथ.रैंडॉम()*(मैक्स_गैप-मिन_गैप+1)+मिन_गैप);
    मेरा_अवरोधक.पश्चाताप(नया_घटक(10, ऊंचाई, "ग्रीन", एक्स, 0));
    मेरा_अवरोधक.पश्चाताप(नया_घटक(10, एक्स - ऊंचाई - गैप, "ग्रीन", एक्स, ऊंचाई + गैप));
  }
  फॉर(आई = 0; आई < मेरा_अवरोधक.लंबाई; आई += 1) {
    मेरा_अवरोधक[आई].गति_एक्स = -1;
    मेरा_अवरोधक[आई].नया_पोजीशन();
    मेरा_अवरोधक[आई].अद्यतन();
  }
  मेरा_स्कोर_पाठ = "स्कोर: " + मेरा_�ेम_क्षेत्र_फ्रेम_नंबर;
  myScore.update();
  myGamePiece.newPos();
  myGamePiece.update();
}

स्वयं आयात करें