Code edit (9 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: easeOutElastic is not defined' in this line: 'var newPos = easeOutElastic(currentTime, start, delta, duration);' Line Number: 69
User prompt
the elastic tween should have both easein and easeout
User prompt
cookie flying should be an elastic tween
User prompt
each spawned cookie should fly to a random positionon top half of screen
Code edit (5 edits merged)
Please save this source code
User prompt
when player clicks on a bowl that has both sugar, egg, and butter, create a cookie
Code edit (3 edits merged)
Please save this source code
User prompt
Fix Bug: 'TypeError: self.unpack is not a function' in this line: 'self.unpack();' Line Number: 63
Code edit (1 edits merged)
Please save this source code
Code edit (7 edits merged)
Please save this source code
User prompt
Fix Bug: 'TypeError: Cannot read properties of undefined (reading 'x')' in this line: 'self.x = bowl.x + bowl.width / 2;' Line Number: 30
Code edit (3 edits merged)
Please save this source code
User prompt
all eggs should spawn at x 200 to 1800
User prompt
all butters should spawn at x 200 to 1800
Code edit (1 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: sugars is not defined' in this line: 'var bowlIndex = sugars.indexOf(self);' Line Number: 27
Code edit (1 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: sugars is not defined' in this line: 'var bowlIndex = sugars.indexOf(self);' Line Number: 27
User prompt
Fix Bug: 'ReferenceError: sugars is not defined' in this line: 'var bowlIndex = sugars.indexOf(self);' Line Number: 27
User prompt
Fix Bug: 'ReferenceError: sugars is not defined' in this line: 'var bowlIndex = sugars.indexOf(self);' Line Number: 27
Code edit (1 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: sugars is not defined' in this line: 'var bowlIndex = sugars.indexOf(self);' Line Number: 27
Code edit (1 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: sugars is not defined' in this line: 'var bowlIndex = sugars.indexOf(self);' Line Number: 27
var Bowl = Container.expand(function () { var self = Container.call(this); var bowlGraphics = self.createAsset('bowl', 'Bowl Graphics', 0, 1); self.x = 0; self.y = 2732 - bowlGraphics.height; self.height = bowlGraphics.height; self.containsPoint = function (point) { return point.x >= this.x && point.x <= this.x + this.width && point.y >= this.y - 300 && point.y <= this.y + this.height; }; self.hasEgg = false; self.hasSugar = false; self.hasButter = false; }); var Egg = Container.expand(function () { var self = Container.call(this); var eggGraphics = self.createAsset('egg', 'Egg Graphics', .5, .5); self.containsPoint = function (point) { return point.x >= this.x - this.width / 2 && point.x <= this.x + this.width / 2 && point.y >= this.y - this.height / 2 && point.y <= this.y + this.height / 2; }; self.crack = function () { var crackedEggGraphics = self.createAsset('cracked_egg', 'Cracked Egg Graphics', .5, .5); self.removeChild(eggGraphics); self.addChild(crackedEggGraphics); }; }); var Sugar = Container.expand(function () { var self = Container.call(this); var sugarGraphics = self.createAsset('sugar', 'Sugar Graphics', .5, .5); self.containsPoint = function (point) { return point.x >= this.x - this.width / 2 && point.x <= this.x + this.width / 2 && point.y >= this.y - this.height / 2 && point.y <= this.y + this.height / 2; }; self.pour = function (bowl) { var pouredSugarGraphics = self.createAsset('poured_sugar', 'Poured Sugar Graphics', .5, .5); self.removeChild(sugarGraphics); self.addChild(pouredSugarGraphics); }; }); var Butter = Container.expand(function () { var self = Container.call(this); var butterGraphics = self.createAsset('butter', 'Butter Graphics', .5, .5); self.containsPoint = function (point) { return point.x >= this.x - this.width / 2 && point.x <= this.x + this.width / 2 && point.y >= this.y - this.height / 2 && point.y <= this.y + this.height / 2; }; self.unpack = function (bowl) { var unpackedButterGraphics = self.createAsset('unpacked_butter', 'Unpacked Butter Graphics', .5, .5); self.removeChild(butterGraphics); self.addChild(unpackedButterGraphics); }; }); var Cookie = Container.expand(function () { var self = Container.call(this); var cookieGraphics = self.createAsset('cookie', 'Cookie Graphics', .5, .5); self.bake = function () {}; self.flyToRandomPosition = function () { var randomX = Math.random() * 2048; var randomY = Math.random() * (2732 / 2); self.elasticTween = function (start, end, duration, callback) { var delta = end - start; var startTime = LK.ticks; function easeInOutElastic(t, b, c, d) { t /= d / 2; if (t < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b; t--; return c / 2 * (-Math.pow(2, -10 * t) + 2) + b; } LK.on('tick', function () { var currentTime = LK.ticks - startTime; if (currentTime < duration) { var newPos = easeInOutElastic(currentTime, start, delta, duration); callback(newPos); } else { callback(end); LK.off('tick', this); } }); }; self.elasticTween(self.y, randomY, 120, function (newY) { self.y = newY; }); self.elasticTween(self.x, randomX, 120, function (newX) { self.x = newX; }); }; }); var Game = Container.expand(function () { var self = Container.call(this); stage.on('down', function (obj) { var pos = obj.event.getLocalPosition(self); bowls.forEach(function (bowl, index) { if (bowl.containsPoint(pos) && bowl.hasEgg && bowl.hasSugar && bowl.hasButter) { var cookie = new Cookie(); cookie.bake(); cookie.x = bowl.x + bowl.width / 2; cookie.y = bowl.y - cookie.height / 2; self.addChild(cookie); cookies.push(cookie); cookie.flyToRandomPosition(); } }); eggs.forEach(function (egg, index) { if (egg.containsPoint(pos)) { egg.crack(); var targetBowl = bowls[index % bowls.length]; egg.x = targetBowl.x + targetBowl.width / 2 + 60; egg.y = targetBowl.y - egg.height - 50; targetBowl.hasEgg = true; } }); butters.forEach(function (butter, index) { if (butter.containsPoint(pos)) { var targetBowl = bowls[index % bowls.length]; butter.unpack(targetBowl); butter.x = targetBowl.x + targetBowl.width / 2 - 60; butter.y = targetBowl.y - butter.height - 50; targetBowl.hasButter = true; } }); sugars.forEach(function (sugar, index) { if (sugar.containsPoint(pos)) { var targetBowl = bowls[index % bowls.length]; sugar.pour(); sugar.x = targetBowl.x + targetBowl.width / 2; sugar.y = targetBowl.y - sugar.height; targetBowl.hasSugar = true; } }); }); var bowls = []; var sugars = []; var eggs = []; var butters = []; var cookies = []; for (var i = 0; i < 8; i++) { var bowl = new Bowl(); bowl.x = i * (bowl.width + 10); bowls.push(bowl); self.addChild(bowl); var sugar = new Sugar(); sugar.x = 200 + Math.random() * 1600; sugar.y = 200 + Math.random() * 2032; sugars.push(sugar); self.addChild(sugar); var butter = new Butter(); butter.x = 200 + Math.random() * 1600; butter.y = 200 + Math.random() * 2032; butters.push(butter); self.addChild(butter); var egg = new Egg(); egg.x = 200 + Math.random() * 1600; egg.y = 200 + Math.random() * 2032; eggs.push(egg); self.addChild(egg); } for (var i = 0; i < 8; i++) {} LK.on('tick', function () {}); Game.prototype.startGame = function () {}; stage.on('move', function (obj) {}); stage.on('up', function (obj) {}); });
===================================================================
--- original.js
+++ change.js
@@ -65,9 +65,9 @@
}
LK.on('tick', function () {
var currentTime = LK.ticks - startTime;
if (currentTime < duration) {
- var newPos = easeOutElastic(currentTime, start, delta, duration);
+ var newPos = easeInOutElastic(currentTime, start, delta, duration);
callback(newPos);
} else {
callback(end);
LK.off('tick', this);
egg. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
sugar in a bag. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a butter stik in its wrapper. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a pink kithen bowl. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pile of sugar. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
cracked egg white and yolk seeping. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
soft butter stick. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A delicious plain vanilla cookie. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A delicious plain vanilla cookie, where three bites have been taken. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A cute kawaian bakery interior with strawberry tiles. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A cute girl happily eating way too many vanilla cookies. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.