原生老鼠游戏

现在前端的框架越来越好,让前端有了飞跃的发展,不过一切都在原生JS的基础构建的框架,只要原生有了过硬的能力,前端之路就就没有什么可以阻挡了,下面是用原生js做的一个小游戏,大家可以多多参考学习。

完成之后的效果图

html代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="mou.css"/>
    </head>
    <body>
        <div id="box">
            <div class="scree"></div>
            <div class="btn">
                <input class="start" type="button" value="开始游戏" />
                <input class="end" type="button" value="暂停游戏" />
            </div>
        </div>
        
        <script src="mou.js" type="text/javascript" charset="utf-8"></script>
    </body>
</html>

css代码

*{
    margin: 0;
    padding: 0;
}
#box{
    width: 800px;
    height: 600px;
    margin: 0 auto;
}
.scree{
    width: 100%;
    height: 550px;
    background: gray;
    border: 4px solid rosybrown;
}
.btn{
    box-sizing: border-box;
    padding-left: 300px;
}
.btn input{
        width: 80px;
    height: 30px;
    font-size: 15px;
    background: #ea4a80;
    font-weight: bold;
}
img{
    width: 50px;
    height: 50px;
}

js代码

//获取开始和结束按钮
var start = document.getElementsByClassName('start')[0];
var end = document.getElementsByClassName('end')[0];
//获取显示老鼠
var scree = document.getElementsByClassName('scree')[0];
//添加点击开始事件
var no = null;
var mouseNum = 0;
start.onclick = function(){
    //必须写这个if语句的判断,否则暂停之后,直接重新开始,而不会从暂停的位置开始
    if(mouseNum == 0){
        scree.innerHTML = '';
    }
    
    clearInterval(no);
    no = setInterval(mouse,200);
}
end.onclick = function(){
    clearInterval(no);
}


//生产老鼠的函数
function mouse(){
    if(mouseNum>=10){
        clearInterval(no);
        //清空屏幕中的老鼠
        scree.innerHTML = '';
        var imgD = document.createElement('img');
        imgD.src = 'img/end.png';
        //注意:图片一定的设置display:block 否则margin没有作用
        imgD.style='width:400px; height:120px; margin:200px auto;display:block';
        scree.appendChild(imgD);
        
        //把老鼠的数量设置为零,否则无法重新开始
        mouseNum = 0
        
        //数量大于10的时候直接让结束,不让再往下执行
        return;
    }
    var ImgE = document.createElement('img');
    ImgE.src = 'img/mouse.png';
    //让老鼠在屏幕中随机出现  
    //设置定位
    scree.style.position = 'relative';
    ImgE.style.position = 'absolute';
    //获取随机宽高
    var scrW = Math.floor(Math.random()*751); 
//  console.log(scrW);
    var scrH = Math.floor(Math.random()*501);
//  console.log(scrH);
    ImgE.style.top = scrH + 'px';
    ImgE.style.left = scrW + 'px';
    
    scree.appendChild(ImgE);
    //添加杀死老鼠的事件
    ImgE.onclick = killmouse;
    
    mouseNum++;
}

//杀死老鼠的函数
function killmouse(){
    scree.removeChild(this);
    mouseNum--;
}

之后会写出更好好玩的原生游戏。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,896评论 25 709
  • 本文首发于 GitChat,现免费放出~感谢大家的支持。 我们都知道,大学几乎是没有 Web 前端课的。以我所在的...
    hylerrix阅读 4,969评论 6 60
  • This application is modifying the autolayout engine from ...
    PPAbner阅读 544评论 0 1
  • 昨晚看了罗辑思维的校招直播之后,收获到了很多...... CEO脱不花分享了一些心得,如果是想找工作,需要注意的两...
    曾琦阅读 723评论 1 2
  • 人生的道路上,每个人都有属于自己的一条路,无论是平坦还是坎坷,你都要走下去,遇到障碍也会想办法翻过去,继续上路,在...
    水滴_fd45阅读 208评论 0 1