Code edit (9 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: rochers[i] is undefined' in or related to this line: 'if (rochers[i].isClicked) {' Line Number: 1029
Code edit (1 edits merged)
Please save this source code
Code edit (2 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: rocher_pouf_sprite is not defined' in or related to this line: 'rocher.sprite = rocher_pouf_sprite;' Line Number: 1010
Code edit (1 edits merged)
Please save this source code
Code edit (4 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: LK.wait is not a function' in or related to this line: 'LK.wait(4000, function () {' Line Number: 1009
Code edit (9 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'rocher_pouf_sprite')' in or related to this line: 'rocher.sprite = self.rocher_pouf_sprite;' Line Number: 1003
Code edit (1 edits merged)
Please save this source code
Code edit (18 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: LK.getTick is not a function' in or related to this line: 'rocher.sprite.alpha = Math.abs(Math.sin(LK.getTick() / 100)); //Clignotement du rocher' Line Number: 991
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: rocher is undefined' in or related to this line: 'var sens = this.yBase < rocher.sprite.y ? 1 : -1; //Calcul du sens de deplacement verticale : 1=bas, -1=haut' Line Number: 735
Code edit (1 edits merged)
Please save this source code
Code edit (5 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: rochersCibles is not defined' in or related to this line: 'scoreTest = rochersCibles.length;' Line Number: 750
Code edit (6 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: this.srite is undefined' in or related to this line: 'if (this.rochersCibles.length == 0 && this.srite.y != this.yBase) {' Line Number: 745
Code edit (8 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: yBase is not defined' in or related to this line: 'sens = this.sprite.y == yBase ? -sens : sens; //Si le Buldo par face a la route, il doit se tourner vers le rocher' Line Number: 737
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
===================================================================
--- original.js
+++ change.js
@@ -709,21 +709,25 @@
}
}
} else {
var AD = dist(this.sprite.x, 0, xTarget, 0); //Distance entre le centre du sprite et l'abscisse x destination
- if (AD >= HD) {
- //Securite au cas ou le point destination se trouve entre le centre du sprite et le point chaud AV : on arrete ponctuellement le deplacement
+ var Bh = this.sprite.x + this.camp * this.dxAvHotSpot; //Abscisse x du point chaud AV du sprite
+ var AH = dist(this.sprite.x, 0, this.sprite.x + this.camp * this.dxAvHotSpot, 0); //Distance entre le centre du sprite et le point chaud AV
+ var dxHotSpotR = this.camp == humanCamp ? this.rocherDestination.dxHotLeftSpot : this.rocherDestination.dxHotRightSpot; //Point chaud du rocher
+ var Rh = this.rocherDestination.sprite.x + dxHotSpotR; //Abscisse x du point chaud du rocher
+ if (AH <= AD) {
+ //Securite au cas ou le point destination se trouve entre le centre du sprite et le point chaud AV du sprite
this.sprite.x += this.vitesseEnCours * delta; // Sinon on déplace le sprite horizontalement
+ } else if (AH > AD || Bh > Rh) {
+ //Securite au cas ou le buldo depasse le point chaud du rocher
+ this.sprite.x -= this.vitesseEnCours * delta; //Sinon il recule pour se repositionner derriere
}
}
}
return;
}; // fin deplaceHtoR
this.moveBackToBase = function () {
//Deplacement du Buldo vers sa position de base lors du retour au camp
- //D'abord il se tourne verticalement vers sa position de base
- //Puis il se deplace verticalement vers sa position de base
- //Puis il se tourne pour faire face a la route
var sens = this.yBase < this.sprite.y ? 1 : -1; //Calcul du sens de deplacement verticale : 1=bas, -1=haut
sens = this.camp == humanCamp ? sens : -sens; //L'inverse pour les ordis
this.addMoveToStack(typeRotation, sens * 90, 0); //Rotation de 90 degres vers l'ordonnee de la position de base
this.addMoveToStack(typeLigneVtoY, this.xBase, this.yBase); //Deplacement vertical vers la position de base
@@ -872,16 +876,16 @@
} //fin createSingleBuldo
function createBuldos() {
//CREATION D'OBJETS A PARTIR DES SPRITES //constructor(x, y, camp)
var buldoRock1 = createSingleBuldo(HumanZone.x + HumanZone.width / 2, HumanZone.y + HumanZone.height / 3, humanCamp);
- var buldoRockTest = createSingleBuldo(HumanZone.x + HumanZone.width / 2, HumanZone.y + HumanZone.height / 2, humanCamp); //Position : milieu de la zone humaine, 1/2 de la hauteur
+ //var buldoRockTest = createSingleBuldo(HumanZone.x + HumanZone.width / 2, HumanZone.y + HumanZone.height / 2, humanCamp); //Position : milieu de la zone humaine, 1/2 de la hauteur
var buldoRock2 = createSingleBuldo(HumanZone.x + HumanZone.width / 2, HumanZone.y + 2 * HumanZone.height / 3, humanCamp);
var buldoZer1 = createSingleBuldo(ComputerZone.x + ComputerZone.width / 2, ComputerZone.y + ComputerZone.height / 3, ordiCamp);
var buldoZer2 = createSingleBuldo(ComputerZone.x + ComputerZone.width / 2, ComputerZone.y + 2 * ComputerZone.height / 3, ordiCamp);
//On stocke les objets dans un tableau
var buldos = [];
buldos.push(buldoRock1);
- buldos.push(buldoRockTest);
+ //buldos.push(buldoRockTest);
buldos.push(buldoRock2);
buldos.push(buldoZer1);
buldos.push(buldoZer2);
//On donne un nom aux objets
@@ -945,12 +949,39 @@
if (rochers[i].isBeingPushed) {
rochers[i].checkPushed();
} //déplacement du rocher
}
+ //Gestion des rochers bloques
+ if (rochers) {
+ rochers.forEach(function (rocher) {
+ if (rocher.vitesse == 0 && rocher.isBeingPushed) {
+ //Si le rocher est immobilise alors qu'il est pousse
+ if (buldos) {
+ var allBuldosPushing = true;
+ scoreTest = 0;
+ buldos.forEach(function (buldo) {
+ //et que tous les Buldos sont en train de pousser
+ if (!buldo.isPushing) {
+ allBuldosPushing = false;
+ scoreTest += 1;
+ }
+ });
+ if (allBuldosPushing) {
+ //alors aucun buldo ne peut venir le pousser
+ rocher.isBlocked = true; //donc le rocher est bloque
+ }
+ }
+ }
+ //Si le rocher est bloque, on le fait clignoter
+ if (rocher.isBlocked) {
+ rocher.sprite.alpha = Math.abs(Math.sin(LK.ticks / 100)); //Clignotement du rocher
+ }
+ });
+ }
//Mise à jour des scores
updateScoreHumain(scoreHumain);
updateScoreOrdi(scoreOrdi);
- //updateScoreTest(scoreTest);
+ updateScoreTest(scoreTest);
//Fin de partie
if (nbRochers <= 0) {
if (scoreHumain >= scoreOrdi) {
afficheVictoire(humanCamp);
A small rock
a rock without any shadow and four time smaller than the original.
Blue color
a rock is being crunched so there is smoke and peaces of rocks viewed from top.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Un trophée de victoire sous forme d'une coupe d'où s'échappe un feu d'artifice.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Red bulldozer viewed strictly from top. Top view as if we are a drone.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Remove yellow lines.