User prompt
the buttons in the main menu are not correctly clicable
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'toLowerCase')' in or related to this line: 'if (guess.toLowerCase() === self.words[self.currentWordIndex]) {' Line Number: 22
Initial prompt
Word Guesser
/**** * Classes ****/ //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Class for managing the word puzzle var WordPuzzle = Container.expand(function () { var self = Container.call(this); self.words = ["apple", "banana", "cherry", "date", "elderberry"]; self.currentWordIndex = 0; self.timeLimit = 10; // 10 seconds to guess each word self.timer = null; self.score = 0; // Display the current word with missing letters self.displayWord = function () { var word = self.words[self.currentWordIndex]; var maskedWord = word.replace(/[a-z]/g, "_ "); self.wordText.setText(maskedWord); }; // Check if the guessed word is correct self.checkGuess = function (guess) { if (guess.toLowerCase() === self.words[self.currentWordIndex]) { self.score++; self.nextWord(); } else { self.endGame(); } }; // Move to the next word self.nextWord = function () { self.currentWordIndex++; if (self.currentWordIndex < self.words.length) { self.displayWord(); self.resetTimer(); } else { self.winGame(); } }; // Reset the timer for the next word self.resetTimer = function () { if (self.timer) { LK.clearTimeout(self.timer); } self.timer = LK.setTimeout(self.endGame, self.timeLimit * 1000); }; // End the game self.endGame = function () { LK.showGameOver(); }; // Win the game self.winGame = function () { LK.showYouWin(); }; // Initialize the word text display self.wordText = new Text2('', { size: 100, fill: 0xFFFFFF }); self.wordText.anchor.set(0.5, 0.5); LK.gui.center.addChild(self.wordText); // Start the game self.startGame = function () { self.currentWordIndex = 0; self.score = 0; self.displayWord(); self.resetTimer(); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize the word puzzle var wordPuzzle = game.addChild(new WordPuzzle()); // Start the game wordPuzzle.startGame(); // Handle user input for guessing words game.down = function (x, y, obj) { // For simplicity, let's assume the user inputs a guess through a prompt var userGuess = prompt("Enter your guess:"); wordPuzzle.checkGuess(userGuess); };
/****
* Classes
****/
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Class for managing the word puzzle
var WordPuzzle = Container.expand(function () {
var self = Container.call(this);
self.words = ["apple", "banana", "cherry", "date", "elderberry"];
self.currentWordIndex = 0;
self.timeLimit = 10; // 10 seconds to guess each word
self.timer = null;
self.score = 0;
// Display the current word with missing letters
self.displayWord = function () {
var word = self.words[self.currentWordIndex];
var maskedWord = word.replace(/[a-z]/g, "_ ");
self.wordText.setText(maskedWord);
};
// Check if the guessed word is correct
self.checkGuess = function (guess) {
if (guess.toLowerCase() === self.words[self.currentWordIndex]) {
self.score++;
self.nextWord();
} else {
self.endGame();
}
};
// Move to the next word
self.nextWord = function () {
self.currentWordIndex++;
if (self.currentWordIndex < self.words.length) {
self.displayWord();
self.resetTimer();
} else {
self.winGame();
}
};
// Reset the timer for the next word
self.resetTimer = function () {
if (self.timer) {
LK.clearTimeout(self.timer);
}
self.timer = LK.setTimeout(self.endGame, self.timeLimit * 1000);
};
// End the game
self.endGame = function () {
LK.showGameOver();
};
// Win the game
self.winGame = function () {
LK.showYouWin();
};
// Initialize the word text display
self.wordText = new Text2('', {
size: 100,
fill: 0xFFFFFF
});
self.wordText.anchor.set(0.5, 0.5);
LK.gui.center.addChild(self.wordText);
// Start the game
self.startGame = function () {
self.currentWordIndex = 0;
self.score = 0;
self.displayWord();
self.resetTimer();
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize the word puzzle
var wordPuzzle = game.addChild(new WordPuzzle());
// Start the game
wordPuzzle.startGame();
// Handle user input for guessing words
game.down = function (x, y, obj) {
// For simplicity, let's assume the user inputs a guess through a prompt
var userGuess = prompt("Enter your guess:");
wordPuzzle.checkGuess(userGuess);
};