MrThoe

Snake2

Mar 12th, 2021 (edited)
1,010
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Snake by Thoe
  2.  * @Author:  Allen Thoe
  3.  * 3/12/2021
  4.  */
  5. var mySnake;
  6. var w;
  7. var value;
  8. var num;
  9.  
  10. function setup() {
  11.   createCanvas(400, 400);
  12.   mySnake = new Snake();
  13.   num = 10;
  14.   w = width/num;
  15.   value = 220;
  16.   frameRate(5);  //Times per second
  17. }
  18.  
  19. function draw() {
  20.   background(value);
  21.   grid();
  22.   mySnake.show();
  23. }
  24.  
  25. function grid(){
  26.   for(var i = 0 ; i < num; i++){
  27.     line(0, i*w, height, i*w);
  28.     line(i*w, 0, i*w, width);
  29.   }
  30. }
  31.  
  32. function keyPressed() {
  33.   if (keyCode === LEFT_ARROW && mySnake.dir != "RIGHT") {
  34.     mySnake.dir = "LEFT";
  35.   } else if (keyCode === RIGHT_ARROW && mySnake.dir != "LEFT") {
  36.     mySnake.dir = "RIGHT";
  37.   } else if (keyCode === UP_ARROW && mySnake.dir != "DOWN") {
  38.     mySnake.dir = "UP";
  39.   } else if (keyCode === DOWN_ARROW && mySnake.dir != "UP") {
  40.     mySnake.dir = "DOWN";
  41.   }
  42. }
  43.  
  44. //Class Snake
  45. class Snake{
  46.   //Constructor (make a snake)
  47.   constructor(){
  48.     this.x = [];
  49.     this.y = [];
  50.     this.x.push(1);
  51.     this.y.push(5);
  52.     this.dir = "";
  53.   }
  54.  
  55.  
  56.   //Methods (as many as you want-- this.etc)
  57.   show(){
  58.     this.move();
  59.     fill(255,0,0);
  60.     for(var i = 0; i < this.x.length; i++){
  61.       rect(this.x*w, this.y*w, w, w);
  62.     }
  63.   }
  64.  
  65.   move(){
  66.        
  67.     switch(this.dir){
  68.       case "LEFT":
  69.         if(this.x[0]>0){
  70.           this.x[0]--;
  71.         } // else { this.gameState = false;}
  72.         break;
  73.        
  74.       case "RIGHT":
  75.           if(this.x[0] < num-1){
  76.             this.x[0]++;
  77.           }
  78.         break;
  79.        
  80.       case "UP":
  81.         if(this.y[0] > 0){
  82.           this.y[0]--;
  83.         }
  84.         break;
  85.        
  86.       case "DOWN":
  87.         if(this.y[0] < num-1){
  88.           this.y[0]++;
  89.         }
  90.         break;            
  91.     }
  92.   }
  93. }
  94.  
Add Comment
Please, Sign In to add comment