zoukankan      html  css  js  c++  java
  • jQuery 写的简单打字游戏

    var off_x;   //横坐标
     var count=0;   //总分
     var speed=5000;  //速度,默认是5秒.
     var keyErro=0;   //输入错误次数
     var keyRight=0;   //输入正确的次数
     
     //组织字母
     var charArray=new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
       //按键码数组
     var arrCode=new Array();
     for(var i=65;i<=90;i++){
      arrCode[i-65]=i;
        }
       //随机生产一个字母
      var randomChar=function(){
        off_x=Math.random()*500+5;    //在div横坐标
        //off_y=Math.random()*500-10;     //在div纵坐标
        var c=charArray[parseInt(Math.random()*25)];  //随机生成一个字母
        var charHtml="  <div class='char' id='"+c+"' style='left: "+off_x+"px;color:"+colorBox()+"'>"+c+"</div>";
        $("#div1").append(charHtml);
      };
        
      var colorBox=function(){
           Color=[]; //用数组存放颜色的样式
         Color[0]="#ff2211";
         Color[1]="#ff3311";
         Color[2]="#ff5511";
                     Color[3]="#ff8811";
                     Color[4]="#ffBB99";
                     Color[5]="#1ff4f1";
                     Color[6]="#ff5566";
                     Color[7]="#668899";
                     Color[8]="#99BBfA";
                     Color[9]="#fECECC";
         return Color[parseInt(Math.random()*10)];   //随机生颜色.
      }
      
    //每隔三秒就调用些方法生产字母
    function accrueChar(){
      //把随机出来的放在动画队列里
      var _sildeFun=[
          //把要执行的动画依次放入一个数组里
      function(){$('#div1 div').animate({top:'+=470px'},speed,function(){
       //当动画执行完时,就删除
           $(this).remove();
           count-=10;
           $("input[type='text']").attr({"value":count});
      });}
      ];
     //将函数组放入slideList动画队列里
      $("#div1").queue('slideList',_sildeFun);
      var _takeStart=function(){
       //从队列最前端移除一个队列函数,并执行他。
        $("#div1").dequeue("slideList");
      };
      
     function randCharHandle(){
           randomChar();
       _takeStart();
     
     }
     randCharHandle();
    }
    
    //健码的处理
    function keyCode(event){
      var keyValue = event.keyCode;
      var flag=false;
      //alert(keyValue);
       for(var i=0;i<=arrCode.length;i++){
           if(keyValue==arrCode[i]&&$("#"+charArray[i]+"").text()!=""){
            
              //选对后停止一秒
              $("#"+charArray[i]+"").stop(1000).remove();
              //选对就加10分
              count+=10;
              $("input[type='text']").attr({"value":count});
              $("#right").text(keyRight);
             
              flag=true;
              break;
           } 
       }
      if(flag){
       flag=false;
        keyRight++;
        $("#right").text(keyRight);
        
      }else{
       keyErro++;
       $("#erro").text(keyErro);
      }
    }
    
    $(function(){
    
      //加速
    $("input[value='加速++']").click(function(){
       if(speed>0)
       speed-=1000;
    });
    
    //减速
    $("input[value='减速--']").click(function(){
       speed+=1000;
    });
    
    
    });
    window.setInterval("accrueChar()",1500);
    
    
    /*******************************************HTML页面***************************************************/ 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../../jQuery/jquery-1.8.3.js"></script>
    <script type="text/javascript" src="test.js"></script>
    <title>打字游戏</title>
    <style type="text/css">
    #div1{
      border: 2px red solid;
      500px;
      height: 500px;
      background-color: black;
    }
    .char{
       20px;
      height:20px;
      position:absolute;
      font: 40px;
      
    }
    </style>
    </head>
    <body onkeypress="keyCode(event)">
           <div id="div1">
            
           </div>
           <div>
              <br>总数:<input type="text" readonly="readonly">
                      <input type="button" value="加速++">
                      <input type="button" value="减速--">
              <br>错误次数:<label id="erro"></label>
              <br>正确次数:<label id="right"></label>
           </div>
    </body>
    </html>
    

      

  • 相关阅读:
    Redis设置生存时间或过期时间的相关命令
    .Net Core使用Redis
    Redis的数据类型
    Java集合 使用Collections
    Java集合 使用Iterator
    Java集合 使用Stack
    响应式常用样式汇总
    图片 文字 背景等响应式设置总结
    微信动态聊天工具
    第2章 栅格系统
  • 原文地址:https://www.cnblogs.com/ranran/p/3955572.html
Copyright © 2011-2022 走看看