/**** 
* Plugins
****/ 
var tween = LK.import("@upit/tween.v1");
/**** 
* Classes
****/ 
var Character = Container.expand(function () {
	var self = Container.call(this);
	// Character body
	var body = self.attachAsset('character', {
		anchorX: 0.5,
		anchorY: 1
	});
	// Curly hair
	var hair = self.attachAsset('characterHair', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	hair.x = 0;
	hair.y = -160;
	// Tears (initially hidden)
	var leftTear = self.attachAsset('tear', {
		anchorX: 0.5,
		anchorY: 0
	});
	leftTear.x = -30;
	leftTear.y = -120;
	leftTear.alpha = 0;
	var rightTear = self.attachAsset('tear', {
		anchorX: 0.5,
		anchorY: 0
	});
	rightTear.x = 30;
	rightTear.y = -120;
	rightTear.alpha = 0;
	self.isScared = false;
	self.scareLevel = 0;
	self.scare = function () {
		if (self.isScared) return;
		self.isScared = true;
		self.scareLevel = Math.random() * 3 + 1; // Random scare level 1-4
		// Jump animation
		tween(self, {
			y: self.y - 50
		}, {
			duration: 200,
			easing: tween.easeOut
		});
		tween(self, {
			y: self.y
		}, {
			duration: 300,
			easing: tween.bounceOut
		});
		// Show tears
		leftTear.alpha = 1;
		rightTear.alpha = 1;
		// Shake animation
		var originalX = self.x;
		tween(self, {
			x: originalX + 10
		}, {
			duration: 100
		});
		LK.setTimeout(function () {
			tween(self, {
				x: originalX - 10
			}, {
				duration: 100
			});
		}, 100);
		LK.setTimeout(function () {
			tween(self, {
				x: originalX
			}, {
				duration: 100
			});
		}, 200);
		// Play scream sound
		LK.getSound('scream').play();
		// Return to normal after 3 seconds
		LK.setTimeout(function () {
			self.calm();
		}, 3000);
	};
	self.calm = function () {
		self.isScared = false;
		self.scareLevel = 0;
		// Hide tears
		tween(leftTear, {
			alpha: 0
		}, {
			duration: 1000
		});
		tween(rightTear, {
			alpha: 0
		}, {
			duration: 1000
		});
	};
	return self;
});
var Television = Container.expand(function () {
	var self = Container.call(this);
	// TV frame
	var frame = self.attachAsset('tvFrame', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	// TV screen
	var screen = self.attachAsset('tvScreen', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	// Play button (initially visible)
	var playBtn = self.attachAsset('playButton', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	var playTriangle = self.attachAsset('playTriangle', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	playTriangle.x = 10; // Offset to make it look like a play button
	// Ginger character (initially hidden)
	var gingerContainer = new Container();
	self.addChild(gingerContainer);
	gingerContainer.alpha = 0;
	var gingerFace = gingerContainer.attachAsset('gingerFace', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	var leftEye = gingerContainer.attachAsset('gingerEyes', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	leftEye.x = -80;
	leftEye.y = -50;
	var rightEye = gingerContainer.attachAsset('gingerEyes', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	rightEye.x = 80;
	rightEye.y = -50;
	var mouth = gingerContainer.attachAsset('gingerMouth', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	mouth.y = 50;
	self.isPlaying = false;
	self.down = function (x, y, obj) {
		if (!self.isPlaying && playBtn.alpha > 0) {
			self.playScareVideo();
		}
	};
	self.playScareVideo = function () {
		if (self.isPlaying) return;
		self.isPlaying = true;
		// Hide play button
		tween(playBtn, {
			alpha: 0
		}, {
			duration: 300
		});
		tween(playTriangle, {
			alpha: 0
		}, {
			duration: 300
		});
		// Show Ginger with dramatic entrance
		gingerContainer.scaleX = 0.1;
		gingerContainer.scaleY = 0.1;
		gingerContainer.alpha = 1;
		tween(gingerContainer, {
			scaleX: 1.2,
			scaleY: 1.2
		}, {
			duration: 500,
			easing: tween.bounceOut
		});
		// Play BOO sound
		LK.setTimeout(function () {
			LK.getSound('boo').play();
			// Trigger scare on all characters
			for (var i = 0; i < characters.length; i++) {
				characters[i].scare();
				totalScore += Math.floor(characters[i].scareLevel);
			}
			// Update score
			LK.setScore(totalScore);
			scoreText.setText('Scares: ' + totalScore);
		}, 300);
		// Hide Ginger and show play button again after 2 seconds
		LK.setTimeout(function () {
			tween(gingerContainer, {
				alpha: 0,
				scaleX: 0.1,
				scaleY: 0.1
			}, {
				duration: 500
			});
			LK.setTimeout(function () {
				tween(playBtn, {
					alpha: 1
				}, {
					duration: 500
				});
				tween(playTriangle, {
					alpha: 1
				}, {
					duration: 500
				});
				self.isPlaying = false;
			}, 1000);
		}, 2000);
	};
	return self;
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0x2C1810
});
/**** 
* Game Code
****/ 
var totalScore = 0;
var characters = [];
// Create TV
var tv = game.addChild(new Television());
tv.x = 2048 / 2;
tv.y = 1000;
// Create three characters
for (var i = 0; i < 3; i++) {
	var character = game.addChild(new Character());
	character.x = 400 + i * 600;
	character.y = 1800;
	characters.push(character);
}
// Score display
var scoreText = new Text2('Scares: 0', {
	size: 80,
	fill: 0xFFFFFF
});
scoreText.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreText);
// Instructions
var instructionText = new Text2('Tap the TV to scare the viewers!', {
	size: 60,
	fill: 0xFFAA00
});
instructionText.anchor.set(0.5, 0);
instructionText.y = 100;
LK.gui.top.addChild(instructionText);
// Game title
var titleText = new Text2('SPOOKY TV SCARE', {
	size: 100,
	fill: 0xFF6600
});
titleText.anchor.set(0.5, 0);
titleText.y = 200;
LK.gui.top.addChild(titleText); ===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,267 @@
-/****
+/**** 
+* Plugins
+****/ 
+var tween = LK.import("@upit/tween.v1");
+
+/**** 
+* Classes
+****/ 
+var Character = Container.expand(function () {
+	var self = Container.call(this);
+	// Character body
+	var body = self.attachAsset('character', {
+		anchorX: 0.5,
+		anchorY: 1
+	});
+	// Curly hair
+	var hair = self.attachAsset('characterHair', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	hair.x = 0;
+	hair.y = -160;
+	// Tears (initially hidden)
+	var leftTear = self.attachAsset('tear', {
+		anchorX: 0.5,
+		anchorY: 0
+	});
+	leftTear.x = -30;
+	leftTear.y = -120;
+	leftTear.alpha = 0;
+	var rightTear = self.attachAsset('tear', {
+		anchorX: 0.5,
+		anchorY: 0
+	});
+	rightTear.x = 30;
+	rightTear.y = -120;
+	rightTear.alpha = 0;
+	self.isScared = false;
+	self.scareLevel = 0;
+	self.scare = function () {
+		if (self.isScared) return;
+		self.isScared = true;
+		self.scareLevel = Math.random() * 3 + 1; // Random scare level 1-4
+		// Jump animation
+		tween(self, {
+			y: self.y - 50
+		}, {
+			duration: 200,
+			easing: tween.easeOut
+		});
+		tween(self, {
+			y: self.y
+		}, {
+			duration: 300,
+			easing: tween.bounceOut
+		});
+		// Show tears
+		leftTear.alpha = 1;
+		rightTear.alpha = 1;
+		// Shake animation
+		var originalX = self.x;
+		tween(self, {
+			x: originalX + 10
+		}, {
+			duration: 100
+		});
+		LK.setTimeout(function () {
+			tween(self, {
+				x: originalX - 10
+			}, {
+				duration: 100
+			});
+		}, 100);
+		LK.setTimeout(function () {
+			tween(self, {
+				x: originalX
+			}, {
+				duration: 100
+			});
+		}, 200);
+		// Play scream sound
+		LK.getSound('scream').play();
+		// Return to normal after 3 seconds
+		LK.setTimeout(function () {
+			self.calm();
+		}, 3000);
+	};
+	self.calm = function () {
+		self.isScared = false;
+		self.scareLevel = 0;
+		// Hide tears
+		tween(leftTear, {
+			alpha: 0
+		}, {
+			duration: 1000
+		});
+		tween(rightTear, {
+			alpha: 0
+		}, {
+			duration: 1000
+		});
+	};
+	return self;
+});
+var Television = Container.expand(function () {
+	var self = Container.call(this);
+	// TV frame
+	var frame = self.attachAsset('tvFrame', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	// TV screen
+	var screen = self.attachAsset('tvScreen', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	// Play button (initially visible)
+	var playBtn = self.attachAsset('playButton', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	var playTriangle = self.attachAsset('playTriangle', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	playTriangle.x = 10; // Offset to make it look like a play button
+	// Ginger character (initially hidden)
+	var gingerContainer = new Container();
+	self.addChild(gingerContainer);
+	gingerContainer.alpha = 0;
+	var gingerFace = gingerContainer.attachAsset('gingerFace', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	var leftEye = gingerContainer.attachAsset('gingerEyes', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	leftEye.x = -80;
+	leftEye.y = -50;
+	var rightEye = gingerContainer.attachAsset('gingerEyes', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	rightEye.x = 80;
+	rightEye.y = -50;
+	var mouth = gingerContainer.attachAsset('gingerMouth', {
+		anchorX: 0.5,
+		anchorY: 0.5
+	});
+	mouth.y = 50;
+	self.isPlaying = false;
+	self.down = function (x, y, obj) {
+		if (!self.isPlaying && playBtn.alpha > 0) {
+			self.playScareVideo();
+		}
+	};
+	self.playScareVideo = function () {
+		if (self.isPlaying) return;
+		self.isPlaying = true;
+		// Hide play button
+		tween(playBtn, {
+			alpha: 0
+		}, {
+			duration: 300
+		});
+		tween(playTriangle, {
+			alpha: 0
+		}, {
+			duration: 300
+		});
+		// Show Ginger with dramatic entrance
+		gingerContainer.scaleX = 0.1;
+		gingerContainer.scaleY = 0.1;
+		gingerContainer.alpha = 1;
+		tween(gingerContainer, {
+			scaleX: 1.2,
+			scaleY: 1.2
+		}, {
+			duration: 500,
+			easing: tween.bounceOut
+		});
+		// Play BOO sound
+		LK.setTimeout(function () {
+			LK.getSound('boo').play();
+			// Trigger scare on all characters
+			for (var i = 0; i < characters.length; i++) {
+				characters[i].scare();
+				totalScore += Math.floor(characters[i].scareLevel);
+			}
+			// Update score
+			LK.setScore(totalScore);
+			scoreText.setText('Scares: ' + totalScore);
+		}, 300);
+		// Hide Ginger and show play button again after 2 seconds
+		LK.setTimeout(function () {
+			tween(gingerContainer, {
+				alpha: 0,
+				scaleX: 0.1,
+				scaleY: 0.1
+			}, {
+				duration: 500
+			});
+			LK.setTimeout(function () {
+				tween(playBtn, {
+					alpha: 1
+				}, {
+					duration: 500
+				});
+				tween(playTriangle, {
+					alpha: 1
+				}, {
+					duration: 500
+				});
+				self.isPlaying = false;
+			}, 1000);
+		}, 2000);
+	};
+	return self;
+});
+
+/**** 
 * Initialize Game
-****/
+****/ 
 var game = new LK.Game({
-	backgroundColor: 0x000000
-});
\ No newline at end of file
+	backgroundColor: 0x2C1810
+});
+
+/**** 
+* Game Code
+****/ 
+var totalScore = 0;
+var characters = [];
+// Create TV
+var tv = game.addChild(new Television());
+tv.x = 2048 / 2;
+tv.y = 1000;
+// Create three characters
+for (var i = 0; i < 3; i++) {
+	var character = game.addChild(new Character());
+	character.x = 400 + i * 600;
+	character.y = 1800;
+	characters.push(character);
+}
+// Score display
+var scoreText = new Text2('Scares: 0', {
+	size: 80,
+	fill: 0xFFFFFF
+});
+scoreText.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreText);
+// Instructions
+var instructionText = new Text2('Tap the TV to scare the viewers!', {
+	size: 60,
+	fill: 0xFFAA00
+});
+instructionText.anchor.set(0.5, 0);
+instructionText.y = 100;
+LK.gui.top.addChild(instructionText);
+// Game title
+var titleText = new Text2('SPOOKY TV SCARE', {
+	size: 100,
+	fill: 0xFF6600
+});
+titleText.anchor.set(0.5, 0);
+titleText.y = 200;
+LK.gui.top.addChild(titleText);
\ No newline at end of file