博主信息
博文 1
粉丝 0
评论 0
访问量 802
相关推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
test
开心PHP的博客
原创
805人浏览过

2222

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#content{
width:400px;
height:420px;
position:relative;
/*border:1px solid red;*/
overflow:hidden;
}
#main{
position:relative;
top:-100px;
}
.row{
width:400px;
height:100px;
}
.row div{
width:98px;
height:98px;
border:1px solid gray;
float:right;
}
.black{
background-color:black;
}
</style>
</head>
<body>
<h3 id='fen'>0</h3>
<hr>
<div id="content">
<div id="main"></div>
</div>

<script>
//main写错,没加分号
var main = document.getElementById('main');
//div工厂
function cdiv(classname){
var div = document.createElement('div');
if(classname){
div.setAttribute('class',classname);
}
return div;
}

function crow(){
var row = cdiv('row');//创建行div
//通过随机数决定谁是黑块
var index = Math.floor(Math.random()*4);

//创建小div
for(var i=0;i<4;i++){
if(i==index){
//创建黑块
row.appendChild(cdiv('black'));
}else{
//创建普通小块
row.appendChild(cdiv(''));
}
}

if(main.firstChild){
//如果有第一个元素,说明已经初始化过,将新增的行放最上面
main.insertBefore(row,main.firstChild);
}else{
main.appendChild(row);
}

}
//初始化函数
var flag = true;
var speed = 2;  //加速的变量
var dingshiqi;
function init(){
//循环调用crow创建游戏界面
for(var i=0;i<4;i++){
crow();
}

//设置定时器,反复调用move函数
var dingshiqi = setInterval('move()',50);

//var flag = true;//设置一个旗帜;
main.onclick = function(e){
//事件委托
var dj = e.target;
if(flag==false){
alert('游戏结束1!点到白块');
}

//如果点击白块,停止定时器,游戏失败
//className  必须大写N
else if(dj.className==''){
clearInterval(dingshiqi);
flag = false;
alert('游戏结果2,点到白块!');
}else{  //点击黑块
dj.className = '';
//点击黑块对了加分
dj.parentNode.pass =true;
//如果点击黑块则增加属性pass对应138行
var fen =document.getElementById('fen');
var fenshu = parseInt(fen.innerHTML)+1;
fen.innerHTML = fenshu;

//根据分值实现加速
if(fenshu%10 == 0){
//速度变快
speed +=2;
}
}
}
}

//动起来
function move(){
//通过修改main的top值实现向下移动
var top = parseInt(getComputedStyle(main).top);
top += speed;//加速变量
main.style.top = top+'px';

if(top>=0){
crow();  //最下面div移动下去后,新建一个div
main.style.top='-100px';

if(main.children.length>5){
//大于5行,删除最后一行
main.removeChild(main.lastChild);
}

//判断用户是否点击,没有点击停止游戏对应107行
if(main.lastChild.pass == undefined){
clearInterval(dingshiqi);
flag = false;
alert('游戏结束3,黑块到底!');
}
}
}

init();

</script>
</body>
</html>

555566

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
  • 1970-01-01 08:00:00
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学