js初级小游戏

刚刚学完js初级,写了一个简单的小游戏,记录一下自己的成长。

小球吃到礼物会变色。

一下是源码: 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
      #A{
          width: 1200px;
          height: 600px;
          margin-top: 30px;       
        overflow: hidden;        
      }
      #a{
          width: 30px;
          height: 30px;
          border-radius: 50%;
      }
      .an{
          display: inline-block;
          margin-top:10px;
          margin-left: 10px;
          width: 100px;
      }
      #an1{
          margin-top:10px;
          width: 100px;
          margin-left: 125px;
      }
      .speed{
          width: 100px;
          height: 20px;
          margin-top: 10px;
          margin-left: 10px;
      }
    </style>
</head>
<body> 
     
<div id="aaaa">
    <button id="an1"  οnclick="top2()">上</button><br>
    <button class="an" οnclick="left2()">左</button>
    <button class="an" οnclick="bottom2()">下</button>   
    <button class="an" οnclick="right2()">右</button>
    <button οnclick="zt()">暂停</button>
    <button οnclick="color()">如果看不见球了点击这里</button>
    <button οnclick="speed2()" class="speed">速度+</button>
    <button οnclick="speed1()" class="speed">速度-</button>

</div>
    <div id="A">
        <div id="a">
        </div>
    </div>

</body>
<script>
 // 球的背景
  var x = document.getElementById("a");
      x.style.backgroundColor="#f40";
 //球的速度
  var speed = 25;
  function speed1(){
      speed += 5;
  }
  function speed2(){
      speed -= 2;
      if(speed <= 0){
          speed = 1;
      }

  }
//球移动运算
  var a1 = 0,a2 = 0,a3 = 0,a4 = 0;
  var b1 = 0,b2 = 0,b3 = 0,b4 = 0;
  var i1,i2,i3,i4;
  var a5;   
      function  top1(){         
          a1 = a1 - 1;
          if(a1 >= 0){
            x.style.marginTop = a1 + "px";
          }
          b1 = 1;
          box1();
      }

      function  left1(){
          a2 = a2 - 1;
          if(a2 >= 0){
               x.style.marginLeft = a2 + "px";
          }
          b2 = 1;
          box1();        
      }

      function  bottom1(){
            if(a1 < 0){
                a1 = 0;
            }
            if(a1 >= 0){
                a3 = a1;
            }
          a3 += 1;
          if(a3 >= 600 - 30){
              clearInterval(i3);
          }
          if(a3 <= 600 - 30){
              x.style.marginTop = a3 + "px";
          }         
          b3 = 1;
          box1();
          return a1 = a3;
         
      }

      function  right1(){
          if(a2 < 0){
              a2 = 0;
          }
          if(a2 >= 0){
              a4 = a2;
          }
          a4+=1;
          if(a4 >= 1200 - 30){
              clearInterval(i4);
          }
          if(a4 <= 1200 - 30){
              x.style.marginLeft = a4 + "px";
          }
          b4 = 1; 
          box1();  
          return a2 = a4;
                
      }
//球移动绑定按钮
      function top2(){
          if(b1 == 1){
          clearInterval(i1);
          }
          if(b2 == 1){
          clearInterval(i2);
          }
          if(b3 == 1){
          clearInterval(i3);
          }
          if(b4 == 1){
          clearInterval(i4);
          }
          i1 = setInterval("top1()",speed);      
      }

      function left2(){
           if(b1 == 1){
          clearInterval(i1);
          }
          if(b2 == 1){
          clearInterval(i2);
          }
          if(b3 == 1){
          clearInterval(i3);
          }
          if(b4 == 1){
          clearInterval(i4);
          }
          i2 = setInterval("left1()",speed);
      }

      function bottom2(){
          if(b1 == 1){
          clearInterval(i1);
          }
          if(b2 == 1){
          clearInterval(i2);
          }
          if(b3 == 1){
          clearInterval(i3);
          }
          if(b4 == 1){
          clearInterval(i4);
          }
          i3 = setInterval("bottom1()",speed);
      }

      function right2(){
          if(b1 == 1){
          clearInterval(i1);
          }
          if(b2 == 1){
          clearInterval(i2);
          }
          if(b3 == 1){
          clearInterval(i3);
          }
          if(b4 == 1){
          clearInterval(i4);      
          }
          i4 = setInterval("right1()",speed);
      }
//暂停按钮
      function zt(){
          clearInterval(i1);
          clearInterval(i2);
          clearInterval(i3);
          clearInterval(i4);
      }

//判断球吃到礼盒
      var y = document.getElementById("A");
      var n = Math.floor(Math.random() * 1150);
      var m = Math.floor(Math.random() * 550);

      y = A.style.background =("#ddd url(hy-box.jpg) no-repeat" + " " + n + "px" + " " + m + "px");

      function box(){
          n = Math.floor(Math.random() * 1150);
        m = Math.floor(Math.random() * 550);
          y = A.style.background =("#ddd url(hy-box.jpg) no-repeat" + " " + n + "px" + " " + m + "px");
      }
      function box1(){
        if(a2 >= n - 15 && a2 <= n + 8 && a1 >= m - 15 && a1 <= m + 8){
            box();
            color();
        }else if(a1 >= n && a1 + 30 <= n && a2 + 30 >= m && a2 <= m){
            box();
            color();
        }        
      }
//给小球变色
      var arr = [0,1,2,3,4,5,6,7,8,9,"a","b","c","d","e","f"];
      var color1;
      function color(){
          color1="#";
          for (var j = 0; j < 6; j++) {
            var random = Math.floor(Math.random() * 17);
            color1 += arr[random];
          }
          x.style.backgroundColor = color1;
      }
         

</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值