Guest User

Untitled

a guest
Mar 23rd, 2023
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <title>Document</title>
  8.     <style>
  9.         html,body{
  10.             height:100%;
  11.             width:100%;
  12.             display: flex;
  13.             flex-direction: column;
  14.             align-items: center;
  15.             justify-content: center;
  16.             padding:0px;
  17.             margin:0px;
  18.             background-color: #000000;
  19.             color: lime;
  20.         }
  21.         .display{
  22.             height:50%;
  23.             aspect-ratio: 1/1;
  24.             display: flex;
  25.             flex-wrap: wrap;
  26.             padding:0px;
  27.             margin:0px;
  28.             border:2px solid lime;
  29.         }
  30.         .part{
  31.             padding:0px;
  32.             margin:0px;
  33.         }
  34.         .mainMenu{
  35.             padding:0px;
  36.             margin:0px;
  37.             height: 100%;
  38.             width: 100%;
  39.             display: flex;
  40.             flex-direction: column;
  41.             align-items: center;
  42.             justify-content: center;
  43.         }
  44.         .mobile_controller{
  45.             height:50%;
  46.             aspect-ratio: 1/1;
  47.             display: flex;
  48.             flex-wrap: wrap;
  49.             padding:0px;
  50.             margin:0px;
  51.             border:2px solid lime;
  52.         }
  53.         button{
  54.             height:20%;
  55.             width:20%;
  56.             display: flex;
  57.             align-items: center;
  58.             justify-content: center;
  59.             background-color: lime;
  60.             color:#000000;
  61.             border:none;
  62.         }
  63.         .CPartb{
  64.             padding:0px;
  65.             margin:0px;
  66.             height: 33.33333333%;
  67.             width: 33.33333333%;
  68.         }
  69.         .CPartv{
  70.             padding:0px;
  71.             margin:0px;
  72.             height: 33.33333333%;
  73.             width: 33.33333333%;
  74.             display: flex;
  75.             align-items: center;
  76.             justify-content: center;
  77.         }
  78.         .C1{
  79.             padding:0px;
  80.             margin:0px;
  81.             height: 100%;
  82.             width:100%;
  83.             display: flex;
  84.             flex-wrap: wrap;
  85.             flex-direction: column;
  86.             align-items:flex-start;
  87.             justify-content:flex-start;
  88.         }
  89.         .C2{
  90.             padding:0px;
  91.             margin:0px;
  92.             height: 100%;
  93.             width:100%;
  94.             display: flex;
  95.             flex-wrap: wrap;
  96.             flex-direction: row;
  97.             align-items:flex-start;
  98.             justify-content:flex-start;
  99.         }
  100.         .B1{
  101.             height:20%;
  102.             width:20%;
  103.             background-color:#000000;
  104.         }
  105.         .G10{
  106.             height:20%;
  107.             width:20%;
  108.             background-color:lime;
  109.         }
  110.         .G20{
  111.             height:100%;
  112.             width:60%;
  113.             background-color:lime;
  114.         }
  115.         .G30{
  116.             height:60%;
  117.             width:100%;
  118.             background-color:lime;
  119.         }
  120.         .G40{
  121.             height:80%;
  122.             width:60%;
  123.             background-color:lime;
  124.         }
  125.         .G11{
  126.             height:20%;
  127.             width:20%;
  128.             background-color:green;
  129.         }
  130.         .G21{
  131.             height:100%;
  132.             width:60%;
  133.             background-color:green;
  134.         }
  135.         .G31{
  136.             height:60%;
  137.             width:100%;
  138.             background-color:green;
  139.         }
  140.         .G41{
  141.             height:80%;
  142.             width:60%;
  143.             background-color:green;
  144.         }
  145.         .BoT{
  146.             height:20%;
  147.             width:60%;
  148.             display: flex;
  149.             flex-wrap: wrap;
  150.             flex-direction: row;
  151.             align-items:flex-start;
  152.             justify-content:flex-start;
  153.         }
  154.         .B2{
  155.             height:100%;
  156.             width:33.33333333%;
  157.             background-color:#000000;
  158.         }
  159.         .G5{
  160.             height:100%;
  161.             width:33.33333333%;
  162.             background-color:lime;
  163.         }
  164.     </style>
  165. </head>
  166. <body>
  167.     <div id="score">0</div>
  168.     <div class="display" id="display">
  169.         <!--main menu so it can be easyly changed-->
  170.         <div class="mainMenu" id="mainMenu">
  171.             <button type="button" onclick="start()">start</button>
  172.             <div><label for="interval">speed (lower is faster)</label>
  173.             <input type="number" id="interval" name="interval" value="100"></div>
  174.             <div><label for="increse speed">Increse speed?</label>
  175.             <input type="checkbox" id="increse speed" name="increse speed" value="true" checked></div>
  176.         </div>
  177.     </div>
  178.     <div class="mobile_controller" id="mobile_controller">
  179.         <!--controls for mobile-->
  180.         <div class="CPartv"></div><button class="CPartb" type="button" onclick="buttonPressed(0)">up</button>
  181.         <div class="CPartv"></div><button class="CPartb" type="button" onclick="buttonPressed(2)">left</button>
  182.         <div class="CPartv"></div><button class="CPartb" type="button" onclick="buttonPressed(3)">right</button>
  183.         <div class="CPartv"></div><button class="CPartb" type="button" onclick="buttonPressed(1)">down</button>
  184.         <div class="CPartv"></div>
  185.     </div>
  186.     <div style="height:10%;width:100%;display: flex;justify-content: space-around;"id="spriteContainer"><!--sprites-->
  187.         <!--without food-->
  188.         <div style="height:100%;aspect-ratio:1/1;"id="0"><div class="C1"><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="G20"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div></div></div>
  189.         <div style="height:100%;aspect-ratio:1/1;"id="1"><div class="C2"><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="G30"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div></div></div>
  190.         <div style="height:100%;aspect-ratio:1/1;"id="2"><div class="C1"><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="G40"></div><div class="BoT"><div class="B2"></div><div class="B2"></div><div class="B2"></div></div><div class="B1"></div><div class="G10"></div><div class="G10"></div><div class="G10"></div><div class="B1"></div></div></div>
  191.         <div style="height:100%;aspect-ratio:1/1;"id="3"><div class="C1"><div class="B1"></div><div class="G10"></div><div class="G10"></div><div class="G10"></div><div class="B1"></div><div class="G40"></div><div class="BoT"><div class="B2"></div><div class="B2"></div><div class="B2"></div></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div></div></div>
  192.         <div style="height:100%;aspect-ratio:1/1;"id="4"><div class="C1"><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="BoT"><div class="B2"></div><div class="B2"></div><div class="B2"></div></div><div class="G40"></div><div class="B1"></div><div class="G10"></div><div class="G10"></div><div class="G10"></div><div class="B1"></div></div></div>
  193.         <div style="height:100%;aspect-ratio:1/1;"id="5"><div class="C1"><div class="B1"></div><div class="G10"></div><div class="G10"></div><div class="G10"></div><div class="B1"></div><div class="BoT"><div class="B2"></div><div class="B2"></div><div class="B2"></div></div><div class="G40"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div></div></div>
  194.         <!--with food-->
  195.         <div style="height:100%;aspect-ratio:1/1;"id="6"><div class="C1"><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="G21"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div></div></div>
  196.         <div style="height:100%;aspect-ratio:1/1;"id="7"><div class="C2"><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="G31"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div></div></div>
  197.         <div style="height:100%;aspect-ratio:1/1;"id="8"><div class="C1"><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="G41"></div><div class="BoT"><div class="B2"></div><div class="B2"></div><div class="B2"></div></div><div class="B1"></div><div class="G11"></div><div class="G11"></div><div class="G11"></div><div class="B1"></div></div></div>
  198.         <div style="height:100%;aspect-ratio:1/1;"id="9"><div class="C1"><div class="B1"></div><div class="G11"></div><div class="G11"></div><div class="G11"></div><div class="B1"></div><div class="G41"></div><div class="BoT"><div class="B2"></div><div class="B2"></div><div class="B2"></div></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div></div></div>
  199.         <div style="height:100%;aspect-ratio:1/1;"id="10"><div class="C1"><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="BoT"><div class="B2"></div><div class="B2"></div><div class="B2"></div></div><div class="G41"></div><div class="B1"></div><div class="G11"></div><div class="G11"></div><div class="G11"></div><div class="B1"></div></div></div>
  200.         <div style="height:100%;aspect-ratio:1/1;"id="11"><div class="C1"><div class="B1"></div><div class="G11"></div><div class="G11"></div><div class="G11"></div><div class="B1"></div><div class="BoT"><div class="B2"></div><div class="B2"></div><div class="B2"></div></div><div class="G41"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div><div class="B1"></div></div></div>
  201.     </div>
  202.     <script>
  203.         document.getElementById("spriteContainer").style.visibility = "hidden";
  204.         document.getElementById("spriteContainer").style.height ="0px";
  205.         window.mobileAndTabletCheck = function() {
  206.             let check = false;
  207.             (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
  208.             return check;
  209.         };
  210.         if (!window.mobileAndTabletCheck()){
  211.             document.getElementById("mobile_controller").style.height ="0px";
  212.             document.getElementById("mobile_controller").style.visibility = "hidden";
  213.         }
  214.         let SP = [];
  215.         for (i=0;i<12;i++){
  216.             SP.push(document.getElementById(i).innerHTML);
  217.         }
  218.         let mainMenu = document.getElementById("display").innerHTML;
  219.         let directionChanged = true;
  220.         let loopStarted = false;
  221.         let pastDirection = [0,-1,1];
  222.         let direction = [0,-1,0];
  223.         let snake = [];
  224.         let score = 0;
  225.         let interval = 100;
  226.         let Beggininginterval = 100;
  227.         let increseSpeed = true;
  228.         let foodPosition = [-1,-1];
  229.         let intervalStatus = "beggining";
  230.         let startable = false;
  231.         const verticalfov = 10;
  232.         const horisontalfov = 10;
  233.         backToSquareOne();
  234.         function backToSquareOne(){
  235.             startable = false;
  236.             var el = document.getElementById('display');
  237.             while ( el.firstChild ) el.removeChild( el.firstChild );
  238.             document.getElementById("display").innerHTML = mainMenu;
  239.             document.getElementById("interval").value=Beggininginterval;
  240.             document.getElementById("increse speed").checked=increseSpeed;
  241.         }
  242.         function start(){
  243.             startable = true;
  244.             Beggininginterval = document.getElementById("interval").value;
  245.             interval = Beggininginterval;
  246.             increseSpeed = document.getElementById("increse speed").checked;
  247.             mainMenu = document.getElementById("display").innerHTML;
  248.             var el = document.getElementById('display');
  249.             while ( el.firstChild ) el.removeChild( el.firstChild );
  250.             for (y = 0 ; y < 1+2*verticalfov ; y++){
  251.                 for (x = 0 ; x < 1+2*horisontalfov ; x++){
  252.                     var div = document.createElement('div');
  253.                     div.id = "partNo"+x+"/"+y;div.className = "part";
  254.                     document.getElementById("display").appendChild(div);
  255.                     document.getElementById("partNo"+x+"/"+y).style.height = 100/(1+2*verticalfov)+"%";
  256.                     document.getElementById("partNo"+x+"/"+y).style.width = 100/(1+2*horisontalfov)+"%";
  257.                 }
  258.             }
  259.             direction = [0,-1,0];
  260.             score = 0;
  261.             document.getElementById("score").innerHTML=score;
  262.             foodPosition = [-1,-1];
  263.             snake = [];
  264.             snake.push([horisontalfov,verticalfov,0,0]);
  265.             for ( y = 1 ; y < 4 ; y++ ){
  266.                 snake.push([horisontalfov,verticalfov+y,0,0]);
  267.             }
  268.             setSnakeValuesAndRender(true);
  269.         }
  270.         function setSnakeValuesAndRender(SnakeGrowth){
  271.             if (snake[0][0] == foodPosition[0] && snake[0][1] == foodPosition[1]){
  272.                 snake[0][2] = 1;
  273.                 foodPosition = [-1,-1];
  274.                 score++;
  275.                 document.getElementById("score").innerHTML=score;
  276.                 increse_speed();
  277.             }
  278.             if ( snake[Number(snake.length)-1][2] == 1 ){
  279.                 snake[Number(snake.length)-1][2] = 0;
  280.                 snake.push([snake[Number(snake.length)-1][0],snake[Number(snake.length)-1][1],0]);
  281.                 SnakeGrowth = true;
  282.             }
  283.             let snakeTemplate = [];
  284.             for (i = 0 ; i < snake.length ; i ++){
  285.                 snakeTemplate.push(snake[i]);
  286.             }
  287.             snake [0] = [0,0,0,0];
  288.             for( let currentlyUpdatedSnakePart = 1 ; currentlyUpdatedSnakePart < snake.length ; currentlyUpdatedSnakePart++){
  289.                 snake[currentlyUpdatedSnakePart] = snakeTemplate[currentlyUpdatedSnakePart - 1];
  290.                 if (snake[currentlyUpdatedSnakePart][2] == 0){
  291.                     document.getElementById("partNo"+snake[currentlyUpdatedSnakePart][0]+"/"+snake[currentlyUpdatedSnakePart][1]).innerHTML = SP[snake[currentlyUpdatedSnakePart][3]];
  292.                 } else {
  293.                     document.getElementById("partNo"+snake[currentlyUpdatedSnakePart][0]+"/"+snake[currentlyUpdatedSnakePart][1]).innerHTML = SP[Number(snake[currentlyUpdatedSnakePart][3]+6)];
  294.                 }
  295.             }
  296.             if (!SnakeGrowth){
  297.                 document.getElementById("partNo"+snakeTemplate[Number(snake.length)-1][0]+"/"+snakeTemplate[Number(snake.length)-1][1]).innerHTML = "";
  298.                 document.getElementById("partNo"+snakeTemplate[Number(snake.length)-1][0]+"/"+snakeTemplate[Number(snake.length)-1][1]).style.backgroundColor = "black";
  299.             }
  300.             if (foodPosition[0] == -1){
  301.                 randomizeFoodLocation();
  302.             }
  303.         }
  304.         function randomizeFoodLocation(){
  305.             let x = 0,y = 0;
  306.             for (i=0;i==0;){
  307.                 x =Math.floor(Math.random() * (1+2*horisontalfov));
  308.                 y =Math.floor(Math.random() * (1+2*verticalfov));
  309.                 snake[0][0] = x;
  310.                 snake[0][1] = y;
  311.                 snake[0][2] = 0;
  312.                 if (IsNotSnake()){
  313.                     break;
  314.                 }
  315.             }
  316.             foodPosition[0] = x;
  317.             foodPosition[1] = y;
  318.             document.getElementById("partNo"+(foodPosition[0])+"/"+(foodPosition[1])).style.backgroundColor = "red";
  319.         }
  320.         function IsNotSnake(){
  321.             for (let i = 1; i < snake.length; i++){
  322.                 if (snake[0][0] == snake[i][0] && snake[0][1] == snake[i][1]){
  323.                     return false;
  324.                 }
  325.             }
  326.             return true;
  327.         }
  328.         function IsNotBorder(){
  329.             if (snake[0][0] == -1 || snake[0][1] == -1 || snake[0][0] == 1+2*horisontalfov || snake[0][1] == 1+2*verticalfov){
  330.                 return false;
  331.             }
  332.             return true;
  333.         }
  334.         document.addEventListener("keydown", function(event){
  335.             if (intervalStatus == "beggining"){
  336.                 if (event.keyCode == 38){//up
  337.                     buttonPressed(0);
  338.                 }
  339.                 if (event.keyCode == 40){//down
  340.                     buttonPressed(1);
  341.                 }
  342.                 if (event.keyCode == 37){//left
  343.                     buttonPressed(2);
  344.                 }
  345.                 if (event.keyCode == 39){//right
  346.                     buttonPressed(3);
  347.                 }
  348.             }
  349.         });
  350.         function buttonPressed(button){
  351.             if (intervalStatus == "beggining" && startable){
  352.                 pastDirectionX = direction[0];
  353.                 pastDirectionY = direction[1];
  354.                 DirectionX = direction[0];
  355.                 DirectionY = direction[1];
  356.                 if (button == 0 && direction[1] != 1){//up
  357.                     direction[0] = 0;
  358.                     direction[1] = -1;
  359.                     if (!loopStarted){startTheLoop();}
  360.                 }
  361.                 if (button == 1 && direction[1] != -1){//down
  362.                     direction[0] = 0;
  363.                     direction[1] = 1;
  364.                 }
  365.                 if (button == 2 && direction[0] != 1){//left
  366.                     direction[0] = -1;
  367.                     direction[1] = 0;
  368.                     if (!loopStarted){startTheLoop();}
  369.                 }
  370.                 if (button == 3 && direction[0] != -1){//right
  371.                     direction[0] = 1;
  372.                     direction[1] = 0;
  373.                     if (!loopStarted){startTheLoop();}
  374.                 }
  375.                 DirectionX = direction[0];
  376.                 DirectionY = direction[1];
  377.                 intervalStatus = "waiting";
  378.                 if (pastDirectionY == 0 && DirectionX == 0){
  379.                     if (pastDirectionX == -1){
  380.                         if (DirectionY == -1){
  381.                             snake[1][3] = 2;
  382.                         } else {
  383.                             snake[1][3] = 4;
  384.                         }
  385.                     } else {
  386.                         if (DirectionY == -1){
  387.                             snake[1][3] = 3;
  388.                         } else {
  389.                             snake[1][3] = 5;
  390.                         }
  391.                     }
  392.                     directionChanged = false;
  393.                 } else if (pastDirectionX == 0 && DirectionY == 0){
  394.                     if (pastDirectionY == -1){
  395.                         if (DirectionX == -1){
  396.                             snake[1][3] = 5;
  397.                         } else {
  398.                             snake[1][3] = 4;
  399.                         }
  400.                     } else {
  401.                         if (DirectionX == -1){
  402.                             snake[1][3] = 3;
  403.                         } else {
  404.                             snake[1][3] = 2;
  405.                         }
  406.                     }
  407.                     directionChanged = false;
  408.                 }
  409.             }
  410.         }
  411.         function increse_speed(){
  412.             if ((score % 10) == 0 && increseSpeed){
  413.                 interval -= interval/2;
  414.             }
  415.         }
  416.         function startTheLoop(){
  417.             loopStarted = true;
  418.             var loop = setInterval(function(){
  419.                 directionChanged = true;
  420.                 intervalStatus = "beggining";
  421.                 pastDirection = [0,0,1];
  422.                 pastDirection[0] = Number(direction[0]);
  423.                 pastDirection[1] = Number(direction[1]);
  424.                 pastDirection[2] = 1;
  425.                 if (directionChanged){
  426.                     if (pastDirection[0] == 0){
  427.                         snake[0][3] = 0;
  428.                     } else {
  429.                         snake[0][3] = 1;
  430.                     }
  431.                 }
  432.                 snake[0][0]=snake[1][0]+direction[0];snake[0][1]=snake[1][1]+direction[1];snake[0][2]=0;
  433.                 if (IsNotBorder() && IsNotSnake()){
  434.                     setSnakeValuesAndRender(false);
  435.                 } else {
  436.                     backToSquareOne();
  437.                     loopStarted = false;
  438.                     clearInterval(loop);
  439.                 }
  440.             },interval);
  441.         }
  442.     </script>
  443. </body>
  444. </html>
Add Comment
Please, Sign In to add comment