zoukankan      html  css  js  c++  java
  • 【胡搞】【网页版的 某科学的抢数字区间红包的方式,永不封号!!!!】

     某科学的抢数字区间红包的方式

    (有点小bug,区间不能输入多个,不能反向)

    效果截图:

    Html代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>某科学的抢数字区间红包的方式</title>
        <style type="text/css">
            .d1{width: 600px;height: 600px;border-color: #c5faa0;
                background-color: #cffad1;padding: 60px;}
        </style>
    
    </head>
    <body onload="">
        <div class="d1">
            <i><h2>某科学的抢数字区间红包的方式</h2></i>
            <b>1.请输入数字红包密码的区间: </b><input type="text" size="3" id="g1" value="1"> :
            <input type="text" size="3" id="g2" value="30">
            <button type="button" onclick="init()">确定</button><br><br>
            <b>2.输入别人已经猜错的的数字</b> <br>(输入单个数字前后需要用一个空格隔开,
            '数字a:数字b' 表示已知区间[a,b] ): <br>
            <textarea name="" id="text1" cols="30" wrap="physical" rows="10">20:29 23</textarea>
            <button type="button" onclick="solve()">确定</button><br><br>
            <hr>
            <b>尚未猜到的数字集合: </b><br> <textarea name="" wrap="physical" id="text2" cols="30" rows="10"></textarea>
            <br><br>
            误输入了,手动加数到上面的数字集合:
            <input type="text" id="text3" value="1:31"><button type="button"  onclick="missing()">确定</button>
            <br><span id="Test"></span>
        </div>
        <script type="text/javascript">
            var init_flag=0;
            var maxx=30,minn=1;
            var arr=new Array();
            function $(x) {
                return document.getElementById(x);
            }
            function init(){
                var v1=$("g1").value;
                var v2=$("g2").value;
                if(v1==""||v2==""){
                    alert("输入空白!请重新输入!");return ;
                }
                maxx=Math.max(v1,v2);
                minn=Math.min(v1,v2);
                var len = maxx-minn;
                if(len>10000){
                    alert("GG!此区间范围过大!");return ;
                }
                // $("Test").innerHTML= "<br> "+minn+" "+maxx;
                while(arr.length>0)arr.pop();//清空!
                for(var i=minn;i<=maxx;i++)
                    arr.push(i);
                init_flag=1;
                show();
            }
            ///初始化
            function sortNumber(a,b)
            {
                return a - b
            }
            function solve() {    //处理已经确定的区间!
                if(!init_flag){
                    alert("请输入数字红包密码的区间,点击确认!
    ");return ;
                }
                var s=$("text1").value+" ";
                var a=new Array();
                var num=0;
                var flag=0;//是否是区间!
    
                for(var i=0;i<s.length-1;i++)
                {
                    if(s[i]==' '&&s[i+1]==' ')s.splice(i+1,1);
                }
                var i=0;
                for(;i<s.length;i++)
                {
                    if(s[i]==' ')continue;
                    else break;
                }
                for(;i<s.length;i++){
                    if(s[i]>='0'&&s[i]<='9'){
                        num=num*10+(s[i]-'0');
                      //  $("Test").innerHTML+="(i=)"+i+",s[i]:"+s[i]+",num="+num+'<br>';
                    }
                    else if(s[i]==':'||s[i]==''){
                        a.push(num);
                      //  $("Test").innerHTML+= "(:)"+num+" ";
                        num=0;
                        flag=1;
                    }
                    else{
                        if(flag==0){
                            if(num<=maxx&&num>=minn){
                                a.push(num);
                            }
                        }
                        else{
                            flag=0;
                            var v1=a[a.length-1];a.pop(); //删除最后一位
                            var v2=num;
                            for(var num=Math.min(v1,v2);num<=Math.max(v1,v2)&&num<=maxx;num++){
                                if(num<=maxx&&num>=minn){
                                    a.push(num);
                                }
                            }
                        }
                   //     $("Test").innerHTML+= "	() "+num+" ";
                        num=0;
                    }
                }
                for(var i=0;i<a.length;i++){   //删掉
                    var num=a[i];
    
                    if(num<=maxx&&num>=minn){
                        for(var j=0;j<arr.length;j++){
                            if(num==arr[j]){
                                arr.splice(j,1);
                            }
                        }
                    }
                }
                show();
            }
            ///输出剩余的可猜范围集合
            function  show() {
                if(!init_flag){
                    alert("请输入数字红包密码的区间,点击确认!
    ");return ;
                }
                var str="";
                var i=0;
                var High=35;
                arr.sort(sortNumber);
                for(i=0;i<arr.length && i<High;i++)
                    str+=""+arr[i]+" ";
                if(arr.length>High)str+="......More";
                $("text2").value=str;
            }
            ///将误输入的数据加入到数字集合中
            function missing() {
                if(!init_flag){
                    alert("请输入数字红包密码的区间,点击确认!
    ");return ;
                }
                var s=$("text3").value+" ";
                var a=new Array();
                var num=0;
                var flag=0;//是否是区间!
                var i=0;
                for(;i<s.length;i++)
                {
                    if(s[i]==' ')continue;
                    else break;
                }
                for(;i<s.length;i++){
                    if(s[i]>='0'&&s[i]<'9'){
                        num=num*10+(s[i]-'0');
                    }
                    else if(s[i]==':'||s[i]==''){
                        a.push(num);num=0;
                        if(a.length>0)
                            flag=1;
                    }
                    else{
                        if(flag==0){
                            if(num<=maxx&&num>=minn)
                                a.push(num);
                        }
                        else{
                            flag=0;
                            var v1=a[a.length-1];a.pop(); //删除最后一位
                            var v2=num;
                            for(var num=Math.min(v1,v2);num<=Math.max(v1,v2)&&num<=maxx;num++){
                                if(num<=maxx&&num>=minn)
                                    a.push(num);
                            }
                        }
                        num=0;
                    }
                }
                for(var i=0;i<a.length;i++){   //遍历a集合,将元素加入arr数组中.
                    //    $("Test").innerHTML+= "	 "+a[i]+" ";
                    var num=a[i];
                    var flag=0;
                    if(num<=maxx&&num>=minn){
                        for(var j=0;j<arr.length;j++){
                            if(num==arr[j]){
                                flag=1;break;
                            }
                        }
                        if(flag==0){
                            arr.push(num);
                        }
                    }
                }
                show();
            }
            /*设计说明:
                1.猜数加入区间':', 区间符号不区分中英文!
                2.防止空白区间的上下限 ,并且自动识别大小值!
                3.手动输入区间允许颠倒!
                4.s[i]>='0'&&s[i]<='9',bug在这里少输入了个'9'!
             */
        </script>
    </body>
    </html>
    View Code

    源文件:

       链接:https://pan.baidu.com/s/1SQeJyof1b3zlnA8GA41fdw 密码:rwdn

  • 相关阅读:
    解决ListView异步加载数据之后不能点击的问题
    android点击实现图片放大缩小 java技术博客
    关于 数据文件自增长 的一点理解
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Linux 超级用户的权利
    RAC 实例 迁移到 单实例 使用导出导入
    Shell 基本语法
    Linux 开机引导与关机过程
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Oracle RAC + Data Guard 环境搭建
  • 原文地址:https://www.cnblogs.com/zhazhaacmer/p/9782425.html
Copyright © 2011-2022 走看看