调用时For-Loop未运行

时间:2012-09-09 20:53:33

标签: javascript for-loop

代码:

function SnakeGame() {
    "use strict";

    /***** Constant & Global Variables ***********************************/
    var canvas = $("#canvas")[0];
    var ctx  = canvas.getContext('2d');
    var width = $("#canvas").width();
    var height = $("#canvas").height();

    var snake, food;

    function Snake() {
    var startLength = 5; // default for starting size of snake
    this.body = [];

    this.chgStartLength = function(length) {
        startLength = length;
    };

    this.create = function() {
        var i;
        for(i=0; i>5; i++) {
        this.body.push({x:i, y:0});
        }
    };  
    }

    var paintCanvas = function() {
    ctx.fillStyle = 'white';
    ctx.fillRect(0, 0, width, height);
    ctx.strokeStyle = 'black';
    ctx.strokeRect(0, 0, width, height);
    };

    var paintFrame = function() {
    var i, length = snake.body.length;
    for(i=0; i<length; i++) {
        var cell = snake.body[i];
        ctx.fillStyle = 'black';
        ctx.fillRect(cell.x*10, cell.y*10, 10, 10);
        ctx.strokeStyle = 'white';
        ctx.strokeRect(cell.x*10, cell.y*10, 10, 10);
    }
    };

    this.start = function() {
    snake = new Snake();
    snake.create();

    paintCanvas();
    paintFrame();
    console.log(snake.body); //for testing
    };

}

由于某种原因snake.body即使在start执行后也是一个空数组。

1 个答案:

答案 0 :(得分:6)

for(i=0; i>5; i++) {

我相信,>正朝着错误的方向发展。

for(i = 0; i < 5; i++) {