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;
  width:500px;
  height: 500px;
  background-color: black;
}
.char{
  width: 20px;
  height:20px;
  position:absolute;
  font: 40px;
  
}
</style>
</head>
<body οnkeypress="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>

  

转载于:https://www.cnblogs.com/ranran/p/3955572.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值