User prompt
Faruk yerine Celil yazsın
User prompt
Arka plan assets olsun
User prompt
deste kart boyutunda olsun
User prompt
sağ üste kart destesi olsun
User prompt
Para $200 az olursa oyun biter
User prompt
Bahis seçin yerine Choose Bet yaz , NEW GAME yerine Next Round yaz
User prompt
Player'in parası biterse kaybeder eğer kasanın parası biterse oyun kazanılır.Her iki durumdada oyun biter.
User prompt
Kaybedersek bahis kadar paramız azalsın eğer kazanırsak bahis kadar paramız artsınv
User prompt
Bahisler tur başlamadan seçilsin ve 200$ ,500$ ve 1000$ olsun.
User prompt
Kasanın parası 30000$ olsun
User prompt
New game yerine para bitince yeni oyun başlasın
User prompt
Bütün oyuncuların 10000$ olsun. Dolarlar kartların altında yazsın.
User prompt
1. NPC nin Faruk ,2. NPC nin adı Sampuan olsun
User prompt
NPC ler yanımızda dursun
User prompt
2 tanede yanımızda NPC player olsun
User prompt
Please fix the bug: 'Cannot set properties of undefined (setting 'fill')' in or related to this line: 'cardText.style.fill = "#ff0000";' Line Number: 100
Code edit (1 edits merged)
Please save this source code
User prompt
Blackjack Master
Initial prompt
blackjack
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var Button = Container.expand(function (text, color) {
var self = Container.call(this);
var buttonGraphics = self.attachAsset(color === 0x228B22 ? 'hitButton' : color === 0xDC143C ? 'standButton' : 'newGameButton', {
anchorX: 0.5,
anchorY: 0.5
});
var buttonText = new Text2(text, {
size: 36,
fill: 0xFFFFFF
});
buttonText.anchor.set(0.5, 0.5);
self.addChild(buttonText);
self.enabled = true;
self.setEnabled = function (enabled) {
self.enabled = enabled;
buttonGraphics.alpha = enabled ? 1.0 : 0.5;
buttonText.alpha = enabled ? 1.0 : 0.5;
};
self.down = function (x, y, obj) {
if (!self.enabled) return;
if (text === 'HIT') {
playerHit();
} else if (text === 'STAND') {
playerStand();
} else if (text === 'NEW GAME') {
startNewGame();
}
};
return self;
});
var Card = Container.expand(function (suit, value) {
var self = Container.call(this);
self.suit = suit;
self.value = value;
self.faceUp = false;
var cardGraphics = self.attachAsset('card', {
anchorX: 0.5,
anchorY: 0.5
});
var cardBack = self.attachAsset('cardBack', {
anchorX: 0.5,
anchorY: 0.5
});
// Create card text
var cardText = new Text2('', {
size: 40,
fill: 0x000000
});
cardText.anchor.set(0.5, 0.5);
self.addChild(cardText);
self.flip = function () {
self.faceUp = true;
cardBack.visible = false;
cardGraphics.visible = true;
cardText.visible = true;
var displayValue = self.value;
if (displayValue === 1) displayValue = 'A';else if (displayValue === 11) displayValue = 'J';else if (displayValue === 12) displayValue = 'Q';else if (displayValue === 13) displayValue = 'K';
var suitSymbol = '';
if (self.suit === 'hearts') suitSymbol = '♥';else if (self.suit === 'diamonds') suitSymbol = '♦';else if (self.suit === 'clubs') suitSymbol = '♣';else if (self.suit === 'spades') suitSymbol = '♠';
cardText.setText(displayValue + '\n' + suitSymbol);
if (self.suit === 'hearts' || self.suit === 'diamonds') {
cardText.fill = 0xff0000;
}
LK.getSound('cardFlip').play();
};
self.getValue = function () {
if (self.value >= 10) return 10;
return self.value;
};
// Initialize card face down
cardBack.visible = true;
cardGraphics.visible = false;
cardText.visible = false;
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x0F5132
});
/****
* Game Code
****/
var suits = ['hearts', 'diamonds', 'clubs', 'spades'];
var deck = [];
var playerCards = [];
var dealerCards = [];
var gameState = 'betting'; // 'betting', 'playing', 'dealerTurn', 'gameOver'
var playerScore = 0;
var dealerScore = 0;
var wins = 0;
var losses = 0;
// UI Elements
var playerScoreText = new Text2('Player: 0', {
size: 48,
fill: 0xFFFFFF
});
playerScoreText.anchor.set(0.5, 0);
playerScoreText.x = 1024;
playerScoreText.y = 1800;
game.addChild(playerScoreText);
var dealerScoreText = new Text2('Dealer: ?', {
size: 48,
fill: 0xFFFFFF
});
dealerScoreText.anchor.set(0.5, 0);
dealerScoreText.x = 1024;
dealerScoreText.y = 500;
game.addChild(dealerScoreText);
var gameResultText = new Text2('', {
size: 60,
fill: 0xFFFF00
});
gameResultText.anchor.set(0.5, 0.5);
gameResultText.x = 1024;
gameResultText.y = 1366;
game.addChild(gameResultText);
var winsText = new Text2('Wins: 0', {
size: 36,
fill: 0xFFFFFF
});
winsText.anchor.set(0, 0);
winsText.x = 150;
winsText.y = 150;
game.addChild(winsText);
var lossesText = new Text2('Losses: 0', {
size: 36,
fill: 0xFFFFFF
});
lossesText.anchor.set(0, 0);
lossesText.x = 150;
lossesText.y = 200;
game.addChild(lossesText);
// Buttons
var hitButton = game.addChild(new Button('HIT', 0x228B22));
hitButton.x = 800;
hitButton.y = 2200;
var standButton = game.addChild(new Button('STAND', 0xDC143C));
standButton.x = 1200;
standButton.y = 2200;
var newGameButton = game.addChild(new Button('NEW GAME', 0x4169E1));
newGameButton.x = 1024;
newGameButton.y = 2400;
function createDeck() {
deck = [];
for (var suitIndex = 0; suitIndex < suits.length; suitIndex++) {
var suit = suits[suitIndex];
for (var value = 1; value <= 13; value++) {
deck.push({
suit: suit,
value: value
});
}
}
// Shuffle deck
for (var i = deck.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = deck[i];
deck[i] = deck[j];
deck[j] = temp;
}
}
function dealCard(toPlayer) {
if (deck.length === 0) createDeck();
var cardData = deck.pop();
var card = new Card(cardData.suit, cardData.value);
game.addChild(card);
if (toPlayer) {
playerCards.push(card);
card.x = 400 + (playerCards.length - 1) * 200;
card.y = 2000;
card.flip();
} else {
dealerCards.push(card);
card.x = 400 + (dealerCards.length - 1) * 200;
card.y = 800;
// Only flip first dealer card
if (dealerCards.length === 1) {
card.flip();
}
}
return card;
}
function calculateScore(cards, showAll) {
var score = 0;
var aces = 0;
for (var i = 0; i < cards.length; i++) {
var card = cards[i];
if (!showAll && i > 0 && cards === dealerCards && !card.faceUp) {
continue; // Skip face-down dealer cards
}
var value = card.getValue();
if (card.value === 1) {
aces++;
score += 11;
} else {
score += value;
}
}
// Adjust for aces
while (score > 21 && aces > 0) {
score -= 10;
aces--;
}
return score;
}
function updateScores() {
playerScore = calculateScore(playerCards, true);
dealerScore = calculateScore(dealerCards, gameState === 'dealerTurn' || gameState === 'gameOver');
playerScoreText.setText('Player: ' + playerScore);
if (gameState === 'dealerTurn' || gameState === 'gameOver') {
dealerScoreText.setText('Dealer: ' + dealerScore);
} else {
dealerScoreText.setText('Dealer: ?');
}
}
function playerHit() {
if (gameState !== 'playing') return;
dealCard(true);
updateScores();
if (playerScore > 21) {
// Player busts
gameState = 'gameOver';
gameResultText.setText('BUST! You lose!');
losses++;
lossesText.setText('Losses: ' + losses);
hitButton.setEnabled(false);
standButton.setEnabled(false);
LK.getSound('lose').play();
// Reveal dealer's hidden card
if (dealerCards.length > 1 && !dealerCards[1].faceUp) {
dealerCards[1].flip();
}
updateScores();
}
}
function playerStand() {
if (gameState !== 'playing') return;
gameState = 'dealerTurn';
hitButton.setEnabled(false);
standButton.setEnabled(false);
// Reveal dealer's hidden card
if (dealerCards.length > 1 && !dealerCards[1].faceUp) {
dealerCards[1].flip();
}
dealerPlay();
}
function dealerPlay() {
updateScores();
if (dealerScore < 17) {
// Dealer hits
LK.setTimeout(function () {
dealCard(false);
dealerCards[dealerCards.length - 1].flip();
dealerPlay();
}, 1000);
} else {
// Dealer stands
endGame();
}
}
function endGame() {
gameState = 'gameOver';
updateScores();
var playerBlackjack = playerCards.length === 2 && playerScore === 21;
var dealerBlackjack = dealerCards.length === 2 && dealerScore === 21;
if (playerScore > 21) {
gameResultText.setText('BUST! You lose!');
losses++;
LK.getSound('lose').play();
} else if (dealerScore > 21) {
gameResultText.setText('Dealer busts! You win!');
wins++;
LK.getSound('win').play();
} else if (playerBlackjack && !dealerBlackjack) {
gameResultText.setText('BLACKJACK! You win!');
wins++;
LK.getSound('win').play();
} else if (dealerBlackjack && !playerBlackjack) {
gameResultText.setText('Dealer blackjack! You lose!');
losses++;
LK.getSound('lose').play();
} else if (playerScore > dealerScore) {
gameResultText.setText('You win!');
wins++;
LK.getSound('win').play();
} else if (dealerScore > playerScore) {
gameResultText.setText('You lose!');
losses++;
LK.getSound('lose').play();
} else {
gameResultText.setText('Push! It\'s a tie!');
}
winsText.setText('Wins: ' + wins);
lossesText.setText('Losses: ' + losses);
}
function startNewGame() {
// Clear previous cards
for (var i = 0; i < playerCards.length; i++) {
playerCards[i].destroy();
}
for (var i = 0; i < dealerCards.length; i++) {
dealerCards[i].destroy();
}
playerCards = [];
dealerCards = [];
gameState = 'playing';
gameResultText.setText('');
hitButton.setEnabled(true);
standButton.setEnabled(true);
// Deal initial cards
dealCard(true); // Player card 1
dealCard(false); // Dealer card 1
dealCard(true); // Player card 2
dealCard(false); // Dealer card 2 (face down)
updateScores();
// Check for blackjack
if (playerScore === 21) {
playerStand();
}
}
// Initialize game
createDeck();
startNewGame();
game.update = function () {
// Game loop - most logic is event-driven
}; ===================================================================
--- original.js
+++ change.js
@@ -66,9 +66,9 @@
var suitSymbol = '';
if (self.suit === 'hearts') suitSymbol = '♥';else if (self.suit === 'diamonds') suitSymbol = '♦';else if (self.suit === 'clubs') suitSymbol = '♣';else if (self.suit === 'spades') suitSymbol = '♠';
cardText.setText(displayValue + '\n' + suitSymbol);
if (self.suit === 'hearts' || self.suit === 'diamonds') {
- cardText.style.fill = "#ff0000";
+ cardText.fill = 0xff0000;
}
LK.getSound('cardFlip').play();
};
self.getValue = function () {