您的位置:首页 > Web前端 > JQuery

jQuery 写的简单打字游戏

2013-07-28 17:03 239 查看
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 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jQuery