Snake Browser Game | by Relevanz

Gefällts euch?

  • Ja

    Abstimmung: 20 87,0%
  • Nein

    Abstimmung: 3 13,0%

  • Gesamte Voter
    23
Status
Es sind keine weiteren Antworten möglich.

Relevanz

Spieler
Hey,
mir war langweilig, somit hab ich einfach mal aus langeweile ein kleines Browser Game entwickelt.
Habe mich dann schlussendlich für ein sehr einfaches "Snake" entschieden.
Das Spiel ist größenteils selbst programmiert, aber ein wenig hilfe kann nie schaden c:

Tut:
Den Code in ein .txt file pasten und die Endung in .html ändern, fertig.

HTML:
<!-- Author: Relevanz--->



<canvas id="gc" width="400" height="400"></canvas>
<script>
window.onload=function() {
    canv=document.getElementById("gc");
    ctx=canv.getContext("2d");
    document.addEventListener("keydown",keyPush);
    setInterval(game,1000/15);
}
px=py=10;
gs=tc=20;
ax=ay=15;
xv=yv=0;
trail=[];
tail = 5;
 
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;
    }
}
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 = 5;
        }
    }
    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);
}

</script>
Man steuert das Spiel mit den Pfeil-Tasten.


Viel Spaß
Relevanz | Steff
 
Zuletzt bearbeitet:

Brainmix

Spieler
Für Variablendeklaration in Javascript "var" oder falls ES2015 "let" und "const" benutzen
Die Variablen im onload scope sollten von außen eigentlich nicht erreichbar sein, es sei den du hast sie schon vor her deklariert
 

Relevanz

Spieler
Für Variablendeklaration in Javascript "var" oder falls ES2015 "let" und "const" benutzen
Die Variablen im onload scope sollten von außen eigentlich nicht erreichbar sein, es sei den du hast sie schon vor her deklariert
Werd ich nächstes mal beachten :p
Wegen den variabelen, ich hab nen Speedrun im TS gemacht wollte mir Code sparen :D
 
Zuletzt bearbeitet:
Status
Es sind keine weiteren Antworten möglich.
Top