Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Snake by Thoe
- * @Author: Allen Thoe
- * 3/12/2021
- */
- var mySnake;
- var w;
- var value;
- var num;
- function setup() {
- createCanvas(400, 400);
- mySnake = new Snake();
- num = 10;
- w = width/num;
- value = 220;
- frameRate(5); //Times per second
- }
- function draw() {
- background(value);
- grid();
- mySnake.show();
- }
- function grid(){
- for(var i = 0 ; i < num; i++){
- line(0, i*w, height, i*w);
- line(i*w, 0, i*w, width);
- }
- }
- function keyPressed() {
- if (keyCode === LEFT_ARROW && mySnake.dir != "RIGHT") {
- mySnake.dir = "LEFT";
- } else if (keyCode === RIGHT_ARROW && mySnake.dir != "LEFT") {
- mySnake.dir = "RIGHT";
- } else if (keyCode === UP_ARROW && mySnake.dir != "DOWN") {
- mySnake.dir = "UP";
- } else if (keyCode === DOWN_ARROW && mySnake.dir != "UP") {
- mySnake.dir = "DOWN";
- }
- }
- //Class Snake
- class Snake{
- //Constructor (make a snake)
- constructor(){
- this.x = [];
- this.y = [];
- this.x.push(1);
- this.y.push(5);
- this.dir = "";
- }
- //Methods (as many as you want-- this.etc)
- show(){
- this.move();
- fill(255,0,0);
- for(var i = 0; i < this.x.length; i++){
- rect(this.x*w, this.y*w, w, w);
- }
- }
- move(){
- switch(this.dir){
- case "LEFT":
- if(this.x[0]>0){
- this.x[0]--;
- } // else { this.gameState = false;}
- break;
- case "RIGHT":
- if(this.x[0] < num-1){
- this.x[0]++;
- }
- break;
- case "UP":
- if(this.y[0] > 0){
- this.y[0]--;
- }
- break;
- case "DOWN":
- if(this.y[0] < num-1){
- this.y[0]++;
- }
- break;
- }
- }
- }
Add Comment
Please, Sign In to add comment