赵东昊--一周总结

阅读数:1977 发布时间:2016-07-14 22:42:33

作者:w3zdh 标签: 心得 体会 收获 困难

总结

成果

div按比例划分

代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style media="screen">
      .flex_container{
        width:1000px;
        height:100px;
        display: flex;
        flex-flow: row;
        background-color:#ff0000;
      }

      #one{
        flex: 5;
        background-color: #00ff00;
        border-right: 1px solid #000000;
      }
      #two{
        flex: 3;
        background-color: #00ff00;
        border-right: 1px solid #000000;
      }
      #three{
        flex: 2;
        background-color: #00ff00;
        border-right: 1px solid #000000;
      }
    </style>
  </head>
  <body>
    <div class="flex_container">
      <div id="one">
        1
      </div>
      <div id="two">
        2
      </div>
      <div id="three">
        3
      </div>
    </div>
  </body>
</html>

结果

df

小鸟飞翔

代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <div id="abc">

    </div>

    <div id="edf">

    </div>

    <canvas id="mycanvas" width="500" height="500"></canvas>

    <script type="text/javascript">
        var x1 = 0;
        var y1 = 0;
        var x2 = 500;
        var y2 = 0;

        var c = document.getElementById('mycanvas');
        var ctx = c.getContext('2d');
        var img = new Image();

        setInterval(function(){
            img.src = "file:///home/zdh/%E5%9B%BE%E7%89%87/bf.png";    
            ctx.clearRect(0, 0, 500, 500);
            img.onload = function(){
                ctx.drawImage(img, x1, y1, 24, 27, Math.abs(x2), y2, 24, 27);

                x1 = x1 + 24;
                if(x1 > 48){
                    x1 = 0;                
                }
                x2 = x2 - 10;

                if(x2 < -500 )
                {
                    x2 = 500;
                }
                if(x2 <= 0 && x2 >= -500)
                {
                    y1 = 24;
                }
                if(x2 > 0 && x2 <= 500)
                {
                    y1 = 0;

                }
                if(x2 > 500 )
                {
                    x2 = -500;
                }
                if(x2 == 0 || x2 == -500){
                    y2 = y2 + 27;
                }
                if(y2 > 500)
                {
                    y2 = 0;
                }
            }
        }, 10);        
    </script>
</body>
</html>

递归练习

代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript">
        window.onload = function(){
        var sa = [
            [1, 2, 0], [3, 4, 0], [5, 6, 0], 
            [7, 8, 0], [9, 0, 0], [10, 9, 1], 
            [11, 10, 2], [12, 11, 3], [13, 12, 4] 
        ];
        var h = '';

        function fc(a, s, k)
        {
            var kg = '';
            for(var j = 0; j < k ; j++){
                kg = kg + '      ';
            }
            s = s + kg +a + '<br>';
            var c = null;
            for(var i = 0; i < sa.length; i++)
            {
                if(a == sa[i][1])
                {
                    c = sa[i][0];
                }
            }

            if(c == null){
                return s;
            }else{
                k ++;
                return fc(c, s, k);
            }
        }

        for(var i = 0; i < sa.length; i++)
        {
            if(sa[i][2] == 0)
            {
                var s = '';
                h = h + fc(sa[i][1], s, 1);
            }
        }

        document.getElementById('abc').innerHTML = h; 
    }
    </script>
</head>
<body>
    <div id="abc"></div>
</body>
</html>

结果

招财进宝

代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <script type="text/javascript">
        window.onload = function(){
            var lx = 200;
            var score = 0;
            var wrong = 0;
            var c = document.getElementById('mycanvas');
            var ctx = c.getContext('2d');
            var imglz = new Image();
            imglz.src = 'http://img42.nipic.com/20130125/10570612_114056484195_1.jpg';
            var img = new Image();
            img.src = 'http://img5.huitu.com/res/20121228/180468_20121228094410788361_2.jpg';

            function dl(x){
                var y = 0;
                var timer = setInterval(function(){
                 ctx.clearRect(x, y-10, 50, 40);
                 ctx.drawImage(img, 0, 0, 140, 106, x, y, 50, 40);

                 if(x >= lx && x <= lx + 150 && y >= 360 && y <= 400){
                     score ++;
                     document.getElementById('sl').innerHTML = score;
                     ctx.clearRect(x, y, 50, 40);
                     clearInterval(timer);
                 }

                 if(y >= 450){
                     wrong ++;
                     document.getElementById('wl').innerHTML = wrong;
                     ctx.clearRect(x, y, 50, 40);
                     clearInterval(timer);
                 }

                 y = y + 10;
                }, 100);
            }

            imglz.onload = function(){
                ctx.drawImage(imglz, 0, 77, 150, 40, lx, 400, 150, 40);

                document.onkeydown = function(e){
                    var keycode = e.which;
                    if(keycode == 39){//r
                        ctx.clearRect(lx, 400, 150, 40);
                        lx = lx + 50;
                        if(lx > 350){
                            lx = 350;
                        }
                        ctx.drawImage(imglz, 0, 77, 150, 40, lx, 400, 150, 40);

                       }
                       if(keycode == 37){//l
                           ctx.clearRect(lx, 400, 150, 40);
                        lx = lx - 50;
                        if(lx < 0){
                            lx = 0;
                        }
                        ctx.drawImage(imglz, 0, 77, 150, 40, lx, 400, 150, 40);
                       }
                }
            }

            img.onload = function(){
                setInterval(function(){
                    var rd = Math.round(Math.random() * 450);//0~450;
                    dl(rd);
                }, 1000);
            }
        }
    </script>
    <style type="text/css">
        #hd{
            width: 500px;
            text-align: center;
            font-size: 20px;
            font-family: 微软雅黑;
            color: #FFD700;
        }
        #s{
            color: #FF4500;
        }
        #w{
            color: #FFA500;
        }
        #sl{
            color: #000000;
        }
        #wl{
            color: #000000;
        }
    </style>
</head>
<body>
    <div id="hd">招  财  进  宝</div>
    <canvas id="mycanvas" width="500" height="500" style="border:3px solid #FFD700">
    </canvas>
    <div id="s">抢到的财宝:<label id="sl">0</label>个金元宝</div>
    <div id="w">漏掉的财宝:<label id="wl">0</label>个金元宝</div>
</body>
</html>

结果

贪吃蛇

代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript">
        var ayb = {};
        ayb.$ = function (id){
            return document.getElementById(id);
        }

        ayb.p = function (str){
            console.log(str);
        }

        ayb.shtml = function(id, str){
            ayb.$(id).innerHTML = str;
        }

        ayb.getctx = function (id){
            var c = ayb.$('mycanvas');
            return c.getContext('2d');
        }

        ayb.dl = function (ctx, x1, y1, x2, y2){
            ctx.beginPath();
            ctx.lineWidth="1";
            ctx.strokeStyle="#000000";
            ctx.moveTo(x1, y1);
            ctx.lineTo(x2, y2);
            ctx.stroke(); 
        }

        ayb.dt = function (ctx, c, k){
            var x = 0;
            var y = 0;
            while(x <= 500)
            {
                ayb.dl(ctx, x, 0, x, 500);
                x = x + c;
            }
            while(y <= 500)
            {
                ayb.dl(ctx, 0, y, 500, y);
                y = y + c;
            }
        }

        ayb.fc = function (ctx, cx, cy){
            var x = cx * 20 + 1;
            var y = cy * 20 + 1;
            ctx.fillStyle = '#ff0000';
            ctx.fillRect(x, y, 18, 18);    
        }

        ayb.food = function (ctx, cx, cy){
            var x = cx * 20 + 1;
            var y = cy * 20 + 1;
            ctx.fillStyle = '#00ff00';
            ctx.fillRect(x, y, 18, 18);    
        }

        ayb.move = function (ctx, x, y, l, mx, my){
            for(var i = 0; i < l; i ++){
                        ctx.clearRect(x[i] * 20 + 1, y[i] * 20 + 1, 18, 18);
                    }
                    ayb.fc(ctx, x[0] + mx, y[0] + my);
                    for(var j = 0; j < l - 1; j ++){
                        ayb.fc(ctx, x[j], y[j]);
                    }
                    for(var k = l - 1; k > 0; k --){
                        x[k] = x[k-1];
                        y[k] = y[k-1];
                    }
                    x[0] = x[0] + mx;
                    y[0] = y[0] + my;
        }

        ayb.sjs = function(){
            return Math.round(Math.random() * 24);
        }

        window.onload = function(){
            var ctx = ayb.getctx('mycanvas');
            ayb.dt(ctx, 20, 20);

               var x = new Array(50);
               var y = new Array(50);
               var xb = new Array(50);
               var yb = new Array(50);
               var l = 3;
               var lb = 3;
               var fx = ayb.sjs();
               var fy = ayb.sjs();
               x[0] = 5;
               y[0] = 5;
               x[1] = 6;
               y[1] = 5;
               x[2] = 7;
               y[2] = 5;

            ayb.food(ctx, fx, fy);

            function eat(){
                if(x[0] == fx && y[0] == fy - 1 || x[0] == fx && y[0] == fy + 1 || 
                         x[0] == fx - 1 && y[0] == fy || x[0] == fx + 1 && y[0] == fy ){
                        for(var i = 0; i < l; i ++){
                            xb[i] = x[i];
                            yb[i] = y[i];
                        }
                        lb = l;
                    }

                if(x[0] == fx && y[0] == fy)
                {
                    for(var i = 0; i < l; i ++){
                        ctx.clearRect(x[i] * 20 + 1, y[i] * 20 + 1, 18, 18);
                    }
                    l = l + 1;
                    for(var j = 0; j < lb; j ++){
                        x[j + 1] = xb[j];
                        y[j + 1] = yb[j];
                    }
                    x[0] = fx;
                    y[0] = fy;
                    for(var j = 0; j < l; j ++){
                            ayb.fc(ctx, x[j], y[j]);
                    }

                    fx = ayb.sjs();
                    fy = ayb.sjs();
                    ayb.food(ctx, fx, fy);
                }                
            }

            document.onkeydown = function(e){
                var keycode = e.which;
                if(keycode == 37){//zuo
                    ayb.move(ctx, x, y, l, -1, 0);
                    eat();
                   }

                if(keycode == 38){//shang
                    ayb.move(ctx, x, y, l, 0, -1);
                    eat();
                   }

                   if(keycode == 39){//you
                    ayb.move(ctx, x, y, l, 1, 0);
                    eat();
                   }

                   if(keycode == 40){//xia
                    ayb.move(ctx, x, y, l, 0, 1);
                    eat();
                   }                
            }
        }
    </script>
</head>
<body>
    <canvas id="mycanvas" width="500" height="500"></canvas>
</body>
</html>

结果

相关文档

HTML 5 Canvas 参考手册 Markdown 语法说明

相关文章推荐: