100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 主要由javascript实现的网页打字小游戏

主要由javascript实现的网页打字小游戏

时间:2022-12-16 08:23:39

相关推荐

主要由javascript实现的网页打字小游戏

代码如下 :

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>打字游戏</title>

<style type="text/css">

b{

position:absolute;

}

</style>

<script type="text/javascript">

function startGame(){

var words = "QWERTYUIOPASDFGHJKLZXCVBNM";//要生成的所有字母

var wordArray = [];//存放产生的字母的数组

var makeWordPer = 500;//字母产生的间隔时间

var downPer=200;//字母下落间隔时间

var downLen = 10;//每次下落的距离

var colors = ["red","green","blue","orange"];//字母可能出现的颜色

//点击开始游戏后隐藏按钮

var btn = document.getElementById("startBtn");//获得按钮元素

btn.style.display="none";

//周期性生成字母

setInterval(function(){

var index = Math.random()*26;//字母在字符串中的索引

var word = words.charAt(index);//获得生成的字母

var b = document.createElement("b");

b.innerHTML=word;//将获得的字母添加到<b>标签中去

var width = document.documentElement.clientWidth;//浏览器宽度

b.style.left = Math.random()*width-20+"px";//字母出现位置,预留20px防止字母显示到页面外

b.style.top = "0px";

b.style.color = colors[parseInt(Math.random()*colors.length)];//字母颜色随机产生

wordArray.push(b);

document.body.appendChild(b);

},makeWordPer);

//让字母向下掉

setInterval(function(){

for(var i = 0;i<wordArray.length;i++){

var w = wordArray[i];//取到<b>标签

var oldTop = parseInt(w.style.top);

var newTop = oldTop+downLen;

var pageHeight = parseInt(document.documentElement.clientHeight)-20;//页面高度,同样预留20

if(pageHeight>newTop){

w.style.top = newTop+"px";//设置新的top值,实现字母掉落效果

}else{

//若字母落到底部则消失

w.parentNode.removeChild(w);

wordArray.splice(i,1);

i--;//恢复索引

var score = document.getElementById("score");

score.innerHTML = parseInt(score.innerHTML)-20;//失败一次得分减少20

if(parseInt(score.innerHTML)<-100){

location.href = "game.html";//失分超过100则重新开始游戏

}

}

}

},downPer);

//为页面添加键盘事件监听

document.documentElement.οnkeydοwn=function(event){

var keyCode = event.keyCode;

var b = String.fromCharCode(keyCode);

for(var i = 0;i<wordArray.length;i++){

var j = wordArray[i].innerHTML;

if(j==b){//若按键正确,则消除屏幕上的字母

wordArray[i].parentNode.removeChild(wordArray[i]);

wordArray.splice(i,1);

var score = document.getElementById("score");

score.innerHTML = parseInt(score.innerHTML)+10;//正确消除一次得分增加10

}

}

}

}

</script>

</head>

<body>

<button id="startBtn" style="color:red" οnclick="startGame()">

开始游戏

</button>

得分:<span id="score">0</span>

</body>

</html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。