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
Code edit (7 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: Sprite is not a constructor' in or related to this line: 'var newLife = new Sprite('life');' Line Number: 267
Code edit (12 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: scor is not defined' in or related to this line: 'scor += 1;' Line Number: 120
Code edit (2 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: OptionsZone is undefined' in or related to this line: 'parasol.y = OptionsZone.y - 400;' Line Number: 189
Code edit (1 edits merged)
Please save this source code
Code edit (23 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: abs is not defined' in or related to this line: 'var deltaX = abs(coconuts[i].x - coconuts[i].X1);' Line Number: 307
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 (8 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: scoreText is not defined' in or related to this line: 'scoreText.setText(nouveauScore);' Line Number: 214
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: scoreText is not defined' in or related to this line: 'if (scoreText) {' Line Number: 169
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: scoreText is not defined' in or related to this line: 'scoreText.setText(nouveauScore);' Line Number: 169
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: scoreText is not defined' in or related to this line: 'scoreText.setText(nouveauScore);' Line Number: 172
Code edit (7 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: scoreText is not defined' in or related to this line: 'scoreText.setText(nouveauScore);' Line Number: 178
===================================================================
--- original.js
+++ change.js
@@ -38,8 +38,51 @@
self.update = function () {
// Parasol logic can be added here
};
});
+//Class for the trajectory of the coconut
+//Gestion d'une trajectoire parabolique de sommet ((X1 + X2)/2, Yh)
+//et de point de départ (X1, Y0) et d'arrivée (X2, Y0) avec Y0 > Yh et X1 < X2.
+//la fonction de mise à jour calcule la position du point suivant en fonction de speed .
+//Sachant que speed correspond à un certain nombre de ticks avant le calcul de la position suivante.
+//L'equation de la trajectoire est de la forme y = a(x - X1)(x - X2) + Yh
+var Trajectory = Container.expand(function () {
+ var self = Container.call(this);
+ var trajectoryGraphics = self.attachAsset('trajectory', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.X1 = 0;
+ self.X2 = 0;
+ self.Y0 = 0;
+ self.Yh = 0;
+ self.xCurrent = 0;
+ self.yCurrent = 0;
+ self.speed = 1;
+ self.isStarted = false; //Indique si la trajectoire a commencé
+ self.setParameters = function (X1, X2, Y0, Yh, speed) {
+ self.X1 = X1;
+ self.X2 = X2;
+ self.Y0 = Y0;
+ self.Yh = Yh;
+ self.speed = speed;
+ self.a = (Y0 - Yh) / ((X1 - X2) * (X1 - X2));
+ }; //fin setParameters
+ self.update = function () {
+ // Trajectory logic can be added here
+ if (!self.isStarted) {
+ self.xCurrent = self.X1;
+ self.yCurrent = self.Y0;
+ self.isStarted = true;
+ var distance_per_tick = (self.X2 - self.X1) / self.speed;
+ } else {
+ if (self.xCurrent < self.X2) {
+ self.xCurrent += distance_per_tick;
+ self.yCurrent = self.a * (self.xCurrent - self.X1) * (self.xCurrent - self.X2) + self.Yh;
+ }
+ }
+ }; //fin update
+});
/****
* Initialize Game
****/
@@ -137,11 +180,12 @@
});
LK.gui.topLeft.addChild(scoreTestText);
var scoreTxt = new Text2('0', {
size: 150,
- fill: "#ffffff"
+ fill: "#ffffff",
+ anchorX: 0.5,
+ anchorY: 0
});
-scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
game.down = function (x, y, obj) {
parasol.x = x;
parasol.y = y;
@@ -158,30 +202,33 @@
function updateScoreTest(nouveauScore) {
scoreTestText.setText(nouveauScore);
} //fin updateScoreTest
function updateScore(nouveauScore) {
- if (nouveauScore < 0) {
- nouveauScore = 0;
- score = 0;
- }
- scoreText.setText(nouveauScore);
+ scoreTxt.setText(nouveauScore);
} //fin updateScore
+//Fonction chooseNextStartPoint: choisit aléatoirement un point de départ d'un coconut
+//Renvoie un objet Coconut
+function chooseNextStartPoint() {
+ var newCoconut = new Coconut();
+ // Choisir aléatoirement un point de départ
+ var randomIndex = Math.floor(Math.random() * startPoints.length);
+ newCoconut.x = startPoints[randomIndex];
+ newCoconut.y = monkey.y;
+ coconuts.push(newCoconut);
+ return newCoconut;
+} //fin chooseNextStartPoint
/****
* Main loop
****/
game.update = function () {
//Mise à jour score
scoreTest = score;
updateScoreTest(scoreTest);
- //updateScore(score);
+ updateScore(score);
//Autres actions à effectuer sans urgence
if (LK.ticks % 60 == 0) {
- var newCoconut = new Coconut();
- // Choisir aléatoirement un point de départ
- var randomIndex = Math.floor(Math.random() * startPoints.length);
- newCoconut.x = startPoints[randomIndex];
- newCoconut.y = monkey.y;
- coconuts.push(newCoconut);
+ // Créer un nouveau coco
+ var newCoconut = chooseNextStartPoint();
game.addChild(newCoconut);
}
for (var i = coconuts.length - 1; i >= 0; i--) {
if (coconuts[i].intersects(parasol)) {