zoukankan      html  css  js  c++  java
  • JS简单打字小游戏demo

    代码:

    <!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" />
    <!--<meta http-equiv="refresh" content="2" />-->
    <title>打字游戏</title>
    <style>
    html,body{
        width:100%;
        height:100%;
        margin:0;
        padding:0;}
    #main{
        width:100%;
        height:100%;}
    font{
        position:absolute;
        font-family:"微软雅黑";
        font-size:36px;}
    #f{
        position:absolute;
        font-family:"微软雅黑";
        font-size:36px;}
    </style>
    </head>
    
    <body>
        <div id="main">
            
        </div>
    </body>
    <script>
        var words=['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 winWidth=window.innerWidth-47;//获取浏览器宽度
        var winHeight=window.innerHeight-47;//获取浏览器高度(由于win10下面有任务栏遮挡浏览器所以-47)
        var i=1;
        var num=0;
        var flag=0;
        //生成随机字母
        function create(){
            var r=(Math.floor(Math.random()*26));
            var word=document.createElement('font');
            word.innerHTML=words[r];
            word.id=i;
            document.getElementById('main').appendChild(word);//appendChild() 方法向父节点main添加一个子节点到最后
            //随机生成下落位置
            var wr=(Math.floor(Math.random()*winWidth));
            var f=document.getElementById(i);
            f.style.left=wr+"px";
            i++;
        }
        //所有现存字母下掉
        function drop(){
            var x=document.getElementsByTagName('font');
            for(var l=0;l<x.length;l++){
                document.onkeydown=function(event){
                    var e = event || window.event;
                    if(e && e.keyCode==x[0].innerHTML.charCodeAt()){ 
                        document.getElementById('main').removeChild(x[0]);
                    }
                }; 
                //判断是否到达底部,到底部删除当前子节点
                if(x[l].style.top==winHeight+"px"){
                    document.getElementById('main').removeChild(x[l]);
                    flag++;
                    //超过10个没有打中游戏结束
                    if(flag>=10){
                        clearInterval(c);
                        clearInterval(d);
                        alert("game over");
                        break;
                    }
                }else{
                    x[l].style.top=x[l].offsetTop+1+"px";
                }
                
            }
        }
        var c=setInterval(create,1000);//生成速度
        var d=setInterval(drop,10);//下掉速度
        
    </script>
    </html>

    以上代码为js简单打字小游戏demo,原文:https://www.cnblogs.com/mc-web/p/14221035.html

  • 相关阅读:
    网站安全配置Nginx防止网站被攻击
    JAVA程序打包方法-挺好
    Kettle6.1连接MongoDB报错
    基于Rancher搭建Kubernetes
    Tomcat性能调优实战
    const int * 和 int * const 傻傻分不清楚
    洛谷P1028数的计算
    【转】sizeof()用法总结
    百练4103:踩方格(DFS)
    百练2815:城堡问题(DFS)
  • 原文地址:https://www.cnblogs.com/mc-web/p/14221035.html
Copyright © 2011-2022 走看看