User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'typeKey')' in or related to this line: 'selectPuppyType(obj.parent.typeKey);' Line Number: 1387
User prompt
Non, laĢ il n'y a que les leĢgendaires ! Chaque type de chiots (fantoĢmes, sireĢnes , vampires, dragons) , doivent aussi avoir leur interface quand le joueur appuie dessus pour en acheter !
User prompt
chaque type de chiots doit avoir sa propre interface pour l'achat! La il y a seulement pour les leĢgendaires ! CorrigeĢ ça āŖš” Consider importing and using the following plugins: @upit/storage.v1, @upit/tween.v1
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'typeKey')' in or related to this line: 'selectPuppyType(obj.parent.typeKey);' Line Number: 1387
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'name')' in or related to this line: 'var selectorTitle = new Text2('Combien de chiots ' + type.name + '?', {' Line Number: 1433
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'typeKey')' in or related to this line: 'selectPuppyType(obj.parent.typeKey);' Line Number: 1387
User prompt
CorrigeĢ les probleĢmes
User prompt
Ajoute ces nouveauteĢs a Hot-puppy : en plus, des chiots normaux, Le joueur peut acheter diffeĢrents types suppleĢmentaires de chiots (couĢt en SM) qui ont chacun leurs speĢcialiteĢs, les voici: 1) Chiots fantoĢmes : le joueur peut en acheter 1 a 5 maximum par achat s'il est niveau infeĢrieur a 10, Et de 1 jusqu'aĢ 13 par achat s'il est niveau supeĢrieur a 10, Les chiots fantoĢmes sont simplement des chiots ignoreĢs par Monsieur pervers et Gabriel, Monsieur pervers et Gabriel les ignorent, et ne les attrapent pas, ils ne les voient tout simplement pas, ce qui laisse le temps au joueur de les emmener facilement aĢ la porte de la sortie, et gagner des chiens sauveĢs dans son score,! Le systeĢme des aĢges s'applique aux chiots fantoĢmes, (CouĢte 6 SM par achat) 2) Chiots Dragons : le joueur ne peut pas en acheter avant le niveau 7, le joueur peut en acheter 1 aĢ 6 par achat s'il est de niveau infeĢrieur aĢ 20, et jusqu'aĢ 15 par achat s'il est niveau supeĢrieur a 20! Les chiots dragons, sont visibles et attrapables seulement par Monsieur pervers, et pas par Gabriel, Gabriel les ignores, Mais monsieur pervers peut les attraper de la meĢme façon que les chiots normaux! les chiots dragons comptent triple quand le joueur les sauve! Le systeĢme d'aĢge ne s'applique pas aux chiots dragons (CouĢte 15 SM par achat) 3) Chiots SireĢnes : le joueur peut en acheter seulement s'il est au moins au niveau 10! le joueur peut en acheter seulement de 1 a 7 par achat s'il est niveau infeĢrieur a 30, et jusqu'aĢ 20 par achat s'il est niveau 30 au supeĢrieur! Les chiots sireĢnes ne sont attrapables seulement par Gabriel, Monsieur pervers les ignore totalement, Et les chiots sireĢnes comptent quadruples quand le joueur les sauve! Le systeĢme d'aĢge ne s'applique pas aux chiots sireĢnes (coute 25 SM par achat) 4) Chiots Vampires : le joueur peut en acheter seulement aĢ partir du niveau 15! le joueur peut en acheter de 1 a 9 par achat s'il est niveau infeĢrieur a 40, et jusqu'aĢ 25 s'il est niveau 40 au SupeĢrieur ! les chiots vampires,sont attrapables par Gabriel et Monsieur pervers, mais endorment monsieur pervers pendant 2 minutes quand il attrape un chiot vampire ! les chiots vampires couĢtent Cinquple lors de leur sauvetage ! Le systeĢme des aĢges ne s'applique pas aux chiots vampires (CouĢte 50 SM par achat) 5) Chiots leĢgendaires : disponible seulement pour les joueurs avances aĢ partir du niveau 90! le joueur peut en acheter de 1 aĢ 3 par achat s'il est niveau 90 a 150, Et jusqu'aĢ 7 par achat s'il est niveau supeĢrieur a 150 , jusqu'aĢ la niveau maximal du jeu : le niveau 200! les chiots leĢgendaires, ont tout les pouvoirs, ils sont ignoreĢs par Monsieur pervers et Gabriel, les endorment pendant 10 minutes (que ce soit monsieur pervers ou meĢme Gabriel), deĢs qu'ils rentrent en collision avec , et comptent, comme 20 chiots lors de leur sauvetage ! C'est vraiment les goals des chiots dans le jeu! (CouĢte 1000 SM par achat) Le joueur peut acheter des chiots speĢciaux disponibles pour son niveau, en appuyant sur un bouton rouge a texte noir "boutique", Un menu s'ouvre donc, avec la liste des types de chiots disponibles (avec ceux pas encore disponible pour le niveau du joueur griseĢ, sur lequels le joueur ne peut pas appuyer ni seĢlectionner pour acheter), Le joueur appuie donc sur le type de chiots speĢciaux qu'ils veut acheter, Et le jeu lui demande via un eĢcran qui s'affiche combien il veut en acheter, Il y a donc un keyboard simple bleu avec des touches qui repreĢsentent chaque chiffre, Pour que le joueur entre un chiffre et valide en appuyant sur valider! Les chiots speĢciaux du type acheter ,et le nombre de chiots acheter apparaissent donc dans le jeu jusqu'aĢ leur sauvetage ! āŖš” Consider importing and using the following plugins: @upit/storage.v1, @upit/tween.v1
User prompt
Ajoute un systeĢme d'aĢge pour les chiots dans Hot-puppy : Chaque chiot a un aĢge aleĢatoire (entre 1 mois minimum et jusqu'aĢ 20 mois maximum), l'aĢge de chaque chiot est eĢcrit aĢ coĢteĢ de son nom au-dessus de sa teĢte, L'aĢge de chaque chiot ajoute une strateĢgie dans le jeu, sur quels chiots ils faut sauver les premiers, et lesquels faut laisser tomber! : Les chiots de moins de 10 mois, ou de 10 mois maximum (70 % des chiots du jeu), N'ont pas de compeĢtences speĢciales, Ils comptent comme un seul chiot lors de leur sauvetage ou de leur perte Mais les chiots de plus de 10 mois, donc 30 % des chiots, Sont plus preĢcieux, Lors de leur sauvetage ils comptent comme 2 chiots sauveĢs ! āŖš” Consider importing and using the following plugins: @upit/storage.v1, @upit/tween.v1
User prompt
Ajoute les assets pour Gabriel, Lucie et Eva !
User prompt
Ajoute ces nouveauteĢs au jeu Hot-puppy : - Eva (9 ans, sÅur de Samantha) : Eva, tout comme Samantha, n'est pas d'accord avec le business horrible de leur peĢre (monsieur pervers), Eva, a le pouvoir d'invoquer Samantha, sans que le joueur est a l'invoquer lui meĢme avec ses SM! Eva ne peut apparaiĢtre dans le jeu, seulement quand le joueur est niveau 5 au supeĢrieur, Eva a 50% de chance d'apparaiĢtre tout les 6 chiots sauveĢ, Mais seulement si Samantha n'est pas deĢjaĢ preĢsente, Eva apparaiĢt aĢ l'eĢcran, puis a une de chance d'invoquer Samantha, qui apparaiĢt et endort monsieur pervers gratuitement sans que le joueur n'est a deĢpense des SMS, Mais Eva n'apparaiĢt pas aĢ chaque fois! Et meĢme quand elle n'apparaiĢt, la deĢcision selon laquelle elle va invoquer Samantha ou non est aleĢatoire ! elle disparaiĢt au bout de 15 secondes si elle n'a pas invoquer Samantha, ou des que Samantha arrive si Eva a invoquer Samantha - Gabriel (12 ans, freĢre de Samantha) : Gabriel, contrairement a Samantha ou Eva, N'est pas un allieĢ du joueur, mais un allieĢ de Monsieur pervers !! Il est d'accord avec le business de son peĢre, Mais c'est seulement car il a peur de Monsieur pervers en vrai, Monsieur pervers tante d'invoquer son fils Gabriel tout les 3 chiots sauveĢ, Mais gabriel ne lui reĢpond pas toujours, La deĢcision selon laquelle Gabriel lui reĢpond ou non, est aleĢatoire, Mais si Monsieur pervers reĢussit a invoquer son fils, il apparaiĢt dans le jeu, et aide son peĢre, Ça signifie, qu'il poursuit lui aussi les chiots pour les attraper, il est encore plus dangereux que son peĢre, car Gabriel peut attraper les chiots avant meĢme que le joueur n'appuie sur eux! La diffeĢrence, est qu'il n'y a pas de game over ou de perte de points si ce n'est que Gabriel qui les a attrapeĢ - Lucie (11 ans, autre sÅur de Samantha) : Lucie est assez neutre par rapport a tout ça, Mais elle deĢteste que sa sÅur Samantha demande beaucoup de SM pour une simple invocation pour des sauvetages normaux , c'est pour cela que Lucie peut diminuer temporairement le prix des SM requis pour invoquer Samantha!, Lucie apparaiĢt dans le jeu toutes les 2 invocations de Samantha, Elle apparaiĢt aĢ l'eĢcran durant 20 secondes, puis baisse le prix des SM requis a l'invocation de samantha de 60% durant 2 minutes ! ApreĢs ce temps, le prix normal de l'invocation est remis ! āŖš” Consider importing and using the following plugins: @upit/tween.v1, @upit/storage.v1
User prompt
Attention, Samantha ne touche pas les chiots, elle ne leur veut aucun mal, et monsieur pervers ne peut rien faire aux chiots quand il est endormi
User prompt
Ajoute l'asset requis pour les apparitions de Samantha
User prompt
Ajoute cela au jeu Hot-puppy : Samanta (10 ans, fille de Monsieur pervers) : Samantha est la fille de Monsieur pervers, mais c'est une allieĢe du joueur dans le jeu, elle n'est pas d'accord avec le business tordu de son peĢre, Et essaye d'aider le joueur, Mais attention, elle n'apparaiĢt seulement quand certaines conditions sont remplis : - ajoute une monnaie du jeu : Les SM permettent d'invoquer Samantha, Pour invoquer Samantha , cela couĢte 5 SM la premieĢre fois, Mais plus on l'invoque, plus le prix augmente, A chaque nouvelle invocation, Le prix d'invocation augmente de 30% le joueur gagne des SMS lorsqu'il sauve des chiots (le joueur gagne 3 SM par chiot sauver), Les SM du joueur sont sauvegarder entre les parties ! Le joueur garde ses SM, meĢme apreĢs un game over, le joueur peut voir son nombre de SM posseĢder dans son ui a l'eĢcran dans le jeu, pour invoquer Samantha, Le joueur appuie sur un bouton rose a texte blanc : "Invoque Sam", et Samantha apparaiĢt a l'eĢcran, elle se dirige vers monsieur pervers, quand Samantha est invoquer, monsieur pervers s'endort durant 6 minutes , Laissant le joueur sauver un maximum de chiots durant ce temps laĢ, Puis, durant le temps eĢcouleĢ, Samantha disparaiĢt, et monsieur pervers se reĢveille ! āŖš” Consider importing and using the following plugins: @upit/storage.v1, @upit/tween.v1
User prompt
Tout Les messages mesquins doivent avoir un lien avec le fait qu'il est meĢcontent car il voulait tuer les chiots et les servir en hot dog a ses clients
User prompt
Ajoute ça au jeu Hot-puppy : a chaque fois que le joueur sauve un chiot avec succeĢs, Monsieur Pervers n'est pas content et un message aleĢatoire (parmi une base de donneĢes de 75 messages) mesquin s'affiche a l'eĢcran en gras durant et disparaiĢt au bout de 15 secondes āŖš” Consider importing and using the following plugins: @upit/tween.v1
User prompt
Fait en sorte que le niveau maximal du jeu soit le niveau 200, et que le joueur recommence au niveau 1 une fois le niveau 200 atteint
User prompt
Ajoute une musique de fond en boucle au jeu
User prompt
De nouveaux chiots doivent eĢtre geĢneĢrer quand il y en a plus dans le jeu a l'eĢcran. et le nombre de chiots a sauveĢ commence par 3 au niveau 1 pour passer au niveau 2, puis double apreĢs a chaque nouveau niveau par rapport au niveau preĢceĢdent
Code edit (1 edits merged)
Please save this source code
User prompt
Hot-puppy
Initial prompt
CreĢer mon jeu "Hot-puppy", Un jeu dans lequel le joueur doit sauver des chiots, d'un fou nommeĢe monsieur Pervers qui veut les tuer pour les cuisiner et les manger! Monsieur pervers veut transformer les chiots en hot dogs et les servir en tant que plat dans son restaurant horrible, Le but du joueur est d'eĢviter cela, et sauver la vie des chiots Plus le joueur sauve de chiots, plus il gagne des points et monte en niveau Voici comment se preĢsente le jeu : Le jeu se deĢroule dans un restaurant (je mettrais un fond personnaliseĢ de restaurant, Merci de me laisser choisir mon assiette personnaliseĢ pour le fond du jeu), le jeu posseĢde 200 niveaux, le jeu se preĢsente ainsi : des chiots apparaissent aleĢatoirement a l'eĢcran (1 seul aĢ la fois si le joueur est de niveau infeĢrieur a 5, entre 2 et 5 en meĢme temps si le joueur est de niveau 5 a 10, et entre 5 et 10 a la fois si le joueur est de niveau supeĢrieur aĢ 10), De nouveaux chiots sont geĢneĢrer en jeu dans le restaurant, quand il y en a plus a l'eĢcran. une porte de sortie se situe en bas du jeu, Le joueur doit deĢplaceĢ chaque chiot un par un, vers la porte de sortie, quand le chiot entre en collision avec la porte de sortie, il disparaiĢt, et il est sauveĢ, Le joueur gagne 1 chiot sauveĢ dans son score de chiots sauveĢ du jeu, le joueur deĢplace chaque chiot en appuyant sur le chiot, et en utilisant des bouttons directionnels pour le deĢplacer, Le fou monsieur pervers est aussi preĢsent dans ce restaurant, il avance lentement, mais il est surtout occupeĢ aĢ faire cuire de la viande par-dessus une marmite (repreĢsente ça dans le jeu), il ne s'inteĢressera a un chiot, seulement aĢ partir du moment ouĢ le joueur a appuyeĢ dessus pour le deĢplacer, Il se dirigera alors doucement vers le chiot, Et il faudra que le joueur le fasse atteindre la porte de sortie avant que Monsieur pervers entre en collision avec le chiot, Sinon, le chiot disparaiĢt, et le fou la eut! Le joueur perd 1 chiot sauveĢ dans son score de chiots sauveĢ Le joueur doit avoir sauveĢ 3 chiots pour passer du niveau 1 au niveau 2, 6 chiots pour passer du niveau 2 au niveau 3, Et aĢ chaque nouveau niveau, le nombre de chiots a sauveĢ double par rapport au niveau preĢceĢdent pour monter au niveau supeĢrieur ! Le nom du fou est eĢcrit au-dessus de lui dans le jeu, et chaque chiot a un nom geĢneĢreĢ aleĢatoirement par le jeu parmi une base de donneĢes de 50 noms de chiots diffeĢrents, le nom de chaque chiot est eĢcrit en dessous de lui VoilaĢ!
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var DirectionalButton = Container.expand(function (direction) { var self = Container.call(this); var buttonGraphics = self.attachAsset(direction + 'button', { anchorX: 0.5, anchorY: 0.5 }); var buttonText = new Text2(direction.toUpperCase(), { size: 30, fill: 0x000000 }); buttonText.anchor.set(0.5, 0.5); self.addChild(buttonText); self.direction = direction; self.down = function (x, y, obj) { if (selectedPuppy && selectedPuppy.isSelected) { var moveDistance = 60; switch (self.direction) { case 'up': selectedPuppy.y -= moveDistance; break; case 'down': selectedPuppy.y += moveDistance; break; case 'left': selectedPuppy.x -= moveDistance; break; case 'right': selectedPuppy.x += moveDistance; break; } // Keep puppy within bounds selectedPuppy.x = Math.max(60, Math.min(1988, selectedPuppy.x)); selectedPuppy.y = Math.max(60, Math.min(2400, selectedPuppy.y)); } }; return self; }); var MrPervers = Container.expand(function () { var self = Container.call(this); var chefGraphics = self.attachAsset('mrpervers', { anchorX: 0.5, anchorY: 0.5 }); var nameText = new Text2('Mr. Pervers', { size: 50, fill: 0xFF0000 }); nameText.anchor.set(0.5, 0.5); nameText.y = -100; self.addChild(nameText); self.moveSpeed = 3; self.targetPuppy = null; self.lastTargetX = 0; self.lastTargetY = 0; self.update = function () { if (selectedPuppy && selectedPuppy.isSelected) { self.targetPuppy = selectedPuppy; } if (self.targetPuppy) { var dx = self.targetPuppy.x - self.x; var dy = self.targetPuppy.y - self.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance > self.moveSpeed) { self.x += dx / distance * self.moveSpeed; self.y += dy / distance * self.moveSpeed; } } }; return self; }); var Puppy = Container.expand(function () { var self = Container.call(this); var puppyGraphics = self.attachAsset('puppy', { anchorX: 0.5, anchorY: 0.5 }); var puppyNames = ['Buddy', 'Max', 'Bella', 'Charlie', 'Lucy', 'Cooper', 'Luna', 'Bailey', 'Daisy', 'Rocky', 'Molly', 'Jack', 'Lola', 'Duke', 'Sadie', 'Tucker', 'Chloe', 'Bear', 'Sophie', 'Teddy', 'Roxy', 'Buster', 'Coco', 'Gus', 'Penny', 'Oscar', 'Nala', 'Milo', 'Rosie', 'Leo', 'Zoey', 'Zeus', 'Lily', 'Finn', 'Ruby', 'Ollie', 'Stella', 'Jasper', 'Ellie', 'Murphy', 'Maggie', 'Toby', 'Gracie', 'Oliver', 'Abby', 'Winston', 'Zoe', 'Bentley', 'Mia', 'Harley']; self.name = puppyNames[Math.floor(Math.random() * puppyNames.length)]; self.isSelected = false; self.moveSpeed = 8; self.lastX = 0; self.lastY = 0; var nameText = new Text2(self.name, { size: 40, fill: 0x000000 }); nameText.anchor.set(0.5, 0.5); nameText.y = -80; self.addChild(nameText); self.down = function (x, y, obj) { selectedPuppy = self; for (var i = 0; i < puppies.length; i++) { puppies[i].isSelected = false; puppies[i].tint = 0xFFFFFF; } self.isSelected = true; self.tint = 0xFFFF00; }; self.moveTowards = function (targetX, targetY) { var dx = targetX - self.x; var dy = targetY - self.y; var distance = Math.sqrt(dx * dx + dy * dy); if (distance > self.moveSpeed) { self.x += dx / distance * self.moveSpeed; self.y += dy / distance * self.moveSpeed; } else { self.x = targetX; self.y = targetY; } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0xF5DEB3 }); /**** * Game Code ****/ // Game variables var currentLevel = storage.currentLevel || 1; var puppiesSaved = 0; var puppiesRequired = currentLevel === 1 ? 3 : Math.pow(2, currentLevel - 1) * 3; var puppies = []; var selectedPuppy = null; var mrPervers = null; var exitDoor = null; var pot = null; var upButton = null; var downButton = null; var leftButton = null; var rightButton = null; // UI elements var levelText = new Text2('Level: ' + currentLevel, { size: 60, fill: 0x000000 }); levelText.anchor.set(0, 0); levelText.x = 120; levelText.y = 50; LK.gui.topLeft.addChild(levelText); var savedText = new Text2('Saved: 0/' + puppiesRequired, { size: 60, fill: 0x000000 }); savedText.anchor.set(0.5, 0); savedText.x = 0; savedText.y = 50; LK.gui.top.addChild(savedText); var scoreText = new Text2('Score: ' + LK.getScore(), { size: 60, fill: 0x000000 }); scoreText.anchor.set(1, 0); scoreText.x = 0; scoreText.y = 50; LK.gui.topRight.addChild(scoreText); // Background var background = game.addChild(LK.getAsset('background', { anchorX: 0, anchorY: 0, x: 0, y: 0 })); // Exit door exitDoor = game.addChild(LK.getAsset('exitdoor', { anchorX: 0.5, anchorY: 1, x: 1024, y: 2700 })); var exitText = new Text2('EXIT', { size: 40, fill: 0xFFFFFF }); exitText.anchor.set(0.5, 0.5); exitText.y = -150; exitDoor.addChild(exitText); // Cooking pot pot = game.addChild(LK.getAsset('pot', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 400 })); // Mr. Pervers mrPervers = game.addChild(new MrPervers()); mrPervers.x = 1024; mrPervers.y = 500; // Directional buttons upButton = game.addChild(new DirectionalButton('up')); upButton.x = 1700; upButton.y = 2200; downButton = game.addChild(new DirectionalButton('down')); downButton.x = 1700; downButton.y = 2400; leftButton = game.addChild(new DirectionalButton('left')); leftButton.x = 1600; leftButton.y = 2300; rightButton = game.addChild(new DirectionalButton('right')); rightButton.x = 1800; rightButton.y = 2300; // Functions function spawnPuppies() { var numPuppies = 1; if (currentLevel >= 11) { numPuppies = Math.floor(Math.random() * 6) + 5; // 5-10 puppies } else if (currentLevel >= 5) { numPuppies = Math.floor(Math.random() * 4) + 2; // 2-5 puppies } for (var i = 0; i < numPuppies; i++) { var puppy = new Puppy(); puppy.x = Math.random() * 1500 + 300; puppy.y = Math.random() * 1000 + 800; puppy.lastX = puppy.x; puppy.lastY = puppy.y; puppies.push(puppy); game.addChild(puppy); } } function checkCollisions() { for (var i = puppies.length - 1; i >= 0; i--) { var puppy = puppies[i]; // Check if puppy reached exit if (puppy.intersects(exitDoor)) { puppiesSaved++; LK.setScore(LK.getScore() + 1); LK.getSound('puppysaved').play(); puppy.destroy(); puppies.splice(i, 1); if (selectedPuppy === puppy) { selectedPuppy = null; } updateUI(); if (puppiesSaved >= puppiesRequired) { nextLevel(); } continue; } // Check if puppy caught by Mr. Pervers if (puppy.intersects(mrPervers)) { LK.setScore(LK.getScore() - 1); LK.getSound('puppycaught').play(); puppy.destroy(); puppies.splice(i, 1); if (selectedPuppy === puppy) { selectedPuppy = null; } updateUI(); if (puppies.length === 0 && puppiesSaved < puppiesRequired) { LK.showGameOver(); } } } } function updateUI() { savedText.setText('Saved: ' + puppiesSaved + '/' + puppiesRequired); scoreText.setText('Score: ' + LK.getScore()); } function nextLevel() { currentLevel++; storage.currentLevel = currentLevel; puppiesSaved = 0; puppiesRequired = currentLevel === 1 ? 3 : Math.pow(2, currentLevel - 1) * 3; // Clear existing puppies for (var i = 0; i < puppies.length; i++) { puppies[i].destroy(); } puppies = []; selectedPuppy = null; // Reset Mr. Pervers position mrPervers.x = 1024; mrPervers.y = 500; mrPervers.targetPuppy = null; // Update UI levelText.setText('Level: ' + currentLevel); updateUI(); // Spawn new puppies spawnPuppies(); if (currentLevel > 200) { LK.showYouWin(); } } // Initialize first level spawnPuppies(); game.update = function () { checkCollisions(); // Spawn new puppies if screen is empty and we haven't completed the level if (puppies.length === 0 && puppiesSaved < puppiesRequired) { spawnPuppies(); } };
===================================================================
--- original.js
+++ change.js
@@ -132,9 +132,9 @@
****/
// Game variables
var currentLevel = storage.currentLevel || 1;
var puppiesSaved = 0;
-var puppiesRequired = Math.pow(2, currentLevel) * 3;
+var puppiesRequired = currentLevel === 1 ? 3 : Math.pow(2, currentLevel - 1) * 3;
var puppies = [];
var selectedPuppy = null;
var mrPervers = null;
var exitDoor = null;
@@ -273,9 +273,9 @@
function nextLevel() {
currentLevel++;
storage.currentLevel = currentLevel;
puppiesSaved = 0;
- puppiesRequired = Math.pow(2, currentLevel) * 3;
+ puppiesRequired = currentLevel === 1 ? 3 : Math.pow(2, currentLevel - 1) * 3;
// Clear existing puppies
for (var i = 0; i < puppies.length; i++) {
puppies[i].destroy();
}
@@ -297,5 +297,9 @@
// Initialize first level
spawnPuppies();
game.update = function () {
checkCollisions();
+ // Spawn new puppies if screen is empty and we haven't completed the level
+ if (puppies.length === 0 && puppiesSaved < puppiesRequired) {
+ spawnPuppies();
+ }
};
\ No newline at end of file
Fond d'eĢcran restaurant. In-Game asset. 2d. High contrast. No shadows
Porte de sortie. In-Game asset. 2d. High contrast. No shadows
Cuisiniere. In-Game asset. 2d. High contrast. No shadows
Homme bizzare. In-Game asset. 2d. High contrast. No shadows
Chiot (animal). In-Game asset. 2d. High contrast. No shadows
Petite fille de 10 ans. In-Game asset. 2d. High contrast. No shadows
Petit garçon de 12 ans. In-Game asset. 2d. High contrast. No shadows
Chiot fantoĢme (animal). In-Game asset. 2d. High contrast. No shadows
Chiot dragon (animal). In-Game asset. 2d. High contrast. No shadows
Chiot doreĢe (animal). In-Game asset. 2d. High contrast. No shadows
Chiot vampire. In-Game asset. 2d. High contrast. No shadows
Chiot sireĢne. In-Game asset. 2d. High contrast. No shadows
fond mignon kawaii rose. In-Game asset. 2d. High contrast. No shadows