Hello World

click me

SNAKE code


  //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;
  }
}