User prompt
a b c ve d şıklarının dokunulabilen kısımlarındaki köşeleri yok edebilir misin daha yuvarlak bir görünüm için
User prompt
make all text white and has a outer line colored black
User prompt
bütün şıkları 5 pixel yukarı 5 pixel aşağı doğru büyült a b c ve d
User prompt
a b c v d butonunu yukarı aşağı sola ve sağa doğru 10 pixel büyült
User prompt
bütün şıkları % 5 her yöne büyült
User prompt
b şıkkını 20 pixel sola götür c şıkkını 10 pixel sola götür d şıkkını 15 pixel sola götür
User prompt
a şıkkını 15 pixel sola götür
User prompt
a b c ve d şıklarını sağ ve sola doğru %5 uzat ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
a b c ve d şıklarını sağ ve sola doğru %10 uzat
User prompt
Move mainQuestionBoard 20 pixels to the up
User prompt
Move mainQuestionBoard 50 pixels to the up
User prompt
Move mainQuestionBoard 200 pixels to the down
User prompt
Move mainQuestionBoard 2000 pixels to the down
User prompt
Move mainQuestionBoard 5 pixels to the right
User prompt
Move mainQuestionBoard 10 pixels to the left
User prompt
Move mainQuestionBoard 50 pixels to the right
User prompt
Move mainQuestionBoard 110 pixels to the left
User prompt
Move mainQuestionBoard 100 pixels to the left
User prompt
place it 300 pixel right
User prompt
place mainquestionboard 300 pixel down
User prompt
place mainquestion board middle of the screen
User prompt
uzunluk aynı kalsın yukarı ve aşağı doğru büyüklüğü yine %7 büyüsün
User prompt
uzunluk aynı kalsın yukarı ve aşağı doğru büyüklüğü yine %10 büyüsün
User prompt
uzunluk aynı kalsın yukarı ve aşağı doğru büyüklüğü %10 büyüsün ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
uzunuluğunu %5 daha büyük genişliğini %20 daha büyük yap yani biraz daha kareye benzeyecek şekilde büyült verdiğim oranlarla ↪💡 Consider importing and using the following plugins: @upit/tween.v1
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1", {
highScore: 0,
totalPlayed: 0
});
/****
* Classes
****/
var Character = Container.expand(function () {
var self = Container.call(this);
var happyFace = self.attachAsset('characterHappy', {
anchorX: 0.5,
anchorY: 0.5
});
happyFace.visible = false;
var sadFace = self.attachAsset('characterSad', {
anchorX: 0.5,
anchorY: 0.5
});
sadFace.visible = false;
var excitedFace = self.attachAsset('characterExcited', {
anchorX: 0.5,
anchorY: 0.5
});
excitedFace.visible = false;
var neutralFace = self.attachAsset('characterNeutral', {
anchorX: 0.5,
anchorY: 0.5
});
neutralFace.visible = true;
self.showHappy = function () {
happyFace.visible = true;
sadFace.visible = false;
excitedFace.visible = false;
neutralFace.visible = false;
};
self.showSad = function () {
happyFace.visible = false;
sadFace.visible = true;
excitedFace.visible = false;
neutralFace.visible = false;
};
self.showExcited = function () {
happyFace.visible = false;
sadFace.visible = false;
excitedFace.visible = true;
neutralFace.visible = false;
};
self.showNeutral = function () {
happyFace.visible = false;
sadFace.visible = false;
excitedFace.visible = false;
neutralFace.visible = true;
};
return self;
});
var Joker = Container.expand(function (type, icon) {
var self = Container.call(this);
self.type = type;
self.used = false;
var background = self.attachAsset('jokerButton', {
anchorX: 0.5,
anchorY: 0.5
});
var text = new Text2(icon, {
size: 50,
fill: 0xFFFFFF
});
text.anchor.set(0.5, 0.5);
self.addChild(text);
self.use = function () {
if (self.used) {
return false;
}
self.used = true;
tween(self, {
alpha: 0.4
}, {
duration: 300
});
return true;
};
self.reset = function () {
self.used = false;
self.alpha = 1;
};
self.down = function (x, y, obj) {
if (!self.used && !gameOver && !answerLocked) {
activateJoker(self.type);
}
};
return self;
});
var PhoneFriendPopup = Container.expand(function () {
var self = Container.call(this);
var background = self.attachAsset('questionCard', {
anchorX: 0.5,
anchorY: 0.5,
width: 1200,
height: 800
});
background.tint = 0xF5F5F5;
var titleText = new Text2("Phone a Friend", {
size: 80,
fill: 0x333333
});
titleText.anchor.set(0.5, 0);
titleText.position.set(0, -320);
self.addChild(titleText);
var friends = [];
var friendNames = ["Professor", "Scientist", "Artist", "Engineer"];
for (var i = 0; i < 4; i++) {
var friendButton = new Container();
var buttonBg = LK.getAsset('buttonBackground', {
anchorX: 0.5,
anchorY: 0.5,
width: 500,
height: 100
});
friendButton.addChild(buttonBg);
var nameText = new Text2(friendNames[i], {
size: 50,
fill: 0x333333
});
nameText.anchor.set(0.5, 0.5);
friendButton.addChild(nameText);
friendButton.position.set(0, -150 + i * 150);
friendButton.index = i;
friendButton.interactive = true;
friendButton.down = function (x, y, obj) {
self.selectFriend(i); // Use the value of i from the loop instead of obj.parent.index
};
self.addChild(friendButton);
friends.push(friendButton);
}
self.visible = false;
self.show = function () {
self.visible = true;
};
self.hide = function () {
self.visible = false;
};
self.selectFriend = function (index) {
self.hide();
phoneFriendCallback(index);
};
return self;
});
var QuestionButton = Container.expand(function (index, text) {
var self = Container.call(this);
self.index = index;
self.isCorrect = false;
self.isSelected = false;
self.isEliminated = false;
// Apply additional 7% height increase while keeping width the same
var background = self.attachAsset('buttonBackground', {
anchorX: 0.5,
anchorY: 0.5,
width: 840,
// Keep width the same
height: 204,
// 191 * 1.07 = 204
shape: 'ellipse' // Keep cylindrical shape
});
var buttonText = new Text2(text, {
size: 60,
fill: 0x333333
});
buttonText.anchor.set(0.5, 0.5);
self.addChild(buttonText);
var overlay = self.attachAsset('correctAnswerOverlay', {
anchorX: 0.5,
anchorY: 0.5,
width: 840,
// Keep width the same
height: 204,
// 191 * 1.07 = 204
shape: 'ellipse' // Keep cylindrical shape
});
overlay.alpha = 0;
self.setText = function (newText) {
buttonText.setText(newText);
};
self.setCorrect = function (correct) {
self.isCorrect = correct;
};
self.markAsCorrect = function () {
overlay.tint = 0x00FF00;
tween(overlay, {
alpha: 0.5
}, {
duration: 500
});
};
self.markAsIncorrect = function () {
overlay.tint = 0xFF0000;
tween(overlay, {
alpha: 0.5
}, {
duration: 500
});
};
self.reset = function () {
overlay.alpha = 0;
self.isSelected = false;
self.isEliminated = false;
};
self.eliminate = function () {
if (self.isCorrect) {
return false;
}
self.isEliminated = true;
tween(self, {
alpha: 0.3
}, {
duration: 300
});
return true;
};
self.down = function (x, y, obj) {
if (!self.isEliminated && !gameOver && !answerLocked) {
self.isSelected = true;
submitAnswer(self.index);
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB
});
/****
* Game Code
****/
// Game constants
// Character images for different emotions/states
var TOTAL_QUESTIONS = 10;
var TIME_PER_QUESTION = 30; // seconds
var BUTTON_SPACING = 180;
// Game state variables
var currentQuestion = 0;
var score = 0;
var timeLeft = TIME_PER_QUESTION;
var gameOver = false;
var answerLocked = false;
var usedSecondChance = false;
var currentCorrectIndex = 0;
// Quiz questions
var questions = [{
question: "What is the capital of France?",
answers: ["Paris", "London", "Berlin", "Madrid"],
correctIndex: 0
}, {
question: "Which planet is known as the Red Planet?",
answers: ["Venus", "Mars", "Jupiter", "Saturn"],
correctIndex: 1
}, {
question: "What is the largest mammal on Earth?",
answers: ["Elephant", "Giraffe", "Blue Whale", "Polar Bear"],
correctIndex: 2
}, {
question: "Which of these is not a programming language?",
answers: ["Java", "Python", "Banana", "Ruby"],
correctIndex: 2
}, {
question: "What year did the Titanic sink?",
answers: ["1912", "1905", "1920", "1931"],
correctIndex: 0
}, {
question: "Which element has the chemical symbol 'O'?",
answers: ["Gold", "Oxygen", "Osmium", "Oganesson"],
correctIndex: 1
}, {
question: "Who painted the Mona Lisa?",
answers: ["Van Gogh", "Picasso", "Michelangelo", "Leonardo da Vinci"],
correctIndex: 3
}, {
question: "What is the smallest prime number?",
answers: ["0", "1", "2", "3"],
correctIndex: 2
}, {
question: "Which country is home to the kangaroo?",
answers: ["New Zealand", "South Africa", "Australia", "Brazil"],
correctIndex: 2
}, {
question: "How many sides does a hexagon have?",
answers: ["5", "6", "7", "8"],
correctIndex: 1
}];
// Background colors for different questions
var backgroundColors = [0x87CEEB,
// Sky blue
0x98FB98,
// Pale green
0xFFB6C1,
// Light pink
0xFFD700,
// Gold
0xE6E6FA,
// Lavender
0xFFA07A,
// Light salmon
0xADD8E6,
// Light blue
0xF0E68C,
// Khaki
0xD8BFD8,
// Thistle
0xAFEEEE // Pale turquoise
];
// Create UI elements
var mainQuestionBoard = game.addChild(LK.getAsset('mainquestionboard', {
anchorX: 0.5,
anchorY: 0.5
}));
mainQuestionBoard.position.set(2048 / 2 + 135, 2732 / 2 + 500);
var questionCard = game.addChild(LK.getAsset('questionCard', {
anchorX: 0.5,
anchorY: -0.8
}));
questionCard.position.set(2048 / 2, 2732 / 2 - 500);
var questionText = new Text2("", {
size: 70,
fill: 0x333333
});
questionText.anchor.set(0.5, 0.5);
questionText.position.set(0, 0);
questionCard.addChild(questionText);
var answerButtons = [];
for (var i = 0; i < 4; i++) {
var button = new QuestionButton(i, "");
if (i === 0) {
// Move button A 500 pixels down and 200 pixels left
button.position.set(2048 / 2 - 500, 2732 / 2 - 100 + i * BUTTON_SPACING + 970);
} else if (i === 1) {
// Move button B 970 pixels down and 400 pixels right
button.position.set(2048 / 2 + 530, 2732 / 2 - 100 + i * BUTTON_SPACING + 790);
} else if (i === 2) {
// Move button C 950 pixels down and 500 pixels left
button.position.set(2048 / 2 - 500, 2732 / 2 - 200 + i * BUTTON_SPACING + 1010);
} else {
button.position.set(2048 / 2 + 530, 2732 / 2 - 200 + i * BUTTON_SPACING + 830);
}
answerButtons.push(button);
game.addChild(button);
}
// Create jokers
var jokers = [];
var jokerTypes = ["fifty", "audience", "phone", "second"];
var jokerIcons = ["50/50", "👥", "📞", "🔄"];
for (var i = 0; i < 4; i++) {
var joker = new Joker(jokerTypes[i], jokerIcons[i]);
joker.position.set(250 + i * 150, 200);
jokers.push(joker);
game.addChild(joker);
}
// Create character
var character = new Character();
character.position.set(2048 / 2, 2732 - 300);
game.addChild(character);
// Create timer UI
var timerText = new Text2("", {
size: 100,
fill: 0xFF0000
});
timerText.anchor.set(0.5, 0.5);
timerText.position.set(2048 / 2, 150);
game.addChild(timerText);
// Create score display
var scoreText = new Text2("Score: 0", {
size: 70,
fill: 0xFFFFFF
});
scoreText.anchor.set(1, 0);
scoreText.position.set(2048 - 50, 50);
game.addChild(scoreText);
// Create question counter
var counterText = new Text2("Question: 1/" + TOTAL_QUESTIONS, {
size: 70,
fill: 0xFFFFFF
});
counterText.anchor.set(0, 0);
counterText.position.set(150, 50);
game.addChild(counterText);
// Create phone a friend popup
var phoneFriendPopup = new PhoneFriendPopup();
phoneFriendPopup.position.set(2048 / 2, 2732 / 2);
game.addChild(phoneFriendPopup);
// Game timer
var gameTimer = LK.setInterval(function () {
if (gameOver || answerLocked) {
return;
}
timeLeft--;
timerText.setText(timeLeft);
// Change character expression when time is running low
if (timeLeft <= 5) {
character.showExcited();
}
if (timeLeft <= 0) {
timeExpired();
}
}, 1000);
// Game functions
function loadQuestion(index) {
if (index >= questions.length) {
endGame(true);
return;
}
// Change background color
game.setBackgroundColor(backgroundColors[index]);
var question = questions[index];
questionText.setText(question.question);
currentCorrectIndex = question.correctIndex;
for (var i = 0; i < 4; i++) {
answerButtons[i].setText(question.answers[i]);
answerButtons[i].setCorrect(i === question.correctIndex);
answerButtons[i].reset();
}
timeLeft = TIME_PER_QUESTION;
timerText.setText(timeLeft);
currentQuestion = index;
counterText.setText("Question: " + (currentQuestion + 1) + "/" + TOTAL_QUESTIONS);
character.showNeutral();
usedSecondChance = false;
answerLocked = false;
}
function submitAnswer(index) {
if (answerLocked) {
return;
}
answerLocked = true;
var correct = index === currentCorrectIndex;
if (correct) {
LK.getSound('correctSound').play();
answerButtons[index].markAsCorrect();
character.showHappy();
score++;
scoreText.setText("Score: " + score);
LK.setTimeout(function () {
loadQuestion(currentQuestion + 1);
}, 1500);
} else {
LK.getSound('incorrectSound').play();
answerButtons[index].markAsIncorrect();
answerButtons[currentCorrectIndex].markAsCorrect();
character.showSad();
// Check if second chance joker is available
var canUseSecondChance = !usedSecondChance && findJokerByType("second") && !findJokerByType("second").used;
if (canUseSecondChance) {
LK.setTimeout(function () {
activateJoker("second");
}, 1500);
} else {
LK.setTimeout(function () {
endGame(false);
}, 2000);
}
}
}
function timeExpired() {
answerLocked = true;
character.showSad();
// Highlight correct answer
answerButtons[currentCorrectIndex].markAsCorrect();
LK.setTimeout(function () {
endGame(false);
}, 2000);
}
function activateJoker(type) {
var joker = findJokerByType(type);
if (!joker || joker.used) {
return;
}
LK.getSound('jokerSound').play();
switch (type) {
case "fifty":
useFiftyFifty();
break;
case "audience":
useAudienceHelp();
break;
case "phone":
usePhoneFriend();
break;
case "second":
useSecondChance();
break;
}
joker.use();
}
function findJokerByType(type) {
for (var i = 0; i < jokers.length; i++) {
if (jokers[i].type === type) {
return jokers[i];
}
}
return null;
}
function useFiftyFifty() {
var eliminated = 0;
var attempts = 0;
// Try to eliminate two wrong answers
while (eliminated < 2 && attempts < 10) {
attempts++;
var randomIndex = Math.floor(Math.random() * 4);
if (answerButtons[randomIndex].eliminate()) {
eliminated++;
}
}
}
function useAudienceHelp() {
// Calculate audience accuracy based on question number
// Accuracy decreases as questions get harder
var baseAccuracy = 0.99 - currentQuestion * 0.05;
for (var i = 0; i < 4; i++) {
var percentage;
if (i === currentCorrectIndex) {
// Correct answer gets higher percentage based on accuracy
percentage = Math.floor(baseAccuracy * 100);
} else {
// Distribute remaining percentage among wrong answers
percentage = Math.floor((1 - baseAccuracy) * 33);
}
// Update button text to show percentage
var originalText = questions[currentQuestion].answers[i];
answerButtons[i].setText(originalText + " (" + percentage + "%)");
}
// Reset the text after 5 seconds
LK.setTimeout(function () {
for (var i = 0; i < 4; i++) {
answerButtons[i].setText(questions[currentQuestion].answers[i]);
}
}, 5000);
}
function usePhoneFriend() {
phoneFriendPopup.show();
}
function useSecondChance() {
usedSecondChance = true;
// Reset all buttons
for (var i = 0; i < 4; i++) {
answerButtons[i].reset();
}
// Unlock answer selection
answerLocked = false;
// Reset character
character.showNeutral();
}
function phoneFriendCallback(friendIndex) {
var friendKnowledge;
// Different friends have different knowledge areas
switch (friendIndex) {
case 0:
// Professor - 80% chance of being correct
friendKnowledge = 0.8;
break;
case 1:
// Scientist - 70% chance of being correct
friendKnowledge = 0.7;
break;
case 2:
// Artist - 60% chance of being correct
friendKnowledge = 0.6;
break;
case 3:
// Engineer - 75% chance of being correct
friendKnowledge = 0.75;
break;
}
var answerIndex;
// Determine if friend gives correct answer based on knowledge
if (Math.random() < friendKnowledge) {
answerIndex = currentCorrectIndex;
} else {
// Select a random wrong answer
do {
answerIndex = Math.floor(Math.random() * 4);
} while (answerIndex === currentCorrectIndex);
}
// Highlight the friend's suggestion
var originalColor = answerButtons[answerIndex].children[0].tint;
answerButtons[answerIndex].children[0].tint = 0x00FFFF;
// Reset the highlight after 5 seconds
LK.setTimeout(function () {
answerButtons[answerIndex].children[0].tint = originalColor;
}, 5000);
}
function endGame(completed) {
gameOver = true;
// Update high score
if (score > storage.highScore) {
storage.highScore = score;
}
// Update total games played
storage.totalPlayed = (storage.totalPlayed || 0) + 1;
// Show game over screen
if (completed) {
LK.showYouWin();
} else {
LK.showGameOver();
}
}
// Initialize game
function initGame() {
score = 0;
gameOver = false;
currentQuestion = 0;
// Reset jokers
for (var i = 0; i < jokers.length; i++) {
jokers[i].reset();
}
// Update score text
scoreText.setText("Score: " + score);
// Start with first question
loadQuestion(0);
// Play background music
LK.playMusic('backgroundMusic');
}
// Start the game
initGame(); ===================================================================
--- original.js
+++ change.js
@@ -239,10 +239,10 @@
/****
* Game Code
****/
-// Character images for different emotions/states
// Game constants
+// Character images for different emotions/states
var TOTAL_QUESTIONS = 10;
var TIME_PER_QUESTION = 30; // seconds
var BUTTON_SPACING = 180;
// Game state variables
@@ -320,9 +320,9 @@
var mainQuestionBoard = game.addChild(LK.getAsset('mainquestionboard', {
anchorX: 0.5,
anchorY: 0.5
}));
-mainQuestionBoard.position.set(2048 / 2 + 135, 2732 / 2 + 2300);
+mainQuestionBoard.position.set(2048 / 2 + 135, 2732 / 2 + 500);
var questionCard = game.addChild(LK.getAsset('questionCard', {
anchorX: 0.5,
anchorY: -0.8
}));