Code edit (19 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: LK.Sprite is not a constructor' in or related to this line: 'var backGroundImage = game.addChild(new LK.Sprite('BackGroundImage', {' Line Number: 268
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (7 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: cell is not defined' in or related to this line: 'scoreTest += cell.letter;' Line Number: 401
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: '[Exception... "Failure" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: https://beta.frvr.ai/game-template/index-0.0.3.html?frame_id=0&v2=1&1715679717556&disable_analytics=1 line 181 > injectedScript :: execute/window.getRenderer/t.Text.prototype.updateText :: line 1" data: no]' in or related to this line: 'scoreTestText.setText(nouveauScore);' Line Number: 357
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (23 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: Button is not defined' in or related to this line: 'var validateButton = new Button('Validate', {' Line Number: 271
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (6 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: columnFrom is not defined' in or related to this line: 'scoreTest = columnFrom;' Line Number: 89
Code edit (4 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: cells is not defined' in or related to this line: 'mainGrid.cells[i][j].setLetter(cells[i][j].columnFrom, cells[i][j].lineFrom, wordGrid.cells[i][j].letter);' Line Number: 346
Code edit (7 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: newLetter.toUpperCase is not a function' in or related to this line: 'self.texte.setText(newLetter.toUpperCase());' Line Number: 71
User prompt
Please fix the bug: 'ReferenceError: cells is not defined' in or related to this line: 'mainGrid.cells[i][j].setLetter(cells[i][j].column, cells[i][j].line, wordGrid.cells[i][j].letter);' Line Number: 342
Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'TypeError: wordGrid.cells[i][j].removeCell is not a function' in or related to this line: 'wordGrid.cells[i][j].removeCell(j);' Line Number: 342
Code edit (1 edits merged)
Please save this source code
===================================================================
--- original.js
+++ change.js
@@ -1,7 +1,31 @@
/****
* Classes
****/
+// Button class for creating buttons in the game
+var Button = Container.expand(function (text, options) {
+ var self = Container.call(this);
+ var buttonGraphics = self.attachAsset('button', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.width = options.width || 200;
+ self.height = options.height || 100;
+ self.fill = options.fill || 0x00FF00;
+ self.text = new Text2(text, {
+ size: options.text.size || 50,
+ fill: options.text.fill || "#000000"
+ });
+ self.text.anchor.set(0.5, 0.5);
+ self.addChild(self.text);
+ self.x = options.x || 0;
+ self.y = options.y || 0;
+ self.on('down', function () {
+ if (options.onClick) {
+ options.onClick();
+ }
+ });
+});
/****
* GAME DESCRIPTION:
* Game Principle:
* -There is a board filled with words, where the player selects letters from a partially filled grid.
@@ -258,16 +282,23 @@
var wordGrid = game.addChild(new LettersGrid(0, 1, 'cellWord'));
wordGrid.initializeGrid();
wordGrid.x = (game.width - wordGrid.width) / 2 - wordGrid.height / 2 + lettersGrid.height / 2;
wordGrid.y = ScoreZone.height + lettersGrid.height + mainGrid.height + 2 * lettersGrid.height;
-var lettersToAdd = [];
-var currentLetterIndex = 0;
-var wordsToBegin = pickAndShakeWords(1); // Pick and shuffle words from the main list
-if (wordsToBegin.length > 0) {
- // If there are words to begin
- stackLettersFromWords(wordsToBegin); // Stack letters from words to add them to the grid
- transfertLettersToMainGrid(); // Transfer letters to the grid
-}
+var validateButton = new Button('Validate', {
+ x: (game.width - 200) / 2,
+ y: ScoreZone.height + lettersGrid.height + mainGrid.height + 2 * lettersGrid.height + wordGrid.height,
+ width: 200,
+ height: 100,
+ fill: "#00FF00",
+ text: {
+ size: 50,
+ fill: "#000000"
+ }
+});
+var lettersToAdd = []; //File d'attente des lettres à ajouter dans la lettersGrid
+var isGameStarted = false;
+var isMGRefillrequired = true; //Indique si le remplissage de la grille principale est nécessaire
+var isWordValid = false; //Indique si le mot formé est valide
/****
* Functions
****/
function updateScoreTest(nouveauScore) {
@@ -290,9 +321,9 @@
wordsShuffeled.push(shuffledWord);
}
return wordsShuffeled;
} //Fin de la fonction pickAndShakeWords
-//Fonction stackLettersFromWords : permet de stocker les lettres de plusieurs mots dans la liste lettersToAdd
+//Fonction stackLettersFromWords : permet de stocker les lettres de plusieurs mots dans la file d'attente lettersToAdd
function stackLettersFromWords(words) {
for (var i = 0; i < words.length; i++) {
var word = words[i];
var letters = word.split('');
@@ -300,20 +331,35 @@
lettersToAdd.push(letters[j]);
}
}
} //Fin de la fonction stackLettersFromWords
-//Fonction transfertLettersToGrid : permet de transférer les lettres de la liste lettersToAdd dans la grille principale
-function transfertLettersToMainGrid() {
+//Fonction transfertLettersGridToMainGrid : permet de transférer les lettres de la liste lettersToAdd dans la grille principale
+function transfertLettersGridToMainGrid() {
for (var i = 0; i < lettersGrid.gridColumns && lettersToAdd.length > 0; i++) {
mainGrid.addRandomLetter(lettersToAdd[0]);
lettersToAdd.splice(0, 1);
}
-} //Fin de la fonction transfertLettersToMainGrid
+} //Fin de la fonction transfertLettersGridToMainGrid
//Fonction addCellLetterToWord : permet d'ajouter une cellule à la liste des lettres formant le mot situé sous la grille
function addCellLetterToWord(letter) {
- var cellLetter = wordGrid.addCell(letter, 'cell');
+ var cellLetter = wordGrid.addCell(letter, 'cellWord');
return cellLetter;
} //Fin de la fonction addCellLetterToWord
+//Fonction validateWord : permet de valider le mot formé par le joueur
+function validateWord() {
+ var word = '';
+ for (var i = 0; i < wordGrid.gridColumns; i++) {
+ word += wordGrid.cells[0][i].letter;
+ }
+ if (wordsMainList.includes(word)) {
+ scoreTest += word.length;
+ isWordValid = true;
+ } else {
+ isWordValid = false;
+ }
+ wordGrid.colorAllCells(isWordValid ? "#00FF00" : "#FF0000");
+ return isWordValid;
+} //Fin de la fonction validateWord
game.update = function () {
updateScoreTest(scoreTest);
//Recherche de la lettre cliquée dans la mainGrid et ajout de la lettre à la liste des lettres formant le mot
for (var i = 0; i < mainGrid.gridLines; i++) {
@@ -329,9 +375,8 @@
mainGrid.emptyCells.push(mainGrid.cells[i][j]);
}
}
}
- scoreTest = "Reste:" + mainGrid.emptyCells.length;
//Recherche de la lettre cliquée dans la wordGrid et retour de la lettre à la mainGrid
var indexCellToRemove = -1;
for (var j = 0; j < wordGrid.gridColumns; j++) {
if (wordGrid.cells[0][j].isClicked) {
@@ -348,21 +393,46 @@
if (indexCellToRemove >= 0) {
wordGrid.removeCell(indexCellToRemove);
indexCellToRemove = -1;
}
- //Autres actions à effectuer toutes les secondes
+ //Autres actions à effectuer toutes les secondes sans urgence
if (LK.ticks % 60 == 0) {
- //Si la liste des lettres à ajouter n'est pas vide, on ajoute toutes les lettres puis on supprime les lettres de la liste
+ //Chargement initiale de la grille principale si nécessaire (vide):
+ //un mot est choisi au hasard dans la liste principale,
+ //il est mélangé et les lettres sont directement ajoutées à la grille principale avec la fonction addRandomLetter
+ if (mainGrid.isEmpty() && !isGameStarted) {
+ var wordsToBegin = pickAndShakeWords(1);
+ if (wordsToBegin.length > 0) {
+ scoreTest = "Fist word: " + wordsToBegin;
+ for (var i = 0; i < wordsToBegin[0].length; i++) {
+ mainGrid.addRandomLetter(wordsToBegin[0][i]);
+ }
+ isGameStarted = true;
+ isMGRefillrequired = false;
+ }
+ }
+ //Remplissage de la file d'attente des lettres à ajouter dans la lettersGrid
+ //Si le nombre de lettres est inférieur à la taille de la lettersGrid,
+ //on prendre un mot au hasard dans la liste principale, on le mélange et on ajoute les lettres à la file d'attente
+ if (lettersToAdd.length < lettersGrid.gridColumns) {
+ var wordsToBegin = pickAndShakeWords(1);
+ if (wordsToBegin.length > 0) {
+ stackLettersFromWords(wordsToBegin);
+ }
+ }
+ //Remplissage lettersGrid si elle est vide,
+ //on retire les premières lettres de la liste des lettres à ajouter, et on les ajoute à la grille principale
+ //sachant que le nombre de lettres à ajouter est égal à la taille de la lettersGrid
if (lettersToAdd.length > 0 && lettersGrid.isEmpty()) {
for (var i = 0; i < lettersGrid.gridColumns && lettersToAdd.length > 0; i++) {
lettersGrid.addRandomLetter(lettersToAdd[0]);
lettersToAdd.splice(0, 1);
}
}
- currentLetterIndex = (currentLetterIndex + 1) % lettersToAdd.length;
- if (mainGrid.isFull()) {
- mainGrid.colorAllCells("#FF0000");
- LK.showGameOver();
+ //Rechargement de la grille principale si nécessaire
+ if (isMGRefillrequired) {
+ transfertLettersGridToMainGrid();
+ isMGRefillrequired = false;
}
}
}; //Fin de la fonction update
//Liste des mots en majuscule
An empty cell.
Drapeau national des USA en fond d'un patchwork des États américains.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Une jeton de scrabble sans lettre.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Un bouton arrondi suggérant une validation mais sans texte écrit dessus.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A round button with a cyan interrogation mark.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A round cyan button with a yellow lamp bulb.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Planetes.
Remove the white square and the red lines.
A patchwork of european countries with the european unio flag in back ground.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A yellow coin wher we can see '+10' written on it.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A red coin wher we can see '-10' written on it... Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Patchwork of heads of plenty animals.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
The periodic table of the elements.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Patchwork de mots sur un fond cyan.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Patchwork of scene extracted from video games.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
It is written "COOL QUIZZ".
A cyan circle button with a home silhouette in the center. The button means "go back to start window". Avoid white color.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.