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, là il n'y a que les légendaires ! Chaque type de chiots (fantômes, sirè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 légendaires ! Corrigé ç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
Corrigé les problèmes
User prompt
Ajoute ces nouveautés a Hot-puppy : en plus, des chiots normaux, Le joueur peut acheter différents types supplémentaires de chiots (coût en SM) qui ont chacun leurs spécialités, les voici: 1) Chiots fantômes : le joueur peut en acheter 1 a 5 maximum par achat s'il est niveau inférieur a 10, Et de 1 jusqu'à 13 par achat s'il est niveau supérieur a 10, Les chiots fantômes sont simplement des chiots ignoré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 à la porte de la sortie, et gagner des chiens sauvés dans son score,! Le système des âges s'applique aux chiots fantômes, (Coû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 à 6 par achat s'il est de niveau inférieur à 20, et jusqu'à 15 par achat s'il est niveau supé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 même façon que les chiots normaux! les chiots dragons comptent triple quand le joueur les sauve! Le système d'âge ne s'applique pas aux chiots dragons (Coûte 15 SM par achat) 3) Chiots Sirè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 inférieur a 30, et jusqu'à 20 par achat s'il est niveau 30 au supérieur! Les chiots sirènes ne sont attrapables seulement par Gabriel, Monsieur pervers les ignore totalement, Et les chiots sirènes comptent quadruples quand le joueur les sauve! Le système d'âge ne s'applique pas aux chiots sirènes (coute 25 SM par achat) 4) Chiots Vampires : le joueur peut en acheter seulement à partir du niveau 15! le joueur peut en acheter de 1 a 9 par achat s'il est niveau inférieur a 40, et jusqu'à 25 s'il est niveau 40 au Supé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 coûtent Cinquple lors de leur sauvetage ! Le système des âges ne s'applique pas aux chiots vampires (Coûte 50 SM par achat) 5) Chiots légendaires : disponible seulement pour les joueurs avances à partir du niveau 90! le joueur peut en acheter de 1 à 3 par achat s'il est niveau 90 a 150, Et jusqu'à 7 par achat s'il est niveau supérieur a 150 , jusqu'à la niveau maximal du jeu : le niveau 200! les chiots légendaires, ont tout les pouvoirs, ils sont ignorés par Monsieur pervers et Gabriel, les endorment pendant 10 minutes (que ce soit monsieur pervers ou même Gabriel), dè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! (Coûte 1000 SM par achat) Le joueur peut acheter des chiots spé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 grisé, sur lequels le joueur ne peut pas appuyer ni sélectionner pour acheter), Le joueur appuie donc sur le type de chiots spéciaux qu'ils veut acheter, Et le jeu lui demande via un écran qui s'affiche combien il veut en acheter, Il y a donc un keyboard simple bleu avec des touches qui représentent chaque chiffre, Pour que le joueur entre un chiffre et valide en appuyant sur valider! Les chiots spéciaux du type acheter ,et le nombre de chiots acheter apparaissent donc dans le jeu jusqu'à leur sauvetage ! ↪💡 Consider importing and using the following plugins: @upit/storage.v1, @upit/tween.v1
User prompt
Ajoute un système d'âge pour les chiots dans Hot-puppy : Chaque chiot a un âge aléatoire (entre 1 mois minimum et jusqu'à 20 mois maximum), l'âge de chaque chiot est écrit à côté de son nom au-dessus de sa tête, L'âge de chaque chiot ajoute une straté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 compétences spé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 précieux, Lors de leur sauvetage ils comptent comme 2 chiots sauvé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 nouveauté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 père (monsieur pervers), Eva, a le pouvoir d'invoquer Samantha, sans que le joueur est a l'invoquer lui même avec ses SM! Eva ne peut apparaître dans le jeu, seulement quand le joueur est niveau 5 au supérieur, Eva a 50% de chance d'apparaître tout les 6 chiots sauvé, Mais seulement si Samantha n'est pas déjà présente, Eva apparaît à l'écran, puis a une de chance d'invoquer Samantha, qui apparaît et endort monsieur pervers gratuitement sans que le joueur n'est a dépense des SMS, Mais Eva n'apparaît pas à chaque fois! Et même quand elle n'apparaît, la décision selon laquelle elle va invoquer Samantha ou non est aléatoire ! elle disparaî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, frère de Samantha) : Gabriel, contrairement a Samantha ou Eva, N'est pas un allié du joueur, mais un allié de Monsieur pervers !! Il est d'accord avec le business de son pè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 sauvé, Mais gabriel ne lui répond pas toujours, La décision selon laquelle Gabriel lui répond ou non, est aléatoire, Mais si Monsieur pervers réussit a invoquer son fils, il apparaît dans le jeu, et aide son père, Ça signifie, qu'il poursuit lui aussi les chiots pour les attraper, il est encore plus dangereux que son père, car Gabriel peut attraper les chiots avant même que le joueur n'appuie sur eux! La diffé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 attrapé - Lucie (11 ans, autre sœur de Samantha) : Lucie est assez neutre par rapport a tout ça, Mais elle dé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 apparaît dans le jeu toutes les 2 invocations de Samantha, Elle apparaît à l'écran durant 20 secondes, puis baisse le prix des SM requis a l'invocation de samantha de 60% durant 2 minutes ! Aprè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 alliée du joueur dans le jeu, elle n'est pas d'accord avec le business tordu de son père, Et essaye d'aider le joueur, Mais attention, elle n'apparaît seulement quand certaines conditions sont remplis : - ajoute une monnaie du jeu : Les SM permettent d'invoquer Samantha, Pour invoquer Samantha , cela coûte 5 SM la premiè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, même après un game over, le joueur peut voir son nombre de SM posséder dans son ui a l'écran dans le jeu, pour invoquer Samantha, Le joueur appuie sur un bouton rose a texte blanc : "Invoque Sam", et Samantha apparaît a l'é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 là, Puis, durant le temps écoulé, Samantha disparaît, et monsieur pervers se ré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 mé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 succès, Monsieur Pervers n'est pas content et un message aléatoire (parmi une base de données de 75 messages) mesquin s'affiche a l'écran en gras durant et disparaî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 être générer quand il y en a plus dans le jeu a l'écran. et le nombre de chiots a sauvé commence par 3 au niveau 1 pour passer au niveau 2, puis double après a chaque nouveau niveau par rapport au niveau précédent
Code edit (1 edits merged)
Please save this source code
User prompt
Hot-puppy
Initial prompt
Créer mon jeu "Hot-puppy", Un jeu dans lequel le joueur doit sauver des chiots, d'un fou nommé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'é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 présente le jeu : Le jeu se déroule dans un restaurant (je mettrais un fond personnalisé de restaurant, Merci de me laisser choisir mon assiette personnalisé pour le fond du jeu), le jeu possède 200 niveaux, le jeu se présente ainsi : des chiots apparaissent aléatoirement a l'écran (1 seul à la fois si le joueur est de niveau inférieur a 5, entre 2 et 5 en mê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 supérieur à 10), De nouveaux chiots sont générer en jeu dans le restaurant, quand il y en a plus a l'écran. une porte de sortie se situe en bas du jeu, Le joueur doit déplacé chaque chiot un par un, vers la porte de sortie, quand le chiot entre en collision avec la porte de sortie, il disparaît, et il est sauvé, Le joueur gagne 1 chiot sauvé dans son score de chiots sauvé du jeu, le joueur déplace chaque chiot en appuyant sur le chiot, et en utilisant des bouttons directionnels pour le déplacer, Le fou monsieur pervers est aussi présent dans ce restaurant, il avance lentement, mais il est surtout occupé à faire cuire de la viande par-dessus une marmite (représente ça dans le jeu), il ne s'intéressera a un chiot, seulement à partir du moment où le joueur a appuyé dessus pour le dé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 disparaît, et le fou la eut! Le joueur perd 1 chiot sauvé dans son score de chiots sauvé Le joueur doit avoir sauvé 3 chiots pour passer du niveau 1 au niveau 2, 6 chiots pour passer du niveau 2 au niveau 3, Et à chaque nouveau niveau, le nombre de chiots a sauvé double par rapport au niveau précédent pour monter au niveau supérieur ! Le nom du fou est écrit au-dessus de lui dans le jeu, et chaque chiot a un nom généré aléatoirement par le jeu parmi une base de données de 50 noms de chiots différents, le nom de chaque chiot est écrit en dessous de lui Voilà!
/**** * 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; // Mr. Pervers mean messages var perversMessages = ["NON! Mes délicieux hot dogs!", "Reviens ici, petit mordu!", "Tu ruines mon business!", "Ces chiots sont MIENS!", "Argh! Ma recette secrète!", "Tu ne m'arrêteras pas!", "Mes hot dogs parfaits!", "Sale petit perturbateur!", "Mon restaurant va échouer!", "Ces chiots seront cuits!", "Tu ne comprends rien!", "Ma cuisine est parfaite!", "Laisse-moi tranquille!", "Mon menu spécial!", "Tu gâches tout!", "Mes clients adorent mes hot dogs!", "C'est MON restaurant!", "Tu ne peux pas m'arrêter!", "Ma marmite bouillonne!", "Ces chiots sont destinés à être cuits!", "Tu interfères avec mon art!", "Ma cuisine est légendaire!", "Personne ne résiste à mes hot dogs!", "Tu es un trouble-fête!", "Mon empire culinaire!", "Ces chiots sont des ingrédients!", "Ma passion pour la cuisine!", "Tu détruis mes rêves!", "Mon chef-d'œuvre!", "Sale saboteur!", "Tu ne connais rien à la gastronomie!", "Mes hot dogs sont une œuvre d'art!", "Tu ruines ma réputation!", "Mon restaurant étoilé!", "Ces chiots seront délicieux!", "Tu n'as aucun goût!", "Ma recette ancestrale!", "Tu es un ennemi de la cuisine!", "Mon génie culinaire!", "Ces chiots parfaits pour mes hot dogs!", "Tu ne respectes pas la tradition!", "Ma marmite magique!", "Tu déranges mes plans!", "Mon restaurant sera célèbre!", "Ces chiots sont mon inspiration!", "Tu ne comprends pas l'art!", "Ma cuisine révolutionnaire!", "Tu gâches ma journée!", "Mon talent unique!", "Ces chiots sont ma fortune!", "Tu ne m'empêcheras pas!", "Ma passion dévorante!", "Tu ruines mon héritage!", "Mon don pour la cuisine!", "Ces chiots sont mon avenir!", "Tu es un vandale!", "Ma créativité culinaire!", "Tu détruis mes espoirs!", "Mon rêve de chef!", "Ces chiots sont ma destinée!", "Tu ne respectes rien!", "Ma vision gastronomique!", "Tu sabotes mon travail!", "Mon art de vivre!", "Ces chiots sont ma vie!", "Tu es un destructeur!", "Ma philosophie culinaire!", "Tu anéantis mes efforts!", "Mon héritage familial!", "Ces chiots sont mon trésor!", "Tu ne mérites pas de comprendre!", "Ma technique parfaite!", "Tu ruines tout ce que j'aime!", "Mon excellence culinaire!", "Ces chiots sont mon destin!"]; var messageText = 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(); // Show Mr. Pervers angry message showPerversMessage(); 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 showPerversMessage() { // Remove existing message if any if (messageText) { messageText.destroy(); messageText = null; } // Get random message var randomMessage = perversMessages[Math.floor(Math.random() * perversMessages.length)]; // Create message text messageText = new Text2(randomMessage, { size: 80, fill: 0xFF0000 }); messageText.anchor.set(0.5, 0.5); messageText.x = 1024; messageText.y = 1200; messageText.alpha = 1; // Add to game game.addChild(messageText); // Animate message appearing with scale and fade tween(messageText, { scaleX: 1.2, scaleY: 1.2 }, { duration: 300, easing: tween.bounceOut }); // Fade out and remove after 15 seconds LK.setTimeout(function () { if (messageText) { tween(messageText, { alpha: 0 }, { duration: 1000, easing: tween.easeOut, onFinish: function onFinish() { if (messageText) { messageText.destroy(); messageText = null; } } }); } }, 15000); } function nextLevel() { currentLevel++; // Reset to level 1 if we've completed level 200 if (currentLevel > 200) { currentLevel = 1; } 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(); } // Initialize first level spawnPuppies(); // Start background music LK.playMusic('bgmusic'); 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
@@ -142,8 +142,11 @@
var upButton = null;
var downButton = null;
var leftButton = null;
var rightButton = null;
+// Mr. Pervers mean messages
+var perversMessages = ["NON! Mes délicieux hot dogs!", "Reviens ici, petit mordu!", "Tu ruines mon business!", "Ces chiots sont MIENS!", "Argh! Ma recette secrète!", "Tu ne m'arrêteras pas!", "Mes hot dogs parfaits!", "Sale petit perturbateur!", "Mon restaurant va échouer!", "Ces chiots seront cuits!", "Tu ne comprends rien!", "Ma cuisine est parfaite!", "Laisse-moi tranquille!", "Mon menu spécial!", "Tu gâches tout!", "Mes clients adorent mes hot dogs!", "C'est MON restaurant!", "Tu ne peux pas m'arrêter!", "Ma marmite bouillonne!", "Ces chiots sont destinés à être cuits!", "Tu interfères avec mon art!", "Ma cuisine est légendaire!", "Personne ne résiste à mes hot dogs!", "Tu es un trouble-fête!", "Mon empire culinaire!", "Ces chiots sont des ingrédients!", "Ma passion pour la cuisine!", "Tu détruis mes rêves!", "Mon chef-d'œuvre!", "Sale saboteur!", "Tu ne connais rien à la gastronomie!", "Mes hot dogs sont une œuvre d'art!", "Tu ruines ma réputation!", "Mon restaurant étoilé!", "Ces chiots seront délicieux!", "Tu n'as aucun goût!", "Ma recette ancestrale!", "Tu es un ennemi de la cuisine!", "Mon génie culinaire!", "Ces chiots parfaits pour mes hot dogs!", "Tu ne respectes pas la tradition!", "Ma marmite magique!", "Tu déranges mes plans!", "Mon restaurant sera célèbre!", "Ces chiots sont mon inspiration!", "Tu ne comprends pas l'art!", "Ma cuisine révolutionnaire!", "Tu gâches ma journée!", "Mon talent unique!", "Ces chiots sont ma fortune!", "Tu ne m'empêcheras pas!", "Ma passion dévorante!", "Tu ruines mon héritage!", "Mon don pour la cuisine!", "Ces chiots sont mon avenir!", "Tu es un vandale!", "Ma créativité culinaire!", "Tu détruis mes espoirs!", "Mon rêve de chef!", "Ces chiots sont ma destinée!", "Tu ne respectes rien!", "Ma vision gastronomique!", "Tu sabotes mon travail!", "Mon art de vivre!", "Ces chiots sont ma vie!", "Tu es un destructeur!", "Ma philosophie culinaire!", "Tu anéantis mes efforts!", "Mon héritage familial!", "Ces chiots sont mon trésor!", "Tu ne mérites pas de comprendre!", "Ma technique parfaite!", "Tu ruines tout ce que j'aime!", "Mon excellence culinaire!", "Ces chiots sont mon destin!"];
+var messageText = null;
// UI elements
var levelText = new Text2('Level: ' + currentLevel, {
size: 60,
fill: 0x000000
@@ -238,8 +241,10 @@
if (puppy.intersects(exitDoor)) {
puppiesSaved++;
LK.setScore(LK.getScore() + 1);
LK.getSound('puppysaved').play();
+ // Show Mr. Pervers angry message
+ showPerversMessage();
puppy.destroy();
puppies.splice(i, 1);
if (selectedPuppy === puppy) {
selectedPuppy = null;
@@ -269,8 +274,53 @@
function updateUI() {
savedText.setText('Saved: ' + puppiesSaved + '/' + puppiesRequired);
scoreText.setText('Score: ' + LK.getScore());
}
+function showPerversMessage() {
+ // Remove existing message if any
+ if (messageText) {
+ messageText.destroy();
+ messageText = null;
+ }
+ // Get random message
+ var randomMessage = perversMessages[Math.floor(Math.random() * perversMessages.length)];
+ // Create message text
+ messageText = new Text2(randomMessage, {
+ size: 80,
+ fill: 0xFF0000
+ });
+ messageText.anchor.set(0.5, 0.5);
+ messageText.x = 1024;
+ messageText.y = 1200;
+ messageText.alpha = 1;
+ // Add to game
+ game.addChild(messageText);
+ // Animate message appearing with scale and fade
+ tween(messageText, {
+ scaleX: 1.2,
+ scaleY: 1.2
+ }, {
+ duration: 300,
+ easing: tween.bounceOut
+ });
+ // Fade out and remove after 15 seconds
+ LK.setTimeout(function () {
+ if (messageText) {
+ tween(messageText, {
+ alpha: 0
+ }, {
+ duration: 1000,
+ easing: tween.easeOut,
+ onFinish: function onFinish() {
+ if (messageText) {
+ messageText.destroy();
+ messageText = null;
+ }
+ }
+ });
+ }
+ }, 15000);
+}
function nextLevel() {
currentLevel++;
// Reset to level 1 if we've completed level 200
if (currentLevel > 200) {
Fond d'é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 fantôme (animal). In-Game asset. 2d. High contrast. No shadows
Chiot dragon (animal). In-Game asset. 2d. High contrast. No shadows
Chiot dorée (animal). In-Game asset. 2d. High contrast. No shadows
Chiot vampire. In-Game asset. 2d. High contrast. No shadows
Chiot sirène. In-Game asset. 2d. High contrast. No shadows
fond mignon kawaii rose. In-Game asset. 2d. High contrast. No shadows