观摩制作小游戏(js应用)

时间:2023-03-08 18:33:12
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ShuYingHengXie_Game</title>
<style type="text/css">
*{margin : 0px ; padding : 0px ;}
/*游戏区域*/
.gameDiv{background:url(img/dz2.jpg) ;width:100% ; height : 800px ; border : 2px solid red ;
background-size:cover ; overflow:hidden ;}
/*分数区域*/
.score{background-image:url(img/fs.png) ; width:150px; height :180px ; background-size:150px 180px;text-align:center ; line-height:140px ; font-size:40px ; color:#63351D ; cursor:pointer ; position:fixed ; right:50px; bottom: 10px ;}
/*图片下落区域*/
.game{position:relative ; margin: 0 auto;}
.game img{ position:absolute ;}
/*成功失败指示牌*/
.failorsuccess{background-image:url(img/sp1.png) ;
width:500px ; height:350px ;margin:0 auto ; display:none ; position:relative ; top: -50px ; cursor:pointer ;}
/*游戏按钮区域*/
.startorstop{ width:100% ;height:100px ; background:#fff;}
/*按钮*/
.btn{ float:left ; background-image:url(img/stop.png) ; width:130px ; height:50px ;text-align:center; line-height:50px ; background-size:130px 50px; cursor:pointer ;}
</style>
</head> <body> <!-- 游戏区域 -->
<div class="gameDiv">
<div class="game" id="game"> </div>
<div class="failorsuccess" id="failorsuccess"></div>
<div class="score" id="score">0</div>
</div>
<!-- 游戏方式区域 -->
<div class="startorstop">
<div class="btn" id="stop">暂停游戏</div>
<div class="btn" id="start">开始游戏</div>
<div class="btn" id="quick">游戏加速</div>
</div> </body>
<script type="text/javascript" src="js/jquery.js">
</script>
<script type="text/javascript" >
var chars = ['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 score = 0 ;
var flag = true ;
/*
1.用户对谁做了操作
2.做了什么操作
3.做完操作之后想要达到什么效果
*/ $(function(){
$("#start").click(function(){
//源源不断的产生图片
window.setInterval(generateChar,1000) ;
window.setInterval(downChar,500) ;
}); $("#failorsuccess").click(function(){
location.reload() ;
}); $("#stop").click(function(){
flag = false ;
}); $("#quick").click(function(){
flag = true ;
window.setInterval(generateChar,1000) ;
window.setInterval(downChar,500) ;
}) ;
}); var generateChar = function(){
if(flag){
//随机产生图片
var random = Math.floor(Math.random()*26) ;
var img = chars[random] ;
var left = Math.floor(Math.random()*800+150);
$("#game").append("<img alt='A' src='img/"+img+".png' width='100px' height='100px' style='top:20px;left:"+left+"px;' />")
} } var downChar = function(){
if(flag){
//获取游戏区域的图片
var imgs = $("#game").children();
//遍历获取每张图片
for(var i = 0;i<imgs.length;i++)
{
var img = imgs[i] ;
if(img.nodeType==1){
var top = parseInt(img.style.top);
if(top<600){
img.style.top=top+50+"px" ;
}else{
img.remove() ;
score -= 10 ;
$("#score").html(score) ;
if(score== -150){
$("#failorsuccess").fadeIn(1000) ;
}
}
}
}
} //按键
window.onkeyup = function(){
var eve = window.event||e ;
var imgs = $("#game").children();
//遍历获取每张图片
for(var i = 0;i<imgs.length;i++)
{
var img = imgs[i] ;
var code = eve.keyCode ;//a--65 b--66
if(img.nodeType==1){
var imgSrc = img.src.split("/");
var name = imgSrc[imgSrc.length-1].split(".")[0] //A B
if(name==chars[code-65]){
img.remove() ;
score += 10 ;
$("#score").html(score) ;
} }
}
} } </script>
</html>

观摩制作小游戏(js应用)

点击开始游戏,从上往下随机掉落字母,敲击键盘对应字母可使下落字母消失,并得分

观摩制作小游戏(js应用)

单分数=-150时 会弹出重新开始画面

观摩制作小游戏(js应用)

观摩制作小游戏(js应用)

点击游戏加速,可使字母下落速度加快。