Heylo MASTER Ответов: 1

Как добавить счетчик в мою игру javascript?


Привет, я получил эту игру, закодированную на Javascript:
<pre><canvas id="gc" width="729" height="729"></canvas>
<body style="overflow-x: hidden; overflow-y: hidden;">
</body>
<script>
window.onload=function() {
    canv=document.getElementById("gc");
    ctx=canv.getContext("2d");
    document.addEventListener("keydown",keyPush);
    setInterval(game,1000/7);
}
px=py=10;
gs=tc=27;
ax=ay=15;
xv=yv=0;
trail=[];
tail = 2;
function game() {
    px+=xv;
    py+=yv;
    if(px<0) {
        px= tc-1;
    }
    if(px>tc-1) {
        px= 0;
    }
    if(py<0) {
        py= tc-1;
    }
    if(py>tc-1) {
        py= 0;
    }
    ctx.fillStyle="black";
    ctx.fillRect(0,0,canv.width,canv.height);
 
    ctx.fillStyle="lime";
    for(var i=0;i<trail.length;i++) {
        ctx.fillRect(trail[i].x*gs,trail[i].y*gs,gs-2,gs-2);
        if(trail[i].x==px && trail[i].y==py) {
            tail = 2;
        }
    }
    trail.push({x:px,y:py});
    while(trail.length>tail) {
    trail.shift();
    }
 
    if(ax==px && ay==py) {
        tail++;
        ax=Math.floor(Math.random()*tc);
        ay=Math.floor(Math.random()*tc);
    }
    ctx.fillStyle="red";
    ctx.fillRect(ax*gs,ay*gs,gs-2,gs-2);
}
function keyPush(evt) {
    switch(evt.keyCode) {
        case 37:
            xv=-1;yv=0;
            break;
        case 38:
            xv=0;yv=-1;
            break;
        case 39:
            xv=1;yv=0;
            break;
        case 40:
            xv=0;yv=1;
            break;
    }
}
</script>
<html>
И я хочу добавить счетчик в любом месте страницы, чтобы он подсчитывал, насколько длинен "хвост".
Я сам немного пробовал, но это, кажется, не работает, есть идеи, как я это делаю?

Что я уже пробовал:

Я попробовал некоторые html-файлы, такие как
<div id="counter">0</div>
но это только все портит.

Я думаю, что именно здесь должен быть встречный скрипт:
если(топор==Военторга &усилитель;& Ай==пы) {
???
}

ZurdoDev

Просто создайте глобальную переменную, а затем уменьшайте ее всякий раз, когда вам это нужно.

1 Ответов

Рейтинг:
0

W∴ Balboos, GHB

Я не вижу в предоставленном коде ничего, что могло бы повлиять на ваш <div id='counter'>

Она не изменится, пока вы не заставите ее измениться. К сожалению, поскольку это элемент <div>, Он не имеет свойства value=.

Что вам нужно сделать, чтобы изменить содержимое, так это изменить содержимое элемента следующим образом:

document.getElementByID('counter').innerHTML = (the new value)
На самом деле вы можете установить его практически на что угодно с любым значением, а не только на числовые значения.

Смотреть также: HTML DOM innerHTML свойство[^]