Скрипт по обработке 3 - PullRequest
       17

Скрипт по обработке 3

0 голосов
/ 23 сентября 2019

Я создал скрипт, который работает в KhanAcademy, но когда я пытаюсь выполнить его при обработке программы 3, он указывает на многочисленные ошибки, такие как отсутствие точки с запятой, где их не должно быть, и он не распознает большинство переменных.Это мой сценарий:

size(400, 400, P2D);

//Constructor canon
var Canon = function(canonX, canonY, W){
    this.canonX = canonX;
    this.canonY = canonY;
    this.W = W;
};

//CANON MOVELEFT
Canon.prototype.moveLeft = function(){
    this.canonX -= 10;
};
Canon.prototype.moveRight = function(){
    this.canonX += 10;
};

//Ball object
var Ball = function(x, y, width){
    this.x = x;
    this.y = y;
    this.width = width;
};

Ball.prototype.draw = function(){
    ellipse(this.x, this.y, this.width, this.width);
}; 

Canon.prototype.shoot = function(){
    fill(0, 0, 0);
    var ball = new Ball(this.canonX + 15, this.canonY - 5, this.W/2, this.W/2);
    return ball;
};

//DRAW CANON
Canon.prototype.drawCanon = function(){
    quad(this.canonX - this.W/5, this.canonY + this.W * 2, this.canonX + 4/5 * this.W, 
this.canonY + 2 * this.W, this.canonX + 3 * this.W/5, this.canonY, this.canonX, this.canonY);
    ellipse(this.canonX + this.W/10 * 3, this.canonY + 2 * this.W, this.W, this.W/ 5 * 3);
    //wheels
    fill(138, 109, 23);
    ellipse(this.canonX - this.W/50 * 12, this.canonY + this.W/50 * 102, this.W/5 * 2, this.W/5 * 6);
    ellipse(this.canonX + this.W/50 * 42, this.canonY + this.W/50 * 102, this.W/5 * 2, this.W/5 * 6);
};

var canon = new Canon(172, 283, 50);
var boulet = null;
var boulet2 = null;
draw = function() {
    background(255, 255, 255);

    keyPressed = function(){
        if(keyCode === 37){
            canon.moveLeft();
        }
        else if(keyCode === 39){
            canon.moveRight();
        }
        else if(keyCode === 32){
            fill(0, 0, 0);
            if(boulet !== null && boulet.y > -15){
                boulet2 = canon.shoot();
            }else{
            boulet = canon.shoot();
            }
        }
    };
    canon.drawCanon();
    if(boulet !== null){
        boulet.draw();
        boulet.y -= 10;
    }
    if(boulet2 !== null){
        boulet2.draw();
        boulet2.y -= 10;
    }
};

У кого-нибудь есть идеи, почему он не работает над обработкой 3?

...