Я создал скрипт, который работает в 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?