User prompt
if the new card is the same value as current card, it should count as correct and add 1 to the score
User prompt
destroy startmessage displaye after the left counter is reduced by 1
User prompt
remove startmessagedisplay after the first card is updated
Code edit (2 edits merged)
Please save this source code
User prompt
move start message background 500 pixels to the right
User prompt
move start message background 500 pixels to the right
Code edit (11 edits merged)
Please save this source code
User prompt
add an asset on the background of startmessagedisplay
Code edit (1 edits merged)
Please save this source code
Code edit (11 edits merged)
Please save this source code
User prompt
center the text within startmessagedisplay
Code edit (6 edits merged)
Please save this source code
User prompt
move startmessagedisplaye 800 pixels to the right
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
reduce font size for startmessage display 70%
User prompt
create a new class called startmessagedisplay. will display a message on game start that reads: ''Swipe up for Higher or down for Lower!''
User prompt
add a new message display on game start that reads: ''Swipe up for Higher or down for Lower!
User prompt
startmessaagedisplay should be white font
User prompt
make sure startmessagedisplay is show in front of background and cards
User prompt
add a new message when the game starts. It should read: ''Swipe up for Higher or down for Lower!''. Location should be on the center right of the screen
Code edit (3 edits merged)
Please save this source code
User prompt
add a new message when the game starts. It should read: ''Swipe up for Higher or down for Lower!''. Location should be on the right of the current card on game start.
Code edit (1 edits merged)
Please save this source code
User prompt
move left memssage 1000 pixels to the right
/**** * Classes ****/ var MessageDisplay = Container.expand(function () { var self = Container.call(this); var messageText = new Text2('', { size: 300, fill: '#ffffff', stroke: '#000000', strokeThickness: 8, anchor: { x: 0.5, y: 0 } }); self.addChild(messageText); messageText.y = 2732 - messageText.height - 200; self.showMessage = function (message) { messageText.setText(message); messageText.x = 2048 / 2 - messageText.width / 2; self.addChild(messageText); LK.setTimeout(function () { messageText.setText(''); }, 2000); }; }); var Card = Container.expand(function () { var self = Container.call(this); self.setSuit = function (suit) { self.suit = suit; var suitAsset = self.createAsset('suit_' + suit, 'Suit Asset', 0.5, 0.5); suitAsset.x = 0; suitAsset.y = 0; self.addChild(suitAsset); }; var cardGraphics = self.createAsset('card', 'Card Graphics', 0.5, 0.5); cardGraphics.anchor.set(0.5, 0.5); var valueText = new Text2('', { size: 120, fill: '#000000', font: 'bold', anchor: { x: 0, y: 0 } }); valueText.anchor.set(0, 0); valueText.x = -cardGraphics.width / 2 + 50; valueText.y = -cardGraphics.height / 2 + 30; var valueText2 = new Text2('', { size: 120, fill: '#000000', font: 'bold', anchor: { x: 1, y: 1 } }); valueText2.anchor.set(0, 0); valueText2.x = cardGraphics.width / 2 - 50; valueText2.y = cardGraphics.height / 2 - 30; valueText2.scale.y = -1; valueText2.scale.x = -1; self.addChild(valueText2); self.setValue = function (value) { self.value = value; valueText.setText(value.toString()); valueText2.setText(value.toString()); }; self.addChild(valueText); self.addChild(valueText2); var suitText = new Text2('', { size: 120, fill: '#000000', anchor: { x: 0.5, y: 1 } }); suitText.y = 0; self.addChild(suitText); self.setValue = function (value) { self.value = value; var displayValue = value; if (value === 11) { displayValue = 'J'; } else if (value === 12) { displayValue = 'Q'; } else if (value === 13) { displayValue = 'K'; } else if (value === 1) { displayValue = 'A'; } valueText.setText(displayValue.toString()); valueText2.setText(displayValue.toString()); }; self.value = 0; }); var Player = Container.expand(function () { var self = Container.call(this); var playerGraphics = self.createAsset('player', 'Player Graphics', .5, .5); self.score = 0; self.updateScore = function (score) { self.score = score; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ var player = new Player(); var background = game.createAsset('background', 'Background Asset', 0.5, 0.5); background.x = 2048 / 2; background.y = 2732 / 2; game.addChild(background); game.on('up', function (obj) { var endY = obj.event.getLocalPosition(game).y; if (startY === null || endY === null) { return; } var swipeDirection = startY - endY; var guess = swipeDirection > 0 ? 'higher' : 'lower'; if (deck.length === 0) { LK.showGameOver(); return; } nextCard = deck.pop(); if (!nextCard) { return; } // Decrease the cards left counter cardsLeftTxt.setText('Left: ' + deck.length); console.log('Next Card:', 'Value:', nextCard.value, 'Suit:', nextCard.suit); game.addChild(nextCard); nextCard.x = 2048 / 2 + 500; nextCard.y = swipeDirection > 0 ? 2732 + nextCard.height : -nextCard.height; var speed = 50; LK.on('tick', function () { if (nextCard) { if (swipeDirection > 0 && nextCard.y > 2732 / 2) { nextCard.y -= speed; } else if (swipeDirection < 0 && nextCard.y < 2732 / 2) { nextCard.y += speed; } } }); if (game.messageDisplay) { game.messageDisplay.destroy(); } game.messageDisplay = game.addChild(new MessageDisplay()); var correctGuess = guess === 'higher' && nextCard.value > currentCard.value || guess === 'lower' && nextCard.value < currentCard.value; LK.setTimeout(function () { if (correctGuess) { player.updateScore(player.score + 1); game.updateScoreDisplay(player.score); LK.setScore(player.score); game.messageDisplay.showMessage('Correct!'); } else { game.messageDisplay.showMessage('Wrong!'); } }, 1000); console.log('Current Card:', 'Value:', currentCard.value, 'Suit:', currentCard.suit); LK.on('tick', function moveCard() { if (Math.abs(nextCard.y - 2732 / 2) <= 20) { LK.setTimeout(function () { LK.on('tick', function moveCardLeft() { if (currentCard && currentCard.x > 2048 / 2 - 500) { currentCard.x -= 20; } else { LK.off('tick', moveCardLeft); } }); currentCard = nextCard; nextCard = null; startY = null; currentCard.x = 2048 / 2; }, 500); LK.off('tick', moveCard); } }); }); var scoreTxt = new Text2('0', { size: 112, fill: "#ffffff", stroke: '#000000', strokeThickness: 8, anchor: { x: .5, y: .5 } }); var cardsLeftTxt = new Text2('Left: 51', { size: 112, fill: "#ffffff", stroke: '#000000', strokeThickness: 8, anchor: { x: 0, y: .5 } }); scoreTxt.y = 50; scoreTxt.x = -1340; cardsLeftTxt.x = scoreTxt.x + scoreTxt.width + 800; cardsLeftTxt.y = 50; LK.gui.topRight.addChild(scoreTxt); LK.gui.topRight.addChild(cardsLeftTxt); game.updateScoreDisplay = function (score) { scoreTxt.setText('Score: ' + score.toString()); }; game.updateScoreDisplay(0); // Create a new message display for the start of the game var startMessageDisplay = game.addChild(new MessageDisplay()); startMessageDisplay.showMessage('Swipe up for Higher or down for Lower!'); startMessageDisplay.x = 2048 / 2; startMessageDisplay.y = 2732 / 2; var deck = []; var currentCard = null; var nextCard = null; var suits = ['hearts', 'diamonds', 'clubs', 'spades']; for (var s = 0; s < suits.length; s++) { for (var i = 1; i <= 13; i++) { var card = new Card(); card.setValue(i); card.setSuit(suits[s]); deck.push(card); } } deck.sort(function () { return 0.5 - Math.random(); }); currentCard = deck[Math.floor(Math.random() * deck.length)]; console.log('First Card:', 'Value:', currentCard.value, 'Suit:', currentCard.suit); var index = deck.indexOf(currentCard); deck.splice(index, 1); game.addChild(currentCard); currentCard.x = 2048 / 2 - 500; currentCard.y = 2732 / 2; // Update the cards left counter cardsLeftTxt.setText('Left: ' + deck.length); var startY = null; game.on('down', function (obj) { startY = obj.event.getLocalPosition(game).y; });
===================================================================
--- original.js
+++ change.js
@@ -215,8 +215,14 @@
game.updateScoreDisplay = function (score) {
scoreTxt.setText('Score: ' + score.toString());
};
game.updateScoreDisplay(0);
+
+// Create a new message display for the start of the game
+var startMessageDisplay = game.addChild(new MessageDisplay());
+startMessageDisplay.showMessage('Swipe up for Higher or down for Lower!');
+startMessageDisplay.x = 2048 / 2;
+startMessageDisplay.y = 2732 / 2;
var deck = [];
var currentCard = null;
var nextCard = null;
var suits = ['hearts', 'diamonds', 'clubs', 'spades'];
@@ -239,15 +245,8 @@
currentCard.x = 2048 / 2 - 500;
currentCard.y = 2732 / 2;
// Update the cards left counter
cardsLeftTxt.setText('Left: ' + deck.length);
-
-// Add a new message display for game start instructions
-var startMessageDisplay = new MessageDisplay();
-startMessageDisplay.showMessage('Swipe up for Higher or down for Lower!');
-startMessageDisplay.x = 1500;
-startMessageDisplay.y = 1000;
-game.addChild(startMessageDisplay);
var startY = null;
game.on('down', function (obj) {
startY = obj.event.getLocalPosition(game).y;
});
\ No newline at end of file
Green casino baize. To be used as background. No shade. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white rectangle flat. rounded corners. no background. no shadow. card shape.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.