Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 4.40 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Document</title>
  6.     <script>
  7.  
  8.         document.addEventListener("DOMContentLoaded", function(event){
  9.             var canvas = document.getElementById("canvasId");
  10.             var canvasId = canvas.getContext("2d");
  11.             reset();
  12.  
  13.             function mouse_player1(evt){
  14.                 var rect = canvas.getBoundingClientRect(); // взима позицията на платното в документа, в случай, че то не започва от горния ляв ъгъл
  15.                 var mouseX = evt.clientX - rect.left; // позицията на курсора по хоризонтала
  16.                 var mouseY = evt.clientY - rect.top; // позиията на курсора по вертикала
  17.                 return {
  18.                     cursor_x: mouseX,
  19.                     cursor_y: mouseY,
  20.                 } // фунцкията връша два параметъра, cursor_x и cursor_y
  21.             }
  22.  
  23.             canvas.addEventListener("mousemove", function(evt){
  24.                 var mouse = mouse_player1(evt);
  25.                 userX = mouse.cursor_x - sizeX/2;
  26.                 // draw()
  27.  
  28.             });
  29.  
  30.             var fps = 30;
  31.             setInterval(execute, 1000/fps);
  32.  
  33.             function execute(){
  34.                 move();
  35.                 draw();
  36.             }
  37.  
  38.             function move(){
  39.  
  40.                 x += stepX;
  41.                 y += stepY;
  42.                 if(x>= cW - radius){
  43.                     stepX = -stepX;
  44.                 }
  45.                 if(y>= cH - radius - sizeY){
  46.                     if(userX < x + radius && x - radius < userX + sizeX){
  47.                         change_dir();
  48.                         change_speed();
  49.                         stepY = -stepY;
  50.                     } else {
  51.                         // alert("Game Over");
  52.                         reset();
  53.                         x = parseInt(radius + Math.random()*100);
  54.                         y = 50;
  55.  
  56.                     }
  57.  
  58.                 }
  59.                 if(y<= 0 + radius){
  60.                     if(y<= 0 + radius + pcSizeY){
  61.  
  62.                         destroyBlock();
  63.  
  64.                     }
  65.                     stepY = -stepY;
  66.                 }
  67.                 if(x<= 0 + radius){
  68.                     stepX = -stepX;
  69.                 }
  70.                 oldUserX = userX;
  71.             }
  72.  
  73.             function draw(){
  74.                 canvasId.fillStyle = "black";
  75.                 canvasId.fillRect(0, 0, canvas.width, canvas.height);
  76.                 canvasId.fillStyle = "green";
  77.                 canvasId.beginPath();
  78.                 canvasId.arc(x, y, radius, 0, Math.PI*2);
  79.                 canvasId.fill();
  80.  
  81.                 canvasId.fillStyle = "white";
  82.                 canvasId.fillRect(userX, userY, sizeX, sizeY);
  83.  
  84.                 drawBlocks();
  85.  
  86.             }
  87.             function reset(){
  88.                 pcSizeY = 20;
  89.                 stepY = 12;
  90.                 pcCoords = [];
  91.                 drawBlocks();
  92.                 pcColors = [];
  93.                 for (var i = 0; i < 9; i++) {
  94.                     var rnd = Math.floor(Math.random()*10);
  95.                     pcColors.push(colorsR[rnd]);
  96.                 }
  97.  
  98.             }
  99.             function drawBlocks(){
  100.                 for (var i = 0; i < 9; i++) {
  101.                     canvasId.fillStyle = pcColors[i];
  102.                     pcCoords.push(i*110 + 10);// x1 = 10, x2 = 120, x3 = 230
  103.                     canvasId.fillRect(pcCoords[i], pcY, pcSizeX, pcSizeY);
  104.                 }
  105.             }
  106.             function destroyBlock(){
  107.                 for (var i = 0; i < pcCoords.length; i++) {
  108.                     if( pcCoords[i] < x + radius && x - radius < pcCoords[i] + pcSizeX ){
  109.                         pcCoords[i] = -200;
  110.                     }
  111.                 }
  112.             }
  113.  
  114.             function change_dir(){
  115.                 if(oldUserX < userX){
  116.                     if(stepX < 0){
  117.                         stepX = -stepX;
  118.                     }
  119.                 } else {
  120.                     if(stepX > 0){
  121.                         stepX = -stepX;
  122.                     }
  123.                 }
  124.             }
  125.             function change_speed(){
  126.                 if(stepY > 0){
  127.                     if(userX <= x && x <= userX + radius*1.1){
  128.                         stepY = stepY + 1.45;
  129.                         if(x<0){ stepX = stepX - 1.1 ;} else { stepX = stepX + 1.1; }
  130.                     } else if(userX + sizeX - radius*1.1 <= x && x<= userX + sizeX){
  131.                         stepY = stepY + 1.45;
  132.                     } else {
  133.                         stepY = stepY - 1.5;
  134.                         console.log("speed decreased")
  135.                     }
  136.                 }
  137.                 if(stepY < 0){
  138.                     if(userX <= x && x <= userX + radius*1.1){
  139.                         stepY = stepY - 1.45;
  140.                         if(x<0){ stepX = stepX - 1.1 ;} else { stepX = stepX + 1.1; }
  141.                     } else if(userX + sizeX - radius*1.1 <= x && x<= userX + sizeX){
  142.                         stepY = stepY - 1.45;
  143.                     } else {
  144.                         stepY = stepY + 1.5;
  145.                         console.log("speed decreased")
  146.                     }
  147.                 }
  148.  
  149.  
  150.  
  151.             }
  152.  
  153.         });
  154.         var x = 50;
  155.         var y = 50;
  156.         var cW = 1000;
  157.         var cH = 500;
  158.         var radius = 20;
  159.         var stepX = 10;
  160.         var stepY = 12;
  161.         var sizeX = 100;
  162.         var sizeY = 20;
  163.         var userX = cW/2 - sizeX/2;
  164.         var userY = cH - sizeY;
  165.         var pcSizeX = 100, pcSizeY = 20;
  166.         var pcX = cW - pcSizeX - 200, pcY = 0;
  167.         var pcCoords = [];
  168.         var pcSizeArr = [];
  169.         var oldUserX = userX;
  170.         var pcColors = [];
  171.         var colorsR = ["pink", "red", "white", "blue", "green", "magenta", "yellow", "purple", "orange", "beige"];
  172.  
  173.     </script>
  174.     <style type="text/css">
  175.     #canvasId{
  176.         background: black;
  177.     }
  178.     </style>
  179. </head>
  180. <canvas id="canvasId" width="1000" height="500"></canvas>
  181.     <body>
  182.  
  183.     </body>
  184. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement