User prompt
Menü butonuna basıldığında sesi biraz kıs. Devam et butouyla oyuna devam edildiğinde sesi eski haline getir
User prompt
Oyun yeniden başladığında müzik seviyesi %100 olsun. Menü butonun basıldığında %50 olsun ama devam ettirdiğimizde tekrar %100 olsun.
User prompt
Oyun bittiğinde kapanan müzik yeniden başlayınca tekrar açılsın
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'apply')' in or related to this line: 'if (typeof blur.apply === "function") {' Line Number: 832
User prompt
Oyun durdğunda ve bittiğinde menü hariç kısımları bulanıklaştır
User prompt
Oyun durduğunda ve bittiğinde menü hariç olan kısımları yarı saydam yapmayı iptal et
User prompt
Oyundaki tüm yazılar iki kat kalın olsun
User prompt
Oyundaki tüm yazıları biraz kalınlaştır
User prompt
Sayaç ekranın yukarısında olsun. En yüksek skor okduğu yerde kalsın.
User prompt
Süreyi son harfi girdikten hemen sonra durdur.
User prompt
Oyuna oyun başladıktan sonra başlayıp oyun bittikten sonra duran bir sayaç ekle. Bu sayaç ne kadar az saniyede durursa o kadar iyi bir süre yapmış oluruz. Ekranın sağ ortasında en yüksek skor isminde bir bölme oluştur ve buraya yapılan en düşük saniye rekorlarını gir. ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Oyun bittiğinde ses 0.5 saniyede azalarak kapansın. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Oyun başladığında müzik en yüksek ses seviyesinde olsun. Oyun duraklatıldığında ses %50 seviyesinde olsun. Oyun bittiğinde tamamen kapansın.
User prompt
Oyun bittiğinde müzik tamamen kesilsin. Oyun duraklatıldığında müzik yarı seviyeye düşsün
User prompt
Oyuna arka plan müziği ekle
User prompt
Menüdeki ayarlar butonuna basıldığında çıkan ekrandaki ses ayarları çalışmıyor. Ses seviyesini ayarlayamıyor. Bunu düzelt ve çalışmasını sağla
User prompt
Ses ayarları çalışmıyor bu ayarların çalılmasını sağla
User prompt
Ses ayarlarının olduğu bir bölme yap ve gerçekten sesi ayarlayabilelim. Sesi azaltmak istediğimde veya artırmak istediğimde bu ayarı kullanmalıyım
User prompt
Ses efektlerinin seviyesini genel ses ayarından azaltıp yükseltebilelim
User prompt
Ayarlar butondaki ses ayarlarının gerçekten ile yaramasını sağla. Müzik sesi ayarı müziğin sesini, genel ses ayarı genel ses seviyesini ayarlasın.
User prompt
Tahmin ettiğimiz kelimeyi eski haline getir. "Kelimeyi tahmin edin" yazısının fontunu kalınlaştır
User prompt
İpucu yazısını ve tahmin ettiğimiz kelimeyi büyült ve kalınlaştır
User prompt
İpucunu, kelimeyi ve "Kelimeyi tahmin edin" yazılarını kalınlaştır ve büyült
User prompt
İpucunu, kelimeyi ve "Kelimeyi tahmin edin" yazılarını kalınlaştır ve biraz daha büyült
Remix started
Copy Adam Asmaca
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1", {
musicVolume: 1,
soundVolume: 1
});
/****
* Classes
****/
var Gallows = Container.expand(function () {
var self = Container.call(this);
// Create stand structure first
var standBase = self.attachAsset('standBase', {
anchorX: 0.5,
anchorY: 1.0,
y: 0
});
var standSupport1 = self.attachAsset('standSupport1', {
anchorX: 0.5,
anchorY: 1.0,
x: -80,
y: -25
});
var standSupport2 = self.attachAsset('standSupport2', {
anchorX: 0.5,
anchorY: 1.0,
x: 80,
y: -25
});
// Create gallows structure on top of stand
var gallowsBase = self.attachAsset('gallowsBase', {
anchorX: 0.5,
anchorY: 1.0,
y: -145
});
var gallowsPost = self.attachAsset('gallowsPost', {
anchorX: 0.5,
anchorY: 1.0,
x: -75,
y: -145
});
var gallowsBeam = self.attachAsset('gallowsBeam', {
anchorX: 0.0,
anchorY: 0.5,
x: -75,
y: -435
});
var rope = self.attachAsset('rope', {
anchorX: 0.5,
anchorY: 0.0,
x: 0,
y: -445
});
self.bodyParts = [];
var head = LK.getAsset('head', {
anchorX: 0.5,
anchorY: 0.5,
x: 0,
y: -380
});
head.alpha = 0;
self.addChild(head);
self.bodyParts.push(head);
var body = LK.getAsset('body', {
anchorX: 0.5,
anchorY: 0.0,
x: 0,
y: -350
});
body.alpha = 0;
self.addChild(body);
self.bodyParts.push(body);
var leftArm = LK.getAsset('leftArm', {
anchorX: 1.0,
anchorY: 0.5,
x: -4,
y: -320
});
leftArm.alpha = 0;
leftArm.rotation = Math.PI / 4;
self.addChild(leftArm);
self.bodyParts.push(leftArm);
var rightArm = LK.getAsset('rightArm', {
anchorX: 0.0,
anchorY: 0.5,
x: 4,
y: -320
});
rightArm.alpha = 0;
rightArm.rotation = -Math.PI / 4;
self.addChild(rightArm);
self.bodyParts.push(rightArm);
var leftLeg = LK.getAsset('leftLeg', {
anchorX: 1.0,
anchorY: 0.5,
x: -4,
y: -250
});
leftLeg.alpha = 0;
leftLeg.rotation = Math.PI / 6 + Math.PI;
self.addChild(leftLeg);
self.bodyParts.push(leftLeg);
var rightLeg = LK.getAsset('rightLeg', {
anchorX: 0.0,
anchorY: 0.5,
x: 4,
y: -250
});
rightLeg.alpha = 0;
rightLeg.rotation = -Math.PI / 6 + Math.PI;
self.addChild(rightLeg);
self.bodyParts.push(rightLeg);
self.showBodyPart = function (partIndex) {
if (partIndex < self.bodyParts.length) {
self.bodyParts[partIndex].alpha = 1;
tween(self.bodyParts[partIndex], {
scaleX: 1.2,
scaleY: 1.2
}, {
duration: 200,
onFinish: function onFinish() {
tween(self.bodyParts[partIndex], {
scaleX: 1.0,
scaleY: 1.0
}, {
duration: 200
});
}
});
}
};
self.changeToDeadHead = function () {
if (self.bodyParts.length > 0) {
var headPart = self.bodyParts[0];
self.removeChild(headPart);
var deadHead = LK.getAsset('deadHead', {
anchorX: 0.5,
anchorY: 0.5,
x: 0,
y: -380
});
deadHead.tint = 0x666666; // Make it greyish to show death
self.addChild(deadHead);
self.bodyParts[0] = deadHead;
}
// Animate arms rotation 200 degrees in 0.2 seconds
if (self.bodyParts.length >= 4) {
var leftArm = self.bodyParts[2];
var rightArm = self.bodyParts[3];
// Convert 130 degrees to radians
var rotationAmount = 130 * Math.PI / 180;
// Animate left arm counterclockwise (negative rotation)
tween(leftArm, {
rotation: leftArm.rotation - rotationAmount
}, {
duration: 200
});
// Animate right arm clockwise (positive rotation)
tween(rightArm, {
rotation: rightArm.rotation + rotationAmount
}, {
duration: 200
});
}
// Animate legs rotation 45 degrees in 0.2 seconds
if (self.bodyParts.length >= 6) {
var leftLeg = self.bodyParts[4];
var rightLeg = self.bodyParts[5];
// Convert 45 degrees to radians
var legRotationAmount = 45 * Math.PI / 180;
// Animate right leg counterclockwise (negative rotation)
tween(rightLeg, {
rotation: rightLeg.rotation - legRotationAmount
}, {
duration: 200
});
// Animate left leg clockwise (positive rotation)
tween(leftLeg, {
rotation: leftLeg.rotation + legRotationAmount
}, {
duration: 200
});
}
};
return self;
});
var GameOverMenu = Container.expand(function (isWin) {
var self = Container.call(this);
// Semi-transparent background overlay
var overlay = LK.getAsset('menuOverlay', {
anchorX: 0.5,
anchorY: 0.5,
alpha: 0.95,
scaleX: 2,
scaleY: 4
});
self.addChild(overlay);
// Title text - show MENÜ for paused game, TEBRİKLER for win, OYUN BİTTİ for loss
var titleText = new Text2(isWin ? 'TEBRİKLER!' : gameOver ? 'OYUN BİTTİ' : 'MENÜ', {
size: 120,
fill: isWin ? 0x00AA00 : gameOver ? 0xAA0000 : 0x333333,
font: "bolder"
});
titleText.anchor.set(0.5, 0.5);
titleText.y = -300;
self.addChild(titleText);
// Result text - only show for completed games
if (isWin || gameOver) {
var resultText = new Text2(isWin ? 'Kelimeyi doğru tahmin ettiniz!' : 'Kelime: ' + currentWord, {
size: 80,
fill: 0x333333,
font: "bolder"
});
resultText.anchor.set(0.5, 0.5);
resultText.y = -160;
self.addChild(resultText);
}
// Restart button
var restartButton = LK.getAsset('menuButton', {
anchorX: 0.5,
anchorY: 0.5,
y: -20,
scaleX: 2,
scaleY: 2
});
self.addChild(restartButton);
var restartText = new Text2('YENİDEN BAŞLA', {
size: 60,
fill: 0xFFFFFF,
font: "bolder"
});
restartText.anchor.set(0.5, 0.5);
restartText.y = -20;
self.addChild(restartText);
// Settings button
var settingsButton = LK.getAsset('menuButton', {
anchorX: 0.5,
anchorY: 0.5,
y: 160,
scaleX: 2,
scaleY: 2
});
self.addChild(settingsButton);
var settingsText = new Text2('AYARLAR', {
size: 60,
fill: 0xFFFFFF,
font: "bolder"
});
settingsText.anchor.set(0.5, 0.5);
settingsText.y = 160;
self.addChild(settingsText);
// Continue button (only show if not game over)
var continueButton = null;
var continueText = null;
if (!isWin && currentWord && !gameOver) {
continueButton = LK.getAsset('menuButton', {
anchorX: 0.5,
anchorY: 0.5,
y: 340,
scaleX: 2,
scaleY: 2
});
self.addChild(continueButton);
continueText = new Text2('DEVAM ET', {
size: 60,
fill: 0xFFFFFF,
font: "bolder"
});
continueText.anchor.set(0.5, 0.5);
continueText.y = 340;
self.addChild(continueText);
}
// Credits button
var creditsButton = LK.getAsset('menuButton', {
anchorX: 0.5,
anchorY: 0.5,
y: continueButton ? 520 : 340,
scaleX: 2,
scaleY: 2
});
self.addChild(creditsButton);
var creditsText = new Text2('YAPIMCILAR', {
size: 60,
fill: 0xFFFFFF,
font: "bolder"
});
creditsText.anchor.set(0.5, 0.5);
creditsText.y = continueButton ? 520 : 340;
self.addChild(creditsText);
// Button interactions
self.down = function (x, y, obj) {
// Use the x, y coordinates directly instead of complex coordinate conversion
// Check restart button
if (y >= -100 && y <= 60) {
var buttonSound = LK.getSound('button');
if (typeof buttonSound.setVolume === "function") {
buttonSound.setVolume(storage.soundVolume || 1.0);
} else {
buttonSound.volume = storage.soundVolume || 1.0;
}
buttonSound.play();
restartGame();
}
// Check settings button
else if (y >= 80 && y <= 240) {
var buttonSound = LK.getSound('button');
if (typeof buttonSound.setVolume === "function") {
buttonSound.setVolume(storage.soundVolume || 1.0);
} else {
buttonSound.volume = storage.soundVolume || 1.0;
}
buttonSound.play();
showSettings();
}
// Check continue button
else if (continueButton && y >= 260 && y <= 420) {
var buttonSound = LK.getSound('button');
if (typeof buttonSound.setVolume === "function") {
buttonSound.setVolume(storage.soundVolume || 1.0);
} else {
buttonSound.volume = storage.soundVolume || 1.0;
}
buttonSound.play();
hideInGameMenu();
}
// Check credits button
else if (y >= (continueButton ? 440 : 260) && y <= (continueButton ? 600 : 420)) {
var buttonSound = LK.getSound('button');
if (typeof buttonSound.setVolume === "function") {
buttonSound.setVolume(storage.soundVolume || 1.0);
} else {
buttonSound.volume = storage.soundVolume || 1.0;
}
buttonSound.play();
showCredits();
}
};
return self;
});
var LetterButton = Container.expand(function (letter) {
var self = Container.call(this);
self.letter = letter;
self.isUsed = false;
var buttonBg = self.attachAsset('letterButton', {
anchorX: 0.5,
anchorY: 0.5
});
var letterText = new Text2(letter.toUpperCase(), {
size: 75,
fill: 0xFFFFFF,
font: "bolder"
});
letterText.anchor.set(0.5, 0.5);
self.addChild(letterText);
self.markAsUsed = function () {
if (!self.isUsed) {
self.isUsed = true;
self.removeChild(buttonBg);
var usedBg = self.attachAsset('usedLetterButton', {
anchorX: 0.5,
anchorY: 0.5
});
letterText.tint = 0x999999;
}
};
self.down = function (x, y, obj) {
if (!self.isUsed && !gameMenuOpen) {
guessLetter(self.letter);
}
};
return self;
});
var VolumeSlider = Container.expand(function (title, initialValue, onValueChange) {
var self = Container.call(this);
// Title text
var titleText = new Text2(title, {
size: 50,
fill: 0x333333,
font: "bolder"
});
titleText.anchor.set(0.5, 0.5);
titleText.y = -40;
self.addChild(titleText);
// Slider track
var track = LK.getAsset('menuButton', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 1.5,
scaleY: 0.3
});
track.tint = 0x999999;
self.addChild(track);
// Slider handle
var handle = LK.getAsset('menuButtonSmall', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 0.5,
scaleY: 0.5
});
handle.tint = 0x4a90e2;
self.addChild(handle);
// Value text
var valueText = new Text2(Math.round(initialValue * 100) + '%', {
size: 40,
fill: 0x666666,
font: "bolder"
});
valueText.anchor.set(0.5, 0.5);
valueText.y = 40;
self.addChild(valueText);
// Set initial handle position
var trackWidth = 300 * 1.5; // track width * scaleX
handle.x = (initialValue - 0.5) * trackWidth;
self.setValue = function (value) {
var clampedValue = Math.max(0, Math.min(1, value));
handle.x = (clampedValue - 0.5) * trackWidth;
valueText.setText(Math.round(clampedValue * 100) + '%');
if (onValueChange) {
onValueChange(clampedValue);
}
};
self.down = function (x, y, obj) {
// Calculate relative position on track
var relativeX = x / trackWidth + 0.5;
var newValue = Math.max(0, Math.min(1, relativeX));
self.setValue(newValue);
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0xF5F5F5
});
/****
* Game Code
****/
var wordCategories = {
'HAYVAN': {
words: ['AKREP', 'ASLAN', 'BALIK', 'BİZON', 'BÖCEK', 'ÇAKAL', 'DEVE', 'GEYIK', 'GÜVERCIN', 'HOROZ', 'KARTAL', 'KEDİ', 'KIRPI', 'KÖPEK', 'KUĞU', 'KURBAĞA', 'KURT', 'KUZU', 'LEOPAR', 'MAYMUN', 'ÖRDEK', 'PAPAĞAN', 'SALYANGOZ', 'TAVŞAN', 'TURNA', 'VAŞAK', 'ZEBRA'],
hint: 'HAYVAN'
},
'GIDA': {
words: ['ARMUT', 'BADEM', 'BÖREK', 'ÇORBA', 'DOMATES', 'ELMA', 'FASULYE', 'GÜVEÇ', 'HELVA', 'IZGARA', 'JAMBON', 'KAHVE', 'LAHMACUN', 'MEYVE', 'NOHUT', 'OMLET', 'PEYNIR', 'REÇEL', 'SALATA', 'TAVUK', 'ÜZÜM', 'VIŞNE', 'YOĞURT', 'ZEYTİN'],
hint: 'GIDA'
},
'EŞYA': {
words: ['ANAHTAR', 'BAVUL', 'ÇANTA', 'DOLAP', 'FINCAN', 'GÖZLÜK', 'HALKA', 'IBRIK', 'KALEM', 'LAMBA', 'MASA', 'PERDE', 'RADYO', 'SAAT', 'TELEFON', 'VAZO', 'YAZICI', 'ZINCIR'],
hint: 'EŞYA'
},
'DUYGU': {
words: ['AŞKA', 'BAHAR', 'CESARET', 'DOSTLUK', 'EMEK', 'FIKIR', 'GÜVEN', 'HAYAL', 'IŞIK', 'KORKU', 'LÜTUF', 'MUTLULUK', 'NEFRET', 'OZLEM', 'PIŞMANLIK', 'RAHAT', 'SEVGI', 'TATLILUK', 'UMUT', 'VICDAN', 'YAŞAM', 'ZEVK'],
hint: 'DUYGU/KAVRAM'
},
'MESLEK': {
words: ['AVUKAT', 'BERBER', 'CERRAH', 'DOKTOR', 'ELEKTRIKÇI', 'GARSON', 'HEMŞIRE', 'IŞÇI', 'JOKEY', 'KAPICI', 'LABORANT', 'MIMAR', 'NOTER', 'ÖĞRETMEN', 'PILOT', 'RESSAM', 'SÜRÜCÜ', 'TERZI', 'USTA', 'VETERINER', 'YAZAR', 'ZOOLOG'],
hint: 'MESLEK'
},
'MEKAN': {
words: ['BAHÇE', 'ÇARŞI', 'DERSHANE', 'ECZANE', 'FABRIKA', 'GALERİ', 'HASTANE', 'KAHVEHANE', 'LIMAN', 'MÜZE', 'OTOPARK', 'PLAZA', 'RESTORAN', 'STADYUM', 'TIYATRO', 'ÜNİVERSİTE', 'VİLLA', 'ZOO'],
hint: 'MEKAN'
},
'RENK': {
words: ['AÇIK', 'BEYAZ', 'EFLATUN', 'FÜME', 'GRİ', 'HAKI', 'INDIGO', 'KAHVE', 'LACİVERT', 'MAVI', 'NARİN', 'OPAK', 'PEMBE', 'RENK', 'SARMAL', 'TURQUAZ', 'ULTRAMARIN', 'VİOLE', 'YEMYEŞIL', 'ZEYTUNİ'],
hint: 'RENK/ŞEKİL'
},
'ULAŞIM': {
words: ['ARABA', 'BISIKLET', 'DOLMUŞ', 'EKSPRES', 'FERIBOT', 'GEMI', 'HELIKOPTER', 'JET', 'KAMYON', 'LİMUZİN', 'METRO', 'OTOBÜS', 'ROKET', 'SCOOTER', 'TAKSI', 'UÇAK', 'VAPUR', 'ZEPLİN'],
hint: 'ULAŞIM'
},
'TEKNOLOJİ': {
words: ['ALGORITMA', 'BLUETOOTH', 'DATABASE', 'EMAIL', 'FIRMWARE', 'HARDWARE', 'INTERNET', 'JAVA', 'KLAVYE', 'LAPTOP', 'MODEM', 'NETWORK', 'ONLINE', 'PROGRAM', 'ROUTER', 'SOFTWARE', 'TABLET', 'USB', 'VİRÜS', 'WİFİ'],
hint: 'TEKNOLOJİ'
},
'SPOR': {
words: ['ATLETIZM', 'BASKETBOL', 'ESKRİM', 'FUTBOL', 'GOLF', 'HALTER', 'KARATE', 'MARATON', 'NIŞAN', 'OLIMPIK', 'PENALTI', 'RUGBY', 'TENIS', 'VOLEYBOL', 'YOGA'],
hint: 'SPOR'
},
'SANAT': {
words: ['AKORD', 'BALE', 'CELLO', 'DANS', 'ESTETIK', 'FLÜT', 'GITAR', 'HEYKEL', 'JAZZ', 'KLASIK', 'MÜZIK', 'NOTA', 'OPERA', 'PIYANO', 'RITIM', 'SENFONI', 'TABLO', 'VİOLİN', 'YAYLI', 'ZURNA'],
hint: 'SANAT/MÜZİK'
}
};
var turkishWords = [];
var currentHint = '';
// Flatten all words from categories into single array
for (var category in wordCategories) {
turkishWords = turkishWords.concat(wordCategories[category].words);
}
function getWordWithHint() {
var selectedWord = turkishWords[Math.floor(Math.random() * turkishWords.length)];
// Find which category this word belongs to
for (var category in wordCategories) {
if (wordCategories[category].words.indexOf(selectedWord) !== -1) {
currentHint = wordCategories[category].hint;
break;
}
}
return selectedWord;
}
var currentWord = '';
var guessedLetters = [];
var wrongGuesses = 0;
var maxWrongGuesses = 6;
var gameOver = false;
var gallows;
var wordDisplay;
var letterButtons = [];
var statusText;
var hintDisplay;
function initializeGame() {
currentWord = getWordWithHint();
guessedLetters = [];
wrongGuesses = 0;
gameOver = false;
// Add background
var background = LK.getAsset('background', {
anchorX: 0,
anchorY: 0
});
background.x = 0;
background.y = 0;
game.addChild(background);
// Create gallows
gallows = game.addChild(new Gallows());
gallows.x = 300;
gallows.y = 1200; // Move further down to 1200
gallows.scaleX = 2; // Scale to 2x size
gallows.scaleY = 2; // Scale to 2x size
// Create hint display
hintDisplay = new Text2('İpucu: ' + currentHint, {
size: 100,
fill: 0x007ACC,
font: "bolder"
});
hintDisplay.anchor.set(0.5, 0.5);
hintDisplay.x = 1024;
hintDisplay.y = 880;
game.addChild(hintDisplay);
// Create word display
wordDisplay = new Text2(getDisplayWord(), {
size: 120,
fill: 0x333333,
font: "bolder"
});
wordDisplay.anchor.set(0.5, 0.5);
wordDisplay.x = 1024;
wordDisplay.y = 1000;
game.addChild(wordDisplay);
// Create letter buttons
var alphabet = 'ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ';
var buttonsPerRow = 6;
var buttonSpacing = 280; // Increased spacing between larger buttons
var rowSpacing = 180; // Increased spacing between rows
var totalKeyboardWidth = (buttonsPerRow - 1) * buttonSpacing;
var buttonStartX = (2048 - totalKeyboardWidth) / 2; // Center horizontally
var buttonStartY = 1750; // Move keyboard to bottom area
for (var i = 0; i < alphabet.length; i++) {
var button = new LetterButton(alphabet[i]);
var row = Math.floor(i / buttonsPerRow);
var col = i % buttonsPerRow;
button.x = buttonStartX + col * buttonSpacing;
button.y = buttonStartY + row * rowSpacing;
letterButtons.push(button);
game.addChild(button);
}
// Create status text
statusText = new Text2('Kelimeyi tahmin edin!', {
size: 70,
fill: 0x666666,
font: "bolder"
});
statusText.anchor.set(0.5, 0.5);
statusText.x = 1024;
statusText.y = 1150;
game.addChild(statusText);
// Create in-game menu button at top right
var inGameMenuButton = LK.getAsset('menuButtonSmall', {
anchorX: 1.0,
anchorY: 0.0,
scaleX: 2,
scaleY: 2
});
inGameMenuButton.x = 1948; // 100px from right edge
inGameMenuButton.y = 100; // 100px from top
game.addChild(inGameMenuButton);
var menuButtonText = new Text2('MENÜ', {
size: 60,
fill: 0xFFFFFF,
font: "bolder"
});
menuButtonText.anchor.set(0.5, 0.5);
menuButtonText.x = 1828; // Center of scaled button
menuButtonText.y = 180; // Center of scaled button
game.addChild(menuButtonText);
// Add click handler for menu button
inGameMenuButton.down = function (x, y, obj) {
if (!gameOver && !gameMenuOpen) {
var buttonSound = LK.getSound('button');
if (typeof buttonSound.setVolume === "function") {
buttonSound.setVolume(storage.soundVolume || 1.0);
} else {
buttonSound.volume = storage.soundVolume || 1.0;
}
buttonSound.play();
showInGameMenu();
}
};
}
function getDisplayWord() {
var display = '';
for (var i = 0; i < currentWord.length; i++) {
var letter = currentWord[i];
if (guessedLetters.indexOf(letter) !== -1) {
display += letter + ' ';
} else {
display += '_ ';
}
}
return display.trim();
}
function guessLetter(letter) {
if (gameOver || guessedLetters.indexOf(letter) !== -1) {
return;
}
guessedLetters.push(letter);
// Find and mark button as used
for (var i = 0; i < letterButtons.length; i++) {
if (letterButtons[i].letter === letter) {
letterButtons[i].markAsUsed();
break;
}
}
if (currentWord.indexOf(letter) !== -1) {
// Correct guess
var correctSound = LK.getSound('correct');
if (typeof correctSound.setVolume === "function") {
correctSound.setVolume(storage.soundVolume || 1.0);
} else {
correctSound.volume = storage.soundVolume || 1.0;
}
correctSound.play();
statusText.setText('Doğru tahmin!');
statusText.tint = 0x00AA00;
// Check if word is complete
var wordComplete = true;
for (var i = 0; i < currentWord.length; i++) {
if (guessedLetters.indexOf(currentWord[i]) === -1) {
wordComplete = false;
break;
}
}
if (wordComplete) {
gameOver = true;
stopTimer(); // Süreyi hemen durdur
statusText.setText('Tebrikler! Kazandınız!');
var winSound = LK.getSound('win');
if (typeof winSound.setVolume === "function") {
winSound.setVolume(storage.soundVolume || 1.0);
} else {
winSound.volume = storage.soundVolume || 1.0;
}
winSound.play();
createConfetti(); // Trigger confetti celebration
LK.setTimeout(function () {
showCustomGameOver(true);
}, 2000);
}
} else {
// Wrong guess
wrongGuesses++;
var wrongSound = LK.getSound('wrong');
if (typeof wrongSound.setVolume === "function") {
wrongSound.setVolume(storage.soundVolume || 1.0);
} else {
wrongSound.volume = storage.soundVolume || 1.0;
}
wrongSound.play();
statusText.setText('Yanlış tahmin!');
statusText.tint = 0xAA0000;
gallows.showBodyPart(wrongGuesses - 1);
if (wrongGuesses >= maxWrongGuesses) {
gameOver = true;
gallows.changeToDeadHead();
statusText.setText('Kaybettiniz! Kelime: ' + currentWord);
var loseSound = LK.getSound('lose');
if (typeof loseSound.setVolume === "function") {
loseSound.setVolume(storage.soundVolume || 1.0);
} else {
loseSound.volume = storage.soundVolume || 1.0;
}
loseSound.play();
LK.setTimeout(function () {
showCustomGameOver(false);
}, 2000);
}
}
wordDisplay.setText(getDisplayWord());
// Reset status color after a delay
if (!gameOver) {
LK.setTimeout(function () {
statusText.setText('Kelimeyi tahmin edin!');
statusText.tint = 0x666666;
}, 1500);
}
}
var gameOverMenu;
var gameOverBackground;
var gameMenuOpen = false;
function showCustomGameOver(isWin) {
gameMenuOpen = true;
// Fade out music over 0.5 seconds when the game ends
if (LK.currentMusic && typeof LK.currentMusic.setVolume === "function") {
tween(LK.currentMusic, {
volume: 0
}, {
duration: 500,
onFinish: function onFinish() {
LK.stopMusic();
}
});
} else if (LK.currentMusic) {
// Fallback for music objects without setVolume
tween(LK.currentMusic, {
volume: 0
}, {
duration: 500,
onFinish: function onFinish() {
LK.stopMusic();
}
});
} else {
LK.stopMusic();
}
// Create semi-transparent background overlay for entire screen
gameOverBackground = LK.getAsset('menuOverlay', {
anchorX: 0,
anchorY: 0,
alpha: 0.5,
scaleX: 4,
scaleY: 8
});
gameOverBackground.x = 0;
gameOverBackground.y = 0;
gameOverBackground.tint = 0x000000;
game.addChild(gameOverBackground);
gameOverMenu = game.addChild(new GameOverMenu(isWin));
gameOverMenu.x = 1024;
gameOverMenu.y = 1366;
}
function restartGame() {
gameMenuOpen = false;
if (gameOverMenu) {
game.removeChild(gameOverMenu);
gameOverMenu = null;
}
if (gameOverBackground) {
game.removeChild(gameOverBackground);
gameOverBackground = null;
}
// Clear confetti particles
for (var i = 0; i < confettiParticles.length; i++) {
if (confettiParticles[i].parent) {
game.removeChild(confettiParticles[i]);
}
}
confettiParticles = [];
// Clear existing game elements
game.removeChild(gallows);
game.removeChild(wordDisplay);
game.removeChild(hintDisplay);
game.removeChild(statusText);
for (var i = 0; i < letterButtons.length; i++) {
game.removeChild(letterButtons[i]);
}
letterButtons = [];
// Remove any menu buttons from previous game
var children = game.children.slice();
for (var i = 0; i < children.length; i++) {
var child = children[i];
if (child.alpha !== undefined) {
game.removeChild(child);
}
}
// Restart the game
initializeGame();
}
function showInGameMenu() {
gameMenuOpen = true;
// Lower music volume to half when paused
if (LK.currentMusic && typeof LK.currentMusic.setVolume === "function") {
LK.currentMusic.setVolume(0.5);
} else if (LK.currentMusic) {
LK.currentMusic.volume = 0.5;
}
// Create semi-transparent background overlay for entire screen
gameOverBackground = LK.getAsset('menuOverlay', {
anchorX: 0,
anchorY: 0,
alpha: 0.5,
scaleX: 4,
scaleY: 8
});
gameOverBackground.x = 0;
gameOverBackground.y = 0;
gameOverBackground.tint = 0x000000;
game.addChild(gameOverBackground);
gameOverMenu = game.addChild(new GameOverMenu(false));
gameOverMenu.x = 1024;
gameOverMenu.y = 1366;
}
function hideInGameMenu() {
gameMenuOpen = false;
// Restore music volume to full when resuming
if (LK.currentMusic && typeof LK.currentMusic.setVolume === "function") {
LK.currentMusic.setVolume(1.0);
} else if (LK.currentMusic) {
LK.currentMusic.volume = 1.0;
}
if (gameOverMenu) {
game.removeChild(gameOverMenu);
gameOverMenu = null;
}
if (gameOverBackground) {
game.removeChild(gameOverBackground);
gameOverBackground = null;
}
}
function showSettings() {
if (gameOverMenu) {
game.removeChild(gameOverMenu);
gameOverMenu = null;
}
var settingsMenu = game.addChild(new Container());
settingsMenu.x = 1024;
settingsMenu.y = 1366;
var settingsOverlay = LK.getAsset('menuOverlay', {
anchorX: 0.5,
anchorY: 0.5,
alpha: 0.95,
scaleX: 2,
scaleY: 3
});
settingsMenu.addChild(settingsOverlay);
var settingsTitle = new Text2('AYARLAR', {
size: 100,
fill: 0x333333,
font: "bolder"
});
settingsTitle.anchor.set(0.5, 0.5);
settingsTitle.y = -400;
settingsMenu.addChild(settingsTitle);
// Music volume slider
var musicSlider = new VolumeSlider('MÜZİK SESİ', storage.musicVolume || 1.0, function (value) {
storage.musicVolume = value;
// Set volume for currently playing music
if (LK.currentMusic && typeof LK.currentMusic.setVolume === "function") {
LK.currentMusic.setVolume(value);
} else if (LK.currentMusic) {
LK.currentMusic.volume = value;
}
// Save to persistent storage if available
if (typeof storage.save === "function") {
storage.save("musicVolume", value);
}
// Also update all music assets' default volume for future playback
if (LK.sounds) {
for (var id in LK.sounds) {
if (LK.sounds[id] && LK.sounds[id].isMusic) {
if (typeof LK.sounds[id].setVolume === "function") {
LK.sounds[id].setVolume(value);
} else {
LK.sounds[id].volume = value;
}
}
}
}
});
musicSlider.y = -200;
settingsMenu.addChild(musicSlider);
// Sound effects volume slider
var soundSlider = new VolumeSlider('SES EFEKTLERİ', storage.soundVolume || 1.0, function (value) {
storage.soundVolume = value;
// Save to persistent storage if available
if (typeof storage.save === "function") {
storage.save("soundVolume", value);
}
// Also update all sound effect assets' default volume for future playback
if (LK.sounds) {
for (var id in LK.sounds) {
if (LK.sounds[id] && !LK.sounds[id].isMusic) {
if (typeof LK.sounds[id].setVolume === "function") {
LK.sounds[id].setVolume(value);
} else {
LK.sounds[id].volume = value;
}
}
}
}
});
soundSlider.y = -50;
settingsMenu.addChild(soundSlider);
var backButton = LK.getAsset('menuButton', {
anchorX: 0.5,
anchorY: 0.5,
y: 250,
scaleX: 2,
scaleY: 2
});
settingsMenu.addChild(backButton);
var backText = new Text2('GERİ', {
size: 60,
fill: 0xFFFFFF,
font: "bolder"
});
backText.anchor.set(0.5, 0.5);
backText.y = 250;
settingsMenu.addChild(backText);
settingsMenu.down = function (x, y, obj) {
// Check if click is on back button
if (y >= 170 && y <= 330) {
var buttonSound = LK.getSound('button');
if (typeof buttonSound.setVolume === "function") {
buttonSound.setVolume(storage.soundVolume || 1.0);
} else {
buttonSound.volume = storage.soundVolume || 1.0;
}
buttonSound.play();
game.removeChild(settingsMenu);
gameOverMenu = game.addChild(new GameOverMenu(false));
gameOverMenu.x = 1024;
gameOverMenu.y = 1366;
}
};
}
function showCredits() {
if (gameOverMenu) {
game.removeChild(gameOverMenu);
gameOverMenu = null;
}
var creditsMenu = game.addChild(new Container());
creditsMenu.x = 1024;
creditsMenu.y = 1366;
var creditsOverlay = LK.getAsset('menuOverlay', {
anchorX: 0.5,
anchorY: 0.5,
alpha: 0.95,
scaleX: 2,
scaleY: 2
});
creditsMenu.addChild(creditsOverlay);
var creditsTitle = new Text2('YAPIMCILAR', {
size: 100,
fill: 0x333333,
font: "bolder"
});
creditsTitle.anchor.set(0.5, 0.5);
creditsTitle.y = -300;
creditsMenu.addChild(creditsTitle);
var creditsInfo = new Text2('Geliştirici: FRVR\nTasarım: Ava\nTürk Dil Kurumu Sözlüğü\nkullanılmıştır', {
size: 50,
fill: 0x666666,
font: "bolder"
});
creditsInfo.anchor.set(0.5, 0.5);
creditsInfo.y = -40;
creditsMenu.addChild(creditsInfo);
var backButton = LK.getAsset('menuButton', {
anchorX: 0.5,
anchorY: 0.5,
y: 240,
scaleX: 2,
scaleY: 2
});
creditsMenu.addChild(backButton);
var backText = new Text2('GERİ', {
size: 60,
fill: 0xFFFFFF,
font: "bolder"
});
backText.anchor.set(0.5, 0.5);
backText.y = 240;
creditsMenu.addChild(backText);
creditsMenu.down = function (x, y, obj) {
var buttonSound = LK.getSound('button');
if (typeof buttonSound.setVolume === "function") {
buttonSound.setVolume(storage.soundVolume || 1.0);
} else {
buttonSound.volume = storage.soundVolume || 1.0;
}
buttonSound.play();
game.removeChild(creditsMenu);
gameOverMenu = game.addChild(new GameOverMenu(false));
gameOverMenu.x = 1024;
gameOverMenu.y = 1366;
};
}
// Confetti system
var confettiParticles = [];
function createConfetti() {
// Clear any existing confetti
for (var i = 0; i < confettiParticles.length; i++) {
if (confettiParticles[i].parent) {
game.removeChild(confettiParticles[i]);
}
}
confettiParticles = [];
// Create confetti particles from left and right sides
var colors = [0xFF6B6B, 0x4ECDC4, 0x45B7D1, 0xFFA726, 0x66BB6A, 0xAB47BC];
var centerX = 1024; // Center of screen
var centerTopY = 400; // Center-top target area
// Left side confetti
for (var i = 0; i < 30; i++) {
var confetti = LK.getAsset('letterButton', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 0.3,
scaleY: 0.3
});
confetti.tint = colors[Math.floor(Math.random() * colors.length)];
confetti.x = Math.random() * 200; // Start from left edge
confetti.y = 1000 + Math.random() * 400; // Start from mid-screen height
confetti.rotation = Math.random() * Math.PI * 2; // Random initial rotation
confettiParticles.push(confetti);
game.addChild(confetti);
// Animate towards center-top with spread effect
var targetX = centerX + (Math.random() - 0.5) * 400; // Spread around center
var targetY = centerTopY + Math.random() * 200; // Spread around center-top
tween(confetti, {
x: targetX,
y: targetY,
rotation: confetti.rotation + (Math.random() - 0.5) * Math.PI * 4,
alpha: 0
}, {
duration: 1500 + Math.random() * 1000,
easing: tween.easeOut,
onFinish: function () {
if (this.parent) {
game.removeChild(this);
}
}.bind(confetti)
});
}
// Right side confetti
for (var i = 0; i < 30; i++) {
var confetti = LK.getAsset('letterButton', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 0.3,
scaleY: 0.3
});
confetti.tint = colors[Math.floor(Math.random() * colors.length)];
confetti.x = 1848 + Math.random() * 200; // Start from right edge
confetti.y = 1000 + Math.random() * 400; // Start from mid-screen height
confetti.rotation = Math.random() * Math.PI * 2; // Random initial rotation
confettiParticles.push(confetti);
game.addChild(confetti);
// Animate towards center-top with spread effect
var targetX = centerX + (Math.random() - 0.5) * 400; // Spread around center
var targetY = centerTopY + Math.random() * 200; // Spread around center-top
tween(confetti, {
x: targetX,
y: targetY,
rotation: confetti.rotation + (Math.random() - 0.5) * Math.PI * 4,
alpha: 0
}, {
duration: 1500 + Math.random() * 1000,
easing: tween.easeOut,
onFinish: function () {
if (this.parent) {
game.removeChild(this);
}
}.bind(confetti)
});
}
}
// Timer and Best Time variables
var timerValue = 0; // seconds
var timerInterval = null;
var timerText = null;
var bestTime = storage.bestTime || null;
var bestTimeText = null;
// Helper to format seconds as mm:ss.s
function formatTime(secs) {
var min = Math.floor(secs / 60);
var sec = secs % 60;
return (min > 0 ? min + ":" : "") + sec.toFixed(1).padStart(4, "0");
}
// Add timer and best time display to the right center of the screen
function addTimerAndBestTimeDisplay() {
// Timer (move to top center)
timerText = new Text2("Süre: 0.0", {
size: 90,
fill: 0x333333,
font: "bolder"
});
timerText.anchor.set(0.5, 0.5);
// Place at top center, below the top bar (avoid top 100px for menu)
timerText.x = 1024;
timerText.y = 160;
game.addChild(timerText);
// Best time (keep at right center)
var bestLabel = new Text2("En İyi Süre", {
size: 60,
fill: 0x007ACC,
font: "bolder"
});
bestLabel.anchor.set(0.5, 0.5);
bestLabel.x = 1800;
bestLabel.y = 1200;
game.addChild(bestLabel);
bestTimeText = new Text2(bestTime !== null ? formatTime(bestTime) + " sn" : "--", {
size: 80,
fill: 0x00AA00,
font: "bolder"
});
bestTimeText.anchor.set(0.5, 0.5);
bestTimeText.x = 1800;
bestTimeText.y = 1270;
game.addChild(bestTimeText);
}
// Start timer
function startTimer() {
timerValue = 0;
if (timerText) timerText.setText("Süre: 0.0");
if (timerInterval) LK.clearInterval(timerInterval);
timerInterval = LK.setInterval(function () {
timerValue += 0.1;
if (timerText) timerText.setText("Süre: " + timerValue.toFixed(1));
}, 100);
}
// Stop timer
function stopTimer() {
if (timerInterval) {
LK.clearInterval(timerInterval);
timerInterval = null;
}
}
// Update best time if needed
function updateBestTime() {
if (bestTime === null || timerValue < bestTime) {
bestTime = timerValue;
storage.bestTime = bestTime;
if (typeof storage.save === "function") {
storage.save("bestTime", bestTime);
}
if (bestTimeText) bestTimeText.setText(formatTime(bestTime) + " sn");
}
}
// Patch initializeGame to add timer and best time display and start timer
var _originalInitializeGame = initializeGame;
initializeGame = function initializeGame() {
_originalInitializeGame();
addTimerAndBestTimeDisplay();
startTimer();
};
// Patch showCustomGameOver to stop timer and update best time if win
var _originalShowCustomGameOver = showCustomGameOver;
showCustomGameOver = function showCustomGameOver(isWin) {
stopTimer();
if (isWin) {
updateBestTime();
}
_originalShowCustomGameOver(isWin);
};
// Patch restartGame to remove timer and best time display
var _originalRestartGame = restartGame;
restartGame = function restartGame() {
// Remove timer and best time display if present
if (timerText && timerText.parent) game.removeChild(timerText);
if (bestTimeText && bestTimeText.parent) game.removeChild(bestTimeText);
// Remove best label
var children = game.children.slice();
for (var i = 0; i < children.length; i++) {
var child = children[i];
if (child && child.text === "En İyi Süre") {
game.removeChild(child);
}
}
stopTimer();
_originalRestartGame();
};
// Patch showInGameMenu and hideInGameMenu to pause/resume timer
var _originalShowInGameMenu = showInGameMenu;
showInGameMenu = function showInGameMenu() {
stopTimer();
_originalShowInGameMenu();
};
var _originalHideInGameMenu = hideInGameMenu;
hideInGameMenu = function hideInGameMenu() {
_originalHideInGameMenu();
if (!gameOver) startTimer();
};
// Initialize the game
initializeGame();
// Play background music at game start at full volume
LK.playMusic('Hangman', {
loop: true,
volume: 1.0
});
;
; ===================================================================
--- original.js
+++ change.js
@@ -201,9 +201,9 @@
// Title text - show MENÜ for paused game, TEBRİKLER for win, OYUN BİTTİ for loss
var titleText = new Text2(isWin ? 'TEBRİKLER!' : gameOver ? 'OYUN BİTTİ' : 'MENÜ', {
size: 120,
fill: isWin ? 0x00AA00 : gameOver ? 0xAA0000 : 0x333333,
- font: "bold"
+ font: "bolder"
});
titleText.anchor.set(0.5, 0.5);
titleText.y = -300;
self.addChild(titleText);
@@ -211,9 +211,9 @@
if (isWin || gameOver) {
var resultText = new Text2(isWin ? 'Kelimeyi doğru tahmin ettiniz!' : 'Kelime: ' + currentWord, {
size: 80,
fill: 0x333333,
- font: "bold"
+ font: "bolder"
});
resultText.anchor.set(0.5, 0.5);
resultText.y = -160;
self.addChild(resultText);
@@ -229,9 +229,9 @@
self.addChild(restartButton);
var restartText = new Text2('YENİDEN BAŞLA', {
size: 60,
fill: 0xFFFFFF,
- font: "bold"
+ font: "bolder"
});
restartText.anchor.set(0.5, 0.5);
restartText.y = -20;
self.addChild(restartText);
@@ -246,9 +246,9 @@
self.addChild(settingsButton);
var settingsText = new Text2('AYARLAR', {
size: 60,
fill: 0xFFFFFF,
- font: "bold"
+ font: "bolder"
});
settingsText.anchor.set(0.5, 0.5);
settingsText.y = 160;
self.addChild(settingsText);
@@ -266,9 +266,9 @@
self.addChild(continueButton);
continueText = new Text2('DEVAM ET', {
size: 60,
fill: 0xFFFFFF,
- font: "bold"
+ font: "bolder"
});
continueText.anchor.set(0.5, 0.5);
continueText.y = 340;
self.addChild(continueText);
@@ -284,9 +284,9 @@
self.addChild(creditsButton);
var creditsText = new Text2('YAPIMCILAR', {
size: 60,
fill: 0xFFFFFF,
- font: "bold"
+ font: "bolder"
});
creditsText.anchor.set(0.5, 0.5);
creditsText.y = continueButton ? 520 : 340;
self.addChild(creditsText);
@@ -350,9 +350,9 @@
});
var letterText = new Text2(letter.toUpperCase(), {
size: 75,
fill: 0xFFFFFF,
- font: "bold"
+ font: "bolder"
});
letterText.anchor.set(0.5, 0.5);
self.addChild(letterText);
self.markAsUsed = function () {
@@ -378,9 +378,9 @@
// Title text
var titleText = new Text2(title, {
size: 50,
fill: 0x333333,
- font: "bold"
+ font: "bolder"
});
titleText.anchor.set(0.5, 0.5);
titleText.y = -40;
self.addChild(titleText);
@@ -405,9 +405,9 @@
// Value text
var valueText = new Text2(Math.round(initialValue * 100) + '%', {
size: 40,
fill: 0x666666,
- font: "bold"
+ font: "bolder"
});
valueText.anchor.set(0.5, 0.5);
valueText.y = 40;
self.addChild(valueText);
@@ -536,9 +536,9 @@
// Create hint display
hintDisplay = new Text2('İpucu: ' + currentHint, {
size: 100,
fill: 0x007ACC,
- font: "bold"
+ font: "bolder"
});
hintDisplay.anchor.set(0.5, 0.5);
hintDisplay.x = 1024;
hintDisplay.y = 880;
@@ -546,9 +546,9 @@
// Create word display
wordDisplay = new Text2(getDisplayWord(), {
size: 120,
fill: 0x333333,
- font: "bold"
+ font: "bolder"
});
wordDisplay.anchor.set(0.5, 0.5);
wordDisplay.x = 1024;
wordDisplay.y = 1000;
@@ -573,9 +573,9 @@
// Create status text
statusText = new Text2('Kelimeyi tahmin edin!', {
size: 70,
fill: 0x666666,
- font: "bold"
+ font: "bolder"
});
statusText.anchor.set(0.5, 0.5);
statusText.x = 1024;
statusText.y = 1150;
@@ -592,9 +592,9 @@
game.addChild(inGameMenuButton);
var menuButtonText = new Text2('MENÜ', {
size: 60,
fill: 0xFFFFFF,
- font: "bold"
+ font: "bolder"
});
menuButtonText.anchor.set(0.5, 0.5);
menuButtonText.x = 1828; // Center of scaled button
menuButtonText.y = 180; // Center of scaled button
@@ -850,9 +850,9 @@
settingsMenu.addChild(settingsOverlay);
var settingsTitle = new Text2('AYARLAR', {
size: 100,
fill: 0x333333,
- font: "bold"
+ font: "bolder"
});
settingsTitle.anchor.set(0.5, 0.5);
settingsTitle.y = -400;
settingsMenu.addChild(settingsTitle);
@@ -916,9 +916,9 @@
settingsMenu.addChild(backButton);
var backText = new Text2('GERİ', {
size: 60,
fill: 0xFFFFFF,
- font: "bold"
+ font: "bolder"
});
backText.anchor.set(0.5, 0.5);
backText.y = 250;
settingsMenu.addChild(backText);
@@ -957,17 +957,17 @@
creditsMenu.addChild(creditsOverlay);
var creditsTitle = new Text2('YAPIMCILAR', {
size: 100,
fill: 0x333333,
- font: "bold"
+ font: "bolder"
});
creditsTitle.anchor.set(0.5, 0.5);
creditsTitle.y = -300;
creditsMenu.addChild(creditsTitle);
var creditsInfo = new Text2('Geliştirici: FRVR\nTasarım: Ava\nTürk Dil Kurumu Sözlüğü\nkullanılmıştır', {
size: 50,
fill: 0x666666,
- font: "bold"
+ font: "bolder"
});
creditsInfo.anchor.set(0.5, 0.5);
creditsInfo.y = -40;
creditsMenu.addChild(creditsInfo);
@@ -981,9 +981,9 @@
creditsMenu.addChild(backButton);
var backText = new Text2('GERİ', {
size: 60,
fill: 0xFFFFFF,
- font: "bold"
+ font: "bolder"
});
backText.anchor.set(0.5, 0.5);
backText.y = 240;
creditsMenu.addChild(backText);
@@ -1097,9 +1097,9 @@
// Timer (move to top center)
timerText = new Text2("Süre: 0.0", {
size: 90,
fill: 0x333333,
- font: "bold"
+ font: "bolder"
});
timerText.anchor.set(0.5, 0.5);
// Place at top center, below the top bar (avoid top 100px for menu)
timerText.x = 1024;
@@ -1108,18 +1108,18 @@
// Best time (keep at right center)
var bestLabel = new Text2("En İyi Süre", {
size: 60,
fill: 0x007ACC,
- font: "bold"
+ font: "bolder"
});
bestLabel.anchor.set(0.5, 0.5);
bestLabel.x = 1800;
bestLabel.y = 1200;
game.addChild(bestLabel);
bestTimeText = new Text2(bestTime !== null ? formatTime(bestTime) + " sn" : "--", {
size: 80,
fill: 0x00AA00,
- font: "bold"
+ font: "bolder"
});
bestTimeText.anchor.set(0.5, 0.5);
bestTimeText.x = 1800;
bestTimeText.y = 1270;