Hello World
click me
//liste over alle punkter vores slange optager
let longSnake;
let farve = 0;
let highscore = 2;
//bestemmer hvor lang vores slange skal være,
//før vi sletter den ældste del af slangen.
let snakeSize;
//bestemmer hvilken retning slangen bevæger sig
let dir;
//slange mad
let food;
function setup(){
createCanvas(190, 190);
//Da vores logik er bundet til frameraten, kan vi
//forøge hastigheden ved at hæve vores framerate.
//prøv det
frameRate(4);
snakeSize = 2;
//vi tilføjer den første del af vores slange
longSnake = [];
longSnake.push(createVector(9*10, 9*10));
//vi finder et tilfældig sted at ligge noget
//mad til vores slange
food = createVector(floor(random(0,18))*10,
floor(random(0,18))*10);
dir = createVector(0, 0);
}
function draw(){
if (snakeSize > highscore){
highscore = snakeSize;
}
noStroke();
background(128);
fill(0);
textSize(32);
textAlign(CENTER);
text(highscore, width/2, 32);
//tegner maden
fill(255,0,0);
rect(food.x, food.y, 10, 10);
fill(255);
//har tilføjer vi et extra segment af vores slange,
//i den retning vi bevæger os i
longSnake.push(createVector(
longSnake[longSnake.length-1].x + dir.x*10,
longSnake[longSnake.length-1].y + dir.y*10));
//går igennem vært segment af vores slange
//og tegner den.
farve = 255;
for(let i = longSnake.length-1; i >= 0; i--){
if (i == longSnake.length-1){
fill(0,255,0);
} else {
farve -= 255/snakeSize;
fill(0,farve, 0);
}
rect(longSnake[i].x, longSnake[i].y,10,10);
//kollision detection for vores slange,
//her tjekker vi om hovedt at vores slange
//rammer sig selv
if (longSnake[longSnake.length-1].x == longSnake[i].x &&
longSnake[longSnake.length-1].y == longSnake[i].y &&
i < longSnake.length-1){
//vi fjerner alle dele af vores slange,
//og sætter den tilbage til sin start
//position
longSnake = [];
longSnake.push(createVector(9*10, 9*10));
snakeSize = 2;
//break kan vi bruge til at breake ud af
//vores for-loop, uden at gøre det færdigt
break;
}
if ( longSnake[longSnake.length-1].x < 0 ||
longSnake[longSnake.length-1].x > 180 ||
longSnake[longSnake.length-1].y < 0 ||
longSnake[longSnake.length-1].y > 180){
//vi fjerner alle dele af vores slange,
//og sætter den tilbage til sin start
//position
longSnake = [];
longSnake.push(createVector(9*10, 9*10));
snakeSize = 2;
//break kan vi bruge til at breake ud af
//vores for-loop, uden at gøre det færdigt
break;
}
}
//kollision detection for vores mad.
//her tjekker vi om slangens hoved er det
//samme sted som maden
if (food.x == longSnake[longSnake.length-1].x &&
food.y == longSnake[longSnake.length-1].y){
//vi flytter vores med et nyt sted
food = createVector(floor(random(0,18))*10,
floor(random(0,18))*10);
snakeSize++;
}
//vi fjerner den ældste del
//af vores slange, så det ser ud som om
//den bevægersig
if (longSnake.length >= snakeSize){
longSnake.shift();
}
}
//læser keyboarded, og sætter retningen for
//vores slange
function keyPressed(){
if (keyCode === UP_ARROW && dir.y !== 1) {
dir.y = -1;
dir.x = 0;
} else if (keyCode === DOWN_ARROW && dir.y !== -1){
dir.y = 1;
dir.x = 0;
} else if (keyCode === LEFT_ARROW && dir.x !== 1){
dir.x = -1;
dir.y = 0;
} else if (keyCode === RIGHT_ARROW && dir.x !== -1){
dir.x = 1;
dir.y = 0;
}
}
//liste over alle punkter vores slange optager
let longSnake;
//bestemmer hvor lang vores slange skal være,
//før vi sletter den ældste del af slangen.
let snakeSize;
//bestemmer hvilken retning slangen bevæger sig
let dir;
//slange mad
let food;
function setup(){
createCanvas(190, 190);
//Da vores logik er bundet til frameraten, kan vi
//forøge hastigheden ved at hæve vores framerate.
//prøv det
frameRate(4);
snakeSize = 1000;
//vi tilføjer den første del af vores slange
longSnake = [];
longSnake.push(createVector(9*10, 9*10));
//vi finder et tilfældig sted at ligge noget
//mad til vores slange
food = createVector(floor(random(0,18))*10,
floor(random(0,18))*10);
dir = createVector(0, 0);
}
function draw(){
background(0);
//tegner maden
fill(255,0,0);
rect(food.x, food.y, 10, 10);
fill(255);
//har tilføjer vi et extra segment af vores slange,
//i den retning vi bevæger os i
longSnake.push(createVector(
longSnake[longSnake.length-1].x + dir.x*10,
longSnake[longSnake.length-1].y + dir.y*10));
//går igennem vært segment af vores slange
//og tegner den.
for(let i = longSnake.length-1; i >= 0; i--){
if (i == longSnake.length-1){
fill(0,255,0);
} else {
fill(255);
}
rect(longSnake[i].x, longSnake[i].y,10,10);
//kollision detection for vores slange,
//her tjekker vi om hovedt at vores slange
//rammer sig selv
if (longSnake[longSnake.length-1].x == longSnake[i].x &&
longSnake[longSnake.length-1].y == longSnake[i].y &&
i < longSnake.length-1){
//vi fjerner alle dele af vores slange,
//og sætter den tilbage til sin start
//position
longSnake = [];
longSnake.push(createVector(9*10, 9*10));
snakeSize = 2;
//break kan vi bruge til at breake ud af
//vores for-loop, uden at gøre det færdigt
break;
}
if ( longSnake[longSnake.length-1].x < 0 ||
longSnake[longSnake.length-1].x > 180 ||
longSnake[longSnake.length-1].y < 0 ||
longSnake[longSnake.length-1].y > 180){
//vi fjerner alle dele af vores slange,
//og sætter den tilbage til sin start
//position
longSnake = [];
longSnake.push(createVector(9*10, 9*10));
snakeSize = 2;
//break kan vi bruge til at breake ud af
//vores for-loop, uden at gøre det færdigt
break;
}
}
//kollision detection for vores mad.
//her tjekker vi om slangens hoved er det
//samme sted som maden
if (food.x == longSnake[longSnake.length-1].x &&
food.y == longSnake[longSnake.length-1].y){
//vi flytter vores med et nyt sted
food = createVector(floor(random(0,18))*10,
floor(random(0,18))*10);
snakeSize++;
}
//vi fjerner den ældste del
//af vores slange, så det ser ud som om
//den bevægersig
if (longSnake.length >= snakeSize){
longSnake.shift();
}
}
//læser keyboarded, og sætter retningen for
//vores slange
function keyPressed(){
if (keyCode === UP_ARROW && dir.y !== 1) {
dir.y = -1;
dir.x = 0;
} else if (keyCode === DOWN_ARROW && dir.y !== -1){
dir.y = 1;
dir.x = 0;
} else if (keyCode === LEFT_ARROW && dir.x !== 1){
dir.x = -1;
dir.y = 0;
} else if (keyCode === RIGHT_ARROW && dir.x !== -1){
dir.x = 1;
dir.y = 0;
}
}
//liste over alle punkter vores slange optager
let longSnake;
//bestemmer hvor lang vores slange skal være,
//før vi sletter den ældste del af slangen.
let snakeSize;
//bestemmer hvilken retning slangen bevæger sig
let dir;
//slange mad
let food;
function setup(){
createCanvas(190, 190);
//Da vores logik er bundet til frameraten, kan vi
//forøge hastigheden ved at hæve vores framerate.
//prøv det
frameRate(4);
snakeSize = 2;
//vi tilføjer den første del af vores slange
longSnake = [];
longSnake.push(createVector(9*10, 9*10));
//vi finder et tilfældig sted at ligge noget
//mad til vores slange
food = createVector(floor(random(0,18))*10,
floor(random(0,18))*10);
dir = createVector(0, 0);
}
function draw(){
background(0);
//tegner maden
rect(food.x, food.y, 10, 10);
//har tilføjer vi et extra segment af vores slange,
//i den retning vi bevæger os i
longSnake.push(createVector(
longSnake[longSnake.length-1].x + dir.x*10,
longSnake[longSnake.length-1].y + dir.y*10));
//går igennem vært segment af vores slange
//og tegner den.
for(let i = longSnake.length-1; i >= 0; i--){
rect(longSnake[i].x, longSnake[i].y,10,10);
//kollision detection for vores slange,
//her tjekker vi om hovedt at vores slange
//rammer sig selv
if (longSnake[longSnake.length-1].x == longSnake[i].x &&
longSnake[longSnake.length-1].y == longSnake[i].y &&
i < longSnake.length-1){
//vi fjerner alle dele af vores slange,
//og sætter den tilbage til sin start
//position
longSnake = [];
longSnake.push(createVector(9*10, 9*10));
snakeSize = 2;
//break kan vi bruge til at breake ud af
//vores for-loop, uden at gøre det færdigt
break;
}
}
//kollision detection for vores mad.
//her tjekker vi om slangens hoved er det
//samme sted som maden
if (food.x == longSnake[longSnake.length-1].x &&
food.y == longSnake[longSnake.length-1].y){
//vi flytter vores med et nyt sted
food = createVector(floor(random(0,18))*10,
floor(random(0,18))*10);
snakeSize++;
}
//vi fjerner den ældste del
//af vores slange, så det ser ud som om
//den bevægersig
if (longSnake.length >= snakeSize){
longSnake.shift();
}
}
//læser keyboarded, og sætter retningen for
//vores slange
function keyPressed(){
if (keyCode === UP_ARROW && dir.y !== 1) {
dir.y = -1;
dir.x = 0;
} else if (keyCode === DOWN_ARROW && dir.y !== -1){
dir.y = 1;
dir.x = 0;
} else if (keyCode === LEFT_ARROW && dir.x !== 1){
dir.x = -1;
dir.y = 0;
} else if (keyCode === RIGHT_ARROW && dir.x !== -1){
dir.x = 1;
dir.y = 0;
}
}