Code edit (2 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'anchorX')' in or related to this line: 'monkeyAsset = self.attachAsset(newAssetId, {' Line Number: 69
Code edit (4 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: Cannot set properties of undefined (setting 'anchorX')' in or related to this line: 'monkey.monkeyAsset.anchorX = 0.91;' Line Number: 421
Code edit (2 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: initialAsset is not defined' in or related to this line: 'self.removeChild(initialAsset);' Line Number: 66
Code edit (1 edits merged)
Please save this source code
Code edit (8 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'x')' in or related to this line: 'monkey.sprite.x = 2048 / 2;' Line Number: 246
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (12 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: oconutsInTree is not defined' in or related to this line: 'oconutsInTree.push(newCoconut);' Line Number: 338
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (19 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: coconut is not defined' in or related to this line: 'scoreTest = "Zone contact = " + zoneIntersectParasol(coconut[i]);' Line Number: 434
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (16 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: livesLeftGraphics[i] is undefined' in or related to this line: 'livesLeftGraphics[i].destroy();' Line Number: 264
Code edit (1 edits merged)
Please save this source code
===================================================================
--- original.js
+++ change.js
@@ -19,8 +19,9 @@
self.trajectory.updateParabol();
}
self.y = self.trajectory.y;
self.x = self.trajectory.x;
+ self.isFalling = self.trajectory.isFalling;
if (self.y > 2732) {
self.destroy();
}
}; //fin update
@@ -98,22 +99,26 @@
}; //fin updateLinear
self.updateParabol = function () {
//scoreTest += 1;
// Trajectory logic can be added here
+ var lastY = self.y;
if (self.typeTrajectory == 1 && !self.isStarted) {
self.x = self.X1;
self.y = self.Y0;
self.a = 4 * (self.Y0 - self.Yh) / ((self.X1 - self.X2) * (self.X1 - self.X2));
self.distPerTick = (self.X2 - self.X1) / self.totalTicks;
self.isStarted = true;
//scoreTest = "x= " + self.x + " y= " + self.y + " a= " + self.a + " distPerTick= " + self.distPerTick;
} else {
- //if (self.x < self.X2) {
- score += 1;
self.x += self.distPerTick;
self.y = self.a * (self.x - self.X1) * (self.x - self.X2) + self.Y0;
//scoreTest = "x= " + self.x + " y= " + self.y + " a= " + self.a + " distPerTick= " + self.distPerTick;
}
+ if (lastY < self.y) {
+ self.isFalling = true;
+ } else if (lastY >= self.y) {
+ self.isFalling = true;
+ }
}; //fin updateParabol
});
/****
@@ -250,9 +255,9 @@
//Affiche le nombre de vies restantes (sprite 'life' ) dans le coin supérieur gauche
scoreTest = "Nb de coeurs restants : " + livesLeftGraphics.length + " / Nb de vies restantes : " + livesLeft;
//Commence par effacer les vies restantes s'il y en a
if (livesLeft != livesLeftGraphics.length) {
- for (var i = 0; i < livesLeftGraphics.length; i++) {
+ for (var i = livesLeftGraphics.length - 1; i >= livesLeft; i--) {
if (livesLeftGraphics[i]) {
game.removeChild(livesLeftGraphics[i]);
livesLeftGraphics[i].destroy();
livesLeftGraphics.splice(i, 1);
@@ -314,19 +319,19 @@
}
}
//Check if a coconut has touched the parasol et changement de trajectoire
for (var i = coconuts.length - 1; i >= 0; i--) {
- if (coconuts[i].intersects(parasol) && (coconuts[i].isFalling || coconuts[i].isBouncing)) {
+ if (coconuts[i].intersects(parasol) && coconuts[i].isFalling) {
score += 1;
coconuts[i].isFalling = false;
var deltaX = Math.abs(coconuts[i].x - XL);
- coconuts[i].trajectory.setParameters(1, coconuts[i].x, XC - deltaX, coconuts[i].y, ScoreZone.height + 200, 1000);
+ coconuts[i].trajectory.setParameters(1, coconuts[i].x, XC - deltaX, coconuts[i].y, ScoreZone.height + 200, 500);
coconuts[i].isBouncing = true;
}
}
//Mise à jour des coconuts bouncing
for (var i = coconuts.length - 1; i >= 0; i--) {
- if (coconuts[i].isBouncing) {
+ if (coconuts[i].isFalling) {
coconuts[i].update();
}
}
//Vérifier si un coco a touché le sol
@@ -334,11 +339,11 @@
if (coconuts[i].y >= OptionsZone.y && (coconuts[i].isFalling || coconuts[i].isBouncing)) {
LK.effects.flashScreen(0xff0000, 1000);
coconuts[i].destroy();
coconuts.splice(i, 1);
+ livesLeft -= 1;
if (livesLeft == 0) {
LK.showGameOver();
}
- livesLeft -= 1;
}
}
};
\ No newline at end of file