User prompt
Move FinalScreenAsset 9px up
User prompt
Donw show the hearts at What asset screen and youwinWoman screen
User prompt
at youwinWoman screen move YOUR SCORE: to bottom of the screen
Code edit (1 edits merged)
Please save this source code
User prompt
YOUR SCORE: put it to youwinWOman screen also. And make it bolder, bigger and in a different font.
User prompt
✅ Code successfully saved ⏪Revert to here KE We are adding a score to the game. The score rules are as follows: Each heart remaining at the end of the game is 100 points. Each second remaining at the end of the game is 125 points. These will be added up at the end of the game and written as YOUR SCORE: under "What" asset
Code edit (1 edits merged)
Please save this source code
User prompt
Süre 30 ssaniyeye düşmedi düşür
User prompt
Süreyi 30 saniyeye düşür
User prompt
Yeni bir dinamil ekliyoruz. Yazan sorulardan sadece 5 tanesini sor. Rastgele sıralanmışlar ve rastgele seçilsinler.
User prompt
Ekranda siyah renk yazan TAP TO START yazısını kaldır. Asset yeterli
Code edit (1 edits merged)
Please save this source code
User prompt
change only the timer font to a bold and funny font
User prompt
Make You win! and Game Over fonts more funny
User prompt
move taptostart asset right 89px
User prompt
move taptostart asset right 80px
User prompt
move taptostart asset up 80px
User prompt
move taptostart asset up 60px
User prompt
move taptostart asset a little up
User prompt
move gamename asset to the left
User prompt
move taptostart to right and move game name to right
User prompt
remove the time on the starting screen and add tap to start feature. also add an asset so I can write taptostart.
User prompt
move youwinWoman a little up
User prompt
move the hearts a little down
Code edit (3 edits merged)
Please save this source code
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Woman character class var Woman = Container.expand(function () { var self = Container.call(this); // State: 'happy', 'angry', 'surprised' self.state = 'happy'; // Attach face (default: happy) self.face = self.attachAsset('happyWoman', { anchorX: 0.5, anchorY: 0.5 }); // Attach mouth self.mouth = self.attachAsset('mouth', { anchorX: 0.5, anchorY: 0.5, x: -15, // move 3.75mm left (35px left from center, 5mm right from previous) // centered horizontally, but offset slightly left y: 40 // move up 1cm (40px from woman's center) }); // Animate mouth open/close self.mouthTalking = false; self.mouthTween = null; self.setState = function (state) { if (self.state === state) { return; } self.state = state; // Remove old face self.face.destroy(); // Add new face var faceId = 'happyWoman'; if (state === 'angry') { faceId = 'angryWoman'; } if (state === 'surprised') { faceId = 'surprisedWoman'; } self.face = self.attachAsset(faceId, { anchorX: 0.5, anchorY: 0.5 }); // Keep mouth on top if (self.mouth && typeof self.mouth.parent !== "undefined" && self.mouth.parent !== null) { if (typeof self.mouth.parent.removeChild === "function") { self.mouth.parent.removeChild(self.mouth); } } self.addChild(self.mouth); }; self.startTalking = function () { if (self.mouthTalking) { return; } self.mouthTalking = true; animateMouth(); }; self.stopTalking = function () { self.mouthTalking = false; if (self.mouthTween) { tween.stop(self.mouth); self.mouthTween = null; } // Reset mouth to closed self.mouth.scaleY = 1; }; function animateMouth() { if (!self.mouthTalking) { return; } // Open self.mouthTween = tween(self.mouth, { scaleY: 2 }, { duration: 120, easing: tween.easeIn, onFinish: function onFinish() { // Close self.mouthTween = tween(self.mouth, { scaleY: 1 }, { duration: 120, easing: tween.easeOut, onFinish: function onFinish() { // Repeat if still talking animateMouth(); } }); } }); } return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0xf0f0f0 }); /**** * Game Code ****/ // New asset: 'background' (light gray, editable later) // New asset: 'What' (placeholder, 400x400, editable later) // Heart (for lives) // Mouth (Ellipse for talking) // Surprised Woman (Yellow Square) // Angry Woman (Purple Square) // Happy Woman (Red Square) // Questions and answers var questions = [{ text: "Do you know why you are here?", answers: [{ text: "Yes", correct: false }, { text: "Of course, baby!", correct: false }, { text: "Who am I?", correct: true }] }, { text: "Do you think I don’t know who you are?", answers: [{ text: "The Thunderstorm?", correct: false }, { text: "A helpless servant?", correct: false }, { text: "A curious caterpillar?", correct: true }] }, { text: "Are you curious about me?", answers: [{ text: "No, about who I am!", correct: true }, { text: "No, about my fate!", correct: false }, { text: "Yes!", correct: false }] }, { text: "What are you trying to understand?", answers: [{ text: "Who I am", correct: true }, { text: "The Quantum Theory", correct: false }, { text: "Meaning of life", correct: false }] }, { text: "Are you a valuable person?", answers: [{ text: "Am I a person?", correct: true }, { text: "Shine like a diamond", correct: false }, { text: "I am the ONE!", correct: false }] }, { text: "Who's playing you in this game?", answers: [{ text: "Someone acting like me", correct: true }, { text: "A finger on a screen", correct: false }, { text: "You, cunning trickster!", correct: false }] }, { text: "Are you a human?", answers: [{ text: "Who man?", correct: true }, { text: "I am BATMAN!", correct: false }, { text: "I am a chicken salad", correct: false }] }, { text: "Are you kidding me?", answers: [{ text: "No!", correct: true }, { text: "You are god damn right!", correct: false }, { text: "I am the Joker!", correct: false }] }, { text: "Where do you think you began?", answers: [{ text: "I may not have started", correct: true }, { text: "In a hospital", correct: false }, { text: "at Camp Nou", correct: false }] }]; // Shuffle answers for each question function shuffle(arr) { for (var i = arr.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var t = arr[i]; arr[i] = arr[j]; arr[j] = t; } return arr; } // Randomly select 5 questions from the available questions var selectedQuestions = shuffle(questions.slice()).slice(0, 5); questions = selectedQuestions; for (var i = 0; i < questions.length; i++) { questions[i].answers = shuffle(questions[i].answers.slice()); } // Game state var currentQuestion = 0; var hearts = 3; var maxHearts = 3; var woman = null; var answerButtons = []; var questionText = null; var heartIcons = []; var angryTimeout = null; var surprisedShown = false; var gameTimer = 30; // Timer in seconds var timerText = null; var gameEnded = false; var showingStartScreen = true; var startingWomanAsset = null; var gameNameAsset = null; var finalScore = 0; var scoreText = null; // Layout constants var womanCenterX = 2048 / 2; var womanCenterY = 900; var questionY = 1500; var answerStartY = 1750; var answerSpacing = 220; // Add background asset (behind all elements) var backgroundAsset = LK.getAsset('background', { anchorX: 0.5, anchorY: 0, x: 2048 / 2, y: 0 }); game.addChild(backgroundAsset); // Add woman character woman = new Woman(); game.addChild(woman); woman.x = womanCenterX; woman.y = womanCenterY; // Add hearts (below answer buttons, centered) for (var h = 0; h < maxHearts; h++) { var heart = LK.getAsset('heart', { anchorX: 0.5, anchorY: 0.5 }); // Place below answer buttons, centered horizontally // Place hearts in a row, centered at 2048/2, below last answer button var totalWidth = (maxHearts - 1) * 200; heart.x = 2048 / 2 - totalWidth / 2 + h * 200; heart.y = answerStartY + 3 * answerSpacing + 150; // 150px below last answer button (moved down 50px) game.addChild(heart); heartIcons.push(heart); } // Add question text questionText = new Text2('', { size: 120, fill: 0xffffff, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma" }); questionText.anchor.set(0.5, 0); questionText.x = 2048 / 2; questionText.y = questionY; game.addChild(questionText); // Add timer text in top right corner timerText = new Text2('0:45', { size: 80, fill: 0xFFFFFF, font: "Impact,'Comic Sans MS','Marker Felt','Chalkboard SE',fantasy" }); timerText.anchor.set(1, 0); // Right-aligned, top timerText.x = -50; // 50px from right edge (relative to topRight) timerText.y = 50; // 50px from top LK.gui.topRight.addChild(timerText); // Answer button class function createAnswerButton(idx) { var btn = new Container(); // Button background var bg = btn.attachAsset('box', { width: 900, height: 160, color: 0x000000, anchorX: 0.5, anchorY: 0.5 }); // Button text var txt = new Text2('', { size: 70, fill: 0xffffff }); txt.anchor.set(0.5, 0.5); txt.x = 0; txt.y = 0; btn.addChild(txt); // Position btn.x = 2048 / 2; btn.y = answerStartY + idx * answerSpacing + 100; // Store for later btn.bg = bg; btn.txt = txt; btn.idx = idx; // Add to game game.addChild(btn); // Touch/click handler btn.down = function (x, y, obj) { handleAnswer(idx); }; return btn; } // Create answer buttons for (var i = 0; i < 3; i++) { var btn = createAnswerButton(i); answerButtons.push(btn); } // Update hearts display function updateHearts() { for (var i = 0; i < heartIcons.length; i++) { heartIcons[i].alpha = i < hearts ? 1 : 0.2; } } // Show question and answers function showQuestion() { if (currentQuestion >= questions.length) { // Show surprised woman showSurprised(); return; } var q = questions[currentQuestion]; questionText.setText(q.text); for (var i = 0; i < 3; i++) { var ans = q.answers[i]; answerButtons[i].txt.setText(ans ? ans.text : ''); answerButtons[i].visible = !!ans; answerButtons[i].bg.color = 0xf0f0f0; } // Woman happy woman.setState('happy'); woman.startTalking(); // Stop talking after 1.2s LK.setTimeout(function () { woman.stopTalking(); }, 1200); } // Handle answer selection function handleAnswer(idx) { if (gameEnded || currentQuestion >= questions.length) { return; } var q = questions[currentQuestion]; var ans = q.answers[idx]; if (!ans) { return; } // Disable buttons for now for (var i = 0; i < 3; i++) { answerButtons[i].down = null; } if (ans.correct) { // Correct: progress answerButtons[idx].bg.color = 0x83de44; // green woman.setState('happy'); woman.startTalking(); LK.setTimeout(function () { woman.stopTalking(); currentQuestion++; showQuestion(); // Re-enable buttons for (var i = 0; i < 3; i++) { answerButtons[i].down = function (i) { return function (x, y, obj) { handleAnswer(i); }; }(i); } }, 900); } else { // Wrong: lose heart, angry woman, flash answerButtons[idx].bg.color = 0xff3b3b; // red hearts--; updateHearts(); woman.setState('angry'); woman.startTalking(); LK.effects.flashObject(woman, 0x8e44ad, 300); // After 3s, return to happy or end game if (angryTimeout) { LK.clearTimeout(angryTimeout); } angryTimeout = LK.setTimeout(function () { woman.stopTalking(); if (hearts <= 0) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); return; } woman.setState('happy'); // Re-enable buttons for (var i = 0; i < 3; i++) { answerButtons[i].down = function (i) { return function (x, y, obj) { handleAnswer(i); }; }(i); } }, 3000); } } // Show surprised woman (win) function showSurprised() { if (surprisedShown) { return; } surprisedShown = true; gameEnded = true; // Stop timer when winning // Remove mouth if present and parent is not undefined/null if (woman.mouth && typeof woman.mouth.parent !== "undefined" && woman.mouth.parent !== null) { if (typeof woman.mouth.parent.removeChild === "function") { woman.mouth.parent.removeChild(woman.mouth); } } // Show only surprisedWoman face woman.setState('surprised'); // Calculate final score var heartPoints = hearts * 100; var timePoints = gameTimer * 125; finalScore = heartPoints + timePoints; // Add 'What' asset under surprisedWoman var whatAsset = LK.getAsset('What', { anchorX: 0.5, anchorY: 0.5, x: womanCenterX, y: womanCenterY + 600 + 300 + 300 // move 6cm (300px) + 6cm (300px) further down to be under surprisedWoman asset }); game.addChild(whatAsset); // Add score text under What asset scoreText = new Text2('YOUR SCORE: ' + finalScore, { size: 150, fill: 0xFFD700, font: "Impact,'Comic Sans MS','Marker Felt','Chalkboard SE',fantasy" }); scoreText.anchor.set(0.5, 0); scoreText.x = womanCenterX; scoreText.y = womanCenterY + 600 + 300 + 300 + 200; // 200px below What asset game.addChild(scoreText); // Remove 'What' asset after 3s (when game finishes) LK.setTimeout(function () { if (whatAsset && typeof whatAsset.destroy === "function") { whatAsset.destroy(); } if (scoreText && typeof scoreText.destroy === "function") { scoreText.destroy(); } }, 3000); // After 3 seconds, show youwinWoman (no mouth) LK.setTimeout(function () { // Remove mouth if present (defensive) if (woman.mouth && typeof woman.mouth.parent !== "undefined" && woman.mouth.parent !== null) { if (typeof woman.mouth.parent.removeChild === "function") { woman.mouth.parent.removeChild(woman.mouth); } } // Show FinalScreenAsset under youwinWoman var finalScreenAsset = LK.getAsset('FinalScreenAsset', { anchorX: 0.5, anchorY: 0.5, x: womanCenterX, y: womanCenterY + 600 + 250 + 400 + 100 - 9 // move 5cm (250px) + 8cm (400px) + 2cm (100px) further down under youwinWoman asset, then 9px up }); game.addChild(finalScreenAsset); // Add score text at bottom of screen var youWinScoreText = new Text2('YOUR SCORE: ' + finalScore, { size: 150, fill: 0xFFD700, font: "Impact,'Comic Sans MS','Marker Felt','Chalkboard SE',fantasy" }); youWinScoreText.anchor.set(0.5, 1); // Bottom-center anchor youWinScoreText.x = womanCenterX; youWinScoreText.y = 2732 - 100; // 100px from bottom of screen game.addChild(youWinScoreText); // Swap to youwinWoman face (add asset if not present) if (woman.face) { woman.face.destroy(); } woman.face = woman.attachAsset('youwinWoman', { anchorX: 0.5, anchorY: 0.5, y: -100 }); }, 3000); // Hide answer buttons for (var i = 0; i < 3; i++) { answerButtons[i].visible = false; } // Hide hearts for (var i = 0; i < heartIcons.length; i++) { heartIcons[i].visible = false; } // Show message (optional, can be blank) questionText.setText(""); // After 3 seconds, show youwinWoman (no mouth) LK.setTimeout(function () { // Remove mouth if present (defensive) if (woman.mouth && typeof woman.mouth.parent !== "undefined" && woman.mouth.parent !== null) { if (typeof woman.mouth.parent.removeChild === "function") { woman.mouth.parent.removeChild(woman.mouth); } } // Swap to youwinWoman face (add asset if not present) if (woman.face) { woman.face.destroy(); } woman.face = woman.attachAsset('youwinWoman', { anchorX: 0.5, anchorY: 0.5, y: -100 }); // After 5 more seconds, finish the game LK.setTimeout(function () { LK.showYouWin(); }, 5000); }, 3000); } // Timer countdown function function updateTimer() { if (gameEnded || showingStartScreen) { return; } gameTimer--; var minutes = Math.floor(gameTimer / 60); var seconds = gameTimer % 60; var timeString = minutes + ':' + (seconds < 10 ? '0' : '') + seconds; timerText.setText(timeString); if (gameTimer <= 0) { gameEnded = true; questionText.setText("Time is up!"); woman.setState('angry'); LK.effects.flashScreen(0xff0000, 1000); LK.setTimeout(function () { LK.showGameOver(); }, 1000); } } // Timer interval will be started after starting screen var timerInterval = null; var tapToStartAsset = null; var tapToStartText = null; // Show starting screen first function showStartingScreen() { // Create starting woman asset startingWomanAsset = LK.getAsset('startingWoman', { anchorX: 0.5, anchorY: 0.5, x: womanCenterX, y: womanCenterY }); game.addChild(startingWomanAsset); // Create game name asset gameNameAsset = LK.getAsset('GameName', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 - 400, y: womanCenterY + 400 + 360 + 360 + 200 }); game.addChild(gameNameAsset); // Create tap to start asset tapToStartAsset = LK.getAsset('taptostart', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 + 400 + 80 + 89, y: womanCenterY + 400 + 360 + 360 + 200 + 200 - 60 - 80 }); game.addChild(tapToStartAsset); // Hide game elements during start screen woman.visible = false; questionText.visible = false; for (var i = 0; i < answerButtons.length; i++) { answerButtons[i].visible = false; } for (var i = 0; i < heartIcons.length; i++) { heartIcons[i].visible = false; } } // Function to start the game function startGame() { if (!showingStartScreen) { return; } // Remove starting screen assets if (startingWomanAsset) { startingWomanAsset.destroy(); startingWomanAsset = null; } if (gameNameAsset) { gameNameAsset.destroy(); gameNameAsset = null; } if (tapToStartAsset) { tapToStartAsset.destroy(); tapToStartAsset = null; } if (tapToStartText) { tapToStartText.destroy(); tapToStartText = null; } // Show game elements woman.visible = true; questionText.visible = true; timerText.visible = true; for (var i = 0; i < answerButtons.length; i++) { answerButtons[i].visible = true; } for (var i = 0; i < heartIcons.length; i++) { heartIcons[i].visible = true; } showingStartScreen = false; // Start the actual game updateHearts(); showQuestion(); // Start timer countdown timerInterval = LK.setInterval(updateTimer, 1000); } // Add tap to start functionality game.down = function (x, y, obj) { if (showingStartScreen) { startGame(); } }; // Initial state - show starting screen showStartingScreen(); // Make sure answer buttons are re-enabled after each question for (var i = 0; i < 3; i++) { answerButtons[i].down = function (i) { return function (x, y, obj) { handleAnswer(i); }; }(i); } // No dragging or move events needed for this game // No update loop needed
===================================================================
--- original.js
+++ change.js
@@ -503,9 +503,9 @@
var finalScreenAsset = LK.getAsset('FinalScreenAsset', {
anchorX: 0.5,
anchorY: 0.5,
x: womanCenterX,
- y: womanCenterY + 600 + 250 + 400 + 100 // move 5cm (250px) + 8cm (400px) + 2cm (100px) further down under youwinWoman asset
+ y: womanCenterY + 600 + 250 + 400 + 100 - 9 // move 5cm (250px) + 8cm (400px) + 2cm (100px) further down under youwinWoman asset, then 9px up
});
game.addChild(finalScreenAsset);
// Add score text at bottom of screen
var youWinScoreText = new Text2('YOUR SCORE: ' + finalScore, {
Delete the mouth. Woman have no mouth. Just same skin color.
An anime womans mouth. Just mouth.. In-Game asset. 2d. High contrast. No shadows
Fill it red. Its a red rectangle. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Delete the mouth. Woman have no mouth. Just same skin color.
Make her shy and seksier
Show her from a little further away and make a victory sign with her hand and smiley face
same photo but make a victory sign with her hand and smile
Same style bu write: DON'T YOU KNOW WHO YOU ARE
Write "TAP TO START" with a comic font. In-Game asset. 2d. High contrast. No shadows
Write comics style What? in golden color. In-Game asset. 2d. High contrast. No shadows
make same heath like a woman
delete blacks