Code edit (1 edits merged)
Please save this source code
User prompt
Tidy Up Time
Initial prompt
Toca tidy up (2004). The powerpuff girls’s bedroom is full of 6 toys. Use your finger to drag and drop the toy frog, or the toy Violet cat, or the monkey toy, or a toy dinosaur, or a plate of jelly, or a maraca into the toy basket. Tap the red toy basket jump to make 6 toys go all over the floor again.
/**** 
* Plugins
****/ 
var tween = LK.import("@upit/tween.v1");
/**** 
* Classes
****/ 
var Toy = Container.expand(function (toyType, startX, startY) {
	var self = Container.call(this);
	self.toyType = toyType;
	self.isCollected = false;
	self.startX = startX;
	self.startY = startY;
	var toyGraphics = self.attachAsset(toyType, {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.x = startX;
	self.y = startY;
	self.down = function (x, y, obj) {
		if (!self.isCollected) {
			dragToy = self;
			self.alpha = 0.8;
			tween(self, {
				scaleX: 1.1,
				scaleY: 1.1
			}, {
				duration: 100
			});
		}
	};
	self.collectToy = function () {
		self.isCollected = true;
		self.alpha = 0;
		toysCollected++;
		LK.getSound('collect').play();
		tween(self, {
			scaleX: 1.5,
			scaleY: 1.5
		}, {
			duration: 200
		});
		if (toysCollected >= 6) {
			allToysCollected = true;
		}
	};
	self.resetToy = function (newX, newY) {
		self.isCollected = false;
		self.alpha = 1;
		self.scaleX = 1;
		self.scaleY = 1;
		self.x = newX;
		self.y = newY;
		self.startX = newX;
		self.startY = newY;
	};
	return self;
});
var ToyBasket = Container.expand(function () {
	var self = Container.call(this);
	var basketGraphics = self.attachAsset('toyBasket', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.x = 1024;
	self.y = 1800;
	self.down = function (x, y, obj) {
		if (allToysCollected) {
			self.scatterToys();
		}
	};
	self.scatterToys = function () {
		LK.getSound('scatter').play();
		tween(self, {
			scaleX: 1.2,
			scaleY: 0.8
		}, {
			duration: 150,
			onFinish: function onFinish() {
				tween(self, {
					scaleX: 1,
					scaleY: 1
				}, {
					duration: 150
				});
			}
		});
		for (var i = 0; i < toys.length; i++) {
			var toy = toys[i];
			var newX = 200 + Math.random() * 1600;
			var newY = 800 + Math.random() * 800;
			toy.resetToy(newX, newY);
		}
		toysCollected = 0;
		allToysCollected = false;
	};
	return self;
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0xffffff
});
/**** 
* Game Code
****/ 
game.setBackgroundColor(0xffe6f2);
var toys = [];
var toyBasket;
var dragToy = null;
var toysCollected = 0;
var allToysCollected = false;
var toyTypes = ['frog', 'cat', 'monkey', 'dinosaur', 'jelly', 'maraca'];
var toyPositions = [{
	x: 300,
	y: 1000
}, {
	x: 800,
	y: 1200
}, {
	x: 1500,
	y: 900
}, {
	x: 400,
	y: 1600
}, {
	x: 1200,
	y: 1400
}, {
	x: 1700,
	y: 1100
}];
for (var i = 0; i < toyTypes.length; i++) {
	var toy = new Toy(toyTypes[i], toyPositions[i].x, toyPositions[i].y);
	toys.push(toy);
	game.addChild(toy);
}
toyBasket = new ToyBasket();
game.addChild(toyBasket);
var titleText = new Text2('Tidy Up Time!', {
	size: 80,
	fill: 0xFF3366
});
titleText.anchor.set(0.5, 0);
LK.gui.top.addChild(titleText);
titleText.y = 100;
var instructionText = new Text2('Drag toys to the red basket!', {
	size: 50,
	fill: 0x666666
});
instructionText.anchor.set(0.5, 0);
LK.gui.top.addChild(instructionText);
instructionText.y = 200;
var completedText = new Text2('Tap the basket to scatter toys!', {
	size: 60,
	fill: 0x44AA44
});
completedText.anchor.set(0.5, 1);
completedText.alpha = 0;
LK.gui.bottom.addChild(completedText);
completedText.y = -100;
function handleMove(x, y, obj) {
	if (dragToy) {
		dragToy.x = x;
		dragToy.y = y;
	}
}
game.move = handleMove;
game.up = function (x, y, obj) {
	if (dragToy) {
		var distance = Math.sqrt(Math.pow(dragToy.x - toyBasket.x, 2) + Math.pow(dragToy.y - toyBasket.y, 2));
		if (distance < 200) {
			dragToy.collectToy();
		} else {
			tween(dragToy, {
				x: dragToy.startX,
				y: dragToy.startY
			}, {
				duration: 300
			});
		}
		tween(dragToy, {
			scaleX: 1,
			scaleY: 1
		}, {
			duration: 200
		});
		dragToy.alpha = 1;
		dragToy = null;
	}
};
game.update = function () {
	if (allToysCollected) {
		if (completedText.alpha < 1) {
			completedText.alpha += 0.02;
		}
		instructionText.alpha = Math.max(0, instructionText.alpha - 0.02);
	} else {
		if (completedText.alpha > 0) {
			completedText.alpha -= 0.02;
		}
		if (instructionText.alpha < 1) {
			instructionText.alpha += 0.02;
		}
	}
}; ===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,210 @@
-/****
+/**** 
+* Plugins
+****/ 
+var tween = LK.import("@upit/tween.v1");
+
+/**** 
+* Classes
+****/ 
+var Toy = Container.expand(function (toyType, startX, startY) {
+	var self = Container.call(this);
+	self.toyType = toyType;
+	self.isCollected = false;
+	self.startX = startX;
+	self.startY = startY;
+	var toyGraphics = self.attachAsset(toyType, {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	self.x = startX;
+	self.y = startY;
+	self.down = function (x, y, obj) {
+		if (!self.isCollected) {
+			dragToy = self;
+			self.alpha = 0.8;
+			tween(self, {
+				scaleX: 1.1,
+				scaleY: 1.1
+			}, {
+				duration: 100
+			});
+		}
+	};
+	self.collectToy = function () {
+		self.isCollected = true;
+		self.alpha = 0;
+		toysCollected++;
+		LK.getSound('collect').play();
+		tween(self, {
+			scaleX: 1.5,
+			scaleY: 1.5
+		}, {
+			duration: 200
+		});
+		if (toysCollected >= 6) {
+			allToysCollected = true;
+		}
+	};
+	self.resetToy = function (newX, newY) {
+		self.isCollected = false;
+		self.alpha = 1;
+		self.scaleX = 1;
+		self.scaleY = 1;
+		self.x = newX;
+		self.y = newY;
+		self.startX = newX;
+		self.startY = newY;
+	};
+	return self;
+});
+var ToyBasket = Container.expand(function () {
+	var self = Container.call(this);
+	var basketGraphics = self.attachAsset('toyBasket', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	self.x = 1024;
+	self.y = 1800;
+	self.down = function (x, y, obj) {
+		if (allToysCollected) {
+			self.scatterToys();
+		}
+	};
+	self.scatterToys = function () {
+		LK.getSound('scatter').play();
+		tween(self, {
+			scaleX: 1.2,
+			scaleY: 0.8
+		}, {
+			duration: 150,
+			onFinish: function onFinish() {
+				tween(self, {
+					scaleX: 1,
+					scaleY: 1
+				}, {
+					duration: 150
+				});
+			}
+		});
+		for (var i = 0; i < toys.length; i++) {
+			var toy = toys[i];
+			var newX = 200 + Math.random() * 1600;
+			var newY = 800 + Math.random() * 800;
+			toy.resetToy(newX, newY);
+		}
+		toysCollected = 0;
+		allToysCollected = false;
+	};
+	return self;
+});
+
+/**** 
 * Initialize Game
-****/
+****/ 
 var game = new LK.Game({
-	backgroundColor: 0x000000
-});
\ No newline at end of file
+	backgroundColor: 0xffffff
+});
+
+/**** 
+* Game Code
+****/ 
+game.setBackgroundColor(0xffe6f2);
+var toys = [];
+var toyBasket;
+var dragToy = null;
+var toysCollected = 0;
+var allToysCollected = false;
+var toyTypes = ['frog', 'cat', 'monkey', 'dinosaur', 'jelly', 'maraca'];
+var toyPositions = [{
+	x: 300,
+	y: 1000
+}, {
+	x: 800,
+	y: 1200
+}, {
+	x: 1500,
+	y: 900
+}, {
+	x: 400,
+	y: 1600
+}, {
+	x: 1200,
+	y: 1400
+}, {
+	x: 1700,
+	y: 1100
+}];
+for (var i = 0; i < toyTypes.length; i++) {
+	var toy = new Toy(toyTypes[i], toyPositions[i].x, toyPositions[i].y);
+	toys.push(toy);
+	game.addChild(toy);
+}
+toyBasket = new ToyBasket();
+game.addChild(toyBasket);
+var titleText = new Text2('Tidy Up Time!', {
+	size: 80,
+	fill: 0xFF3366
+});
+titleText.anchor.set(0.5, 0);
+LK.gui.top.addChild(titleText);
+titleText.y = 100;
+var instructionText = new Text2('Drag toys to the red basket!', {
+	size: 50,
+	fill: 0x666666
+});
+instructionText.anchor.set(0.5, 0);
+LK.gui.top.addChild(instructionText);
+instructionText.y = 200;
+var completedText = new Text2('Tap the basket to scatter toys!', {
+	size: 60,
+	fill: 0x44AA44
+});
+completedText.anchor.set(0.5, 1);
+completedText.alpha = 0;
+LK.gui.bottom.addChild(completedText);
+completedText.y = -100;
+function handleMove(x, y, obj) {
+	if (dragToy) {
+		dragToy.x = x;
+		dragToy.y = y;
+	}
+}
+game.move = handleMove;
+game.up = function (x, y, obj) {
+	if (dragToy) {
+		var distance = Math.sqrt(Math.pow(dragToy.x - toyBasket.x, 2) + Math.pow(dragToy.y - toyBasket.y, 2));
+		if (distance < 200) {
+			dragToy.collectToy();
+		} else {
+			tween(dragToy, {
+				x: dragToy.startX,
+				y: dragToy.startY
+			}, {
+				duration: 300
+			});
+		}
+		tween(dragToy, {
+			scaleX: 1,
+			scaleY: 1
+		}, {
+			duration: 200
+		});
+		dragToy.alpha = 1;
+		dragToy = null;
+	}
+};
+game.update = function () {
+	if (allToysCollected) {
+		if (completedText.alpha < 1) {
+			completedText.alpha += 0.02;
+		}
+		instructionText.alpha = Math.max(0, instructionText.alpha - 0.02);
+	} else {
+		if (completedText.alpha > 0) {
+			completedText.alpha -= 0.02;
+		}
+		if (instructionText.alpha < 1) {
+			instructionText.alpha += 0.02;
+		}
+	}
+};
\ No newline at end of file