美文网首页
创世源码

创世源码

作者: 岑子哥 | 来源:发表于2022-01-12 17:33 被阅读0次

    备注:以下是html代码,需要在浏览器环境下运行

    <!DOCTYPE html>

    <html lang="zh-CN">

    <head>

        <meta charset="UTF-8">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <style>

            div{width: 10px; height: 10px; border: 0px; float: left;}

        </style>

        <title>宇宙的产生</title>

    </head>

    <body>

    <!--观测区-->

    <p id="box"></p>

    <script>

    /* 宇宙初始化 */

    // 思考零次

    var think = 0;

    // 宇宙一片虚无

    var AS    = Array();

    // 模拟天外天循环

    while (think < 5)

    {

        // 思考加一

        think   = think + 1;

        // 观察这个虚无的宇宙

        var len = AS.length;

        // console.log(len);

        /*

        如果原始宇宙真的是一片虚无,那么由于我们思考了一次,所以原本虚无的宇宙产生了一种新状态,我们把它记作1,于是宇宙中便多出一个为1的状态。

        */

        if(len <= 0){

            // 追加新的状态

            len = AS.push("1");

        }

        /*

        宇宙为了回归虚无本省,便产生了一个假虚无与之对应,为了方便起见记作0,于是宇宙中便又多出了一个为0的状态。

        */

        // 返回宇宙中最新生成的状态。

        var index = len - 1;

        var str   = AS[index];

        //console.log(str);

        var newS  = Reverse(str);// 调用翻转函数

        // 在已知世界的另一头添加一个反状态

        AS.unshift(newS);

        //console.log(AS);

        /*

        这个原本虚无的宇宙在回归的虚无本身的时候创造出了更多的状态,比如0和1的各种组合,从此陷入无限循环之中。

        */

        ArrayS(AS,str);

        // 打印结果

        console.log('思考次数:' + think);

        //show(AS);//观察者效应

    }

    //显示宇宙的的颜色

    show(AS);

    // 思考宇宙的方式决定了宇宙的形态

    function ArrayS(as,str){

        var l = as.length -1;

        // 新的组合

        for(var i=0;i<l;i++){

            var s1 = as[i].concat(str);

            as.push(s1);

            // 模拟量子态

            var s2 = Reverse(s1);

            as.push(s2);

            // 慎用迭代

            //ArrayS(as,s1);

        }

        return as;

    }

    // 取反 归零

    function Reverse(s){

        // 返回字符串的长度

        var l = s.length;

        var a = '';

        for(var i=0;i<l;i++){

            var ss = s.substr(i,1);

            if(ss == '1'){

                ss = '0';

            }else{

                ss = '1';

            }

            // 拼接字符串

            a = a.concat(ss);

        }

        // console.log(a);

        return a;

    }

    /*

    感觉与映射

    */

    function show(as){

        //console.log(as);

        // 从整体观察宇宙

        var string = as.join('');

        //console.log(string);

        // 采用CSS标准中的RGB方式进行渲染,最多8位二进制

        var l = string.length;

        for(var i=0;i<l;i+=24){

            var red   = string.substr(i,8);

            var green = string.substr(i+8,8);

            var blue  = string.substr(i+16,8);

            // 二进制转十进制

            var r = parseInt(red,2);

            var g = parseInt(green,2);

            var b = parseInt(blue,2);

            show_div(r,g,b);

        }

    }

    // 创建并显示DIV

    function show_div(r,g,b){

        var div = document.createElement("div");

        div.style.backgroundColor = "rgb("+r+","+g+","+b+")";

        document.getElementById("box").appendChild(div);

    }

    </script>

    </body>

    </html>

    相关文章

      网友评论

          本文标题:创世源码

          本文链接:https://www.haomeiwen.com/subject/jpurcrtx.html