User prompt
Regles les problèmes daffichages des questions
User prompt
je veux personnalisé le fond du jeu avec mon propre asset
User prompt
Ajoute plus de questions a chaque niveau du quizz
User prompt
Ajoute plus de questions
User prompt
ajoute plus de questions de gestion finance : sur le PGI, LE SIC, les modalités de financements, etc
User prompt
fait en sorte que le jeu reprenne au niveau 1 une fois que le joueur a finis le quizz et non pas au niveau 8
User prompt
le boutton doit etre en haut au centre u pire ajoute un boutton qui lorsque le joueur appuie dessus il peut revenir au niveau 1 et refaire le quizz depuis le début, ce boutton doit etre disponible nimporte quand
User prompt
au pire ajoute un boutton qui lorsque le joueur appuie dessus il peut revenir au niveau 1 et refaire le quizz depuis le début, ce boutton doit etre disponible nimporte quand
User prompt
fait en sorte que le joueur retourne au niveau 1 pour refaire le quizz depuis le début quand il la terminé, et mets plus de questions par niveau
User prompt
ajoute plus de questions et 20 autres niveaux de quizz avec pleins d'autres questions, fait en sorte que quand le quizz est finis le joueur retourne au tout début au niveau 1 sil veut le refaire et installe un systeme de note basé sur le nombre de bonnes réponses
User prompt
ajoute 5 autres niveaux de quizz avec pleins d'autres questions de gestion finance
User prompt
ajoute plus de questions notamment sur : - Tous les systèmes de BFR, FRNG, trésorerie nette, actif circulant, passif circulant, les formules, les enregistrements des immobilisations et comptabilité dans les journaux (avec les tableaux, les classes, au débit, crédit etc...) , - Les comptes, les différentes classes de comptabilité (comme 411 clients,512 banques etc...) - Tout le chapitre de la gestion de trésorerie - L’enregistrement des flux en partie double
User prompt
ajoute plus de questions
User prompt
ajoute plus de questions en rapport avec la gestion finance au programme en terminale stmg (BFR, FRNG, trésorerie nette, résultat comptable, inventaire des comptes etc...)
Code edit (1 edits merged)
Please save this source code
User prompt
Quiz Bac STMG : Défis Gestion & Finance
Initial prompt
Créer moi un jeu de quizz amusant avec defis et niveaux pour réviser le bac STMG gestion finance en terminal
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1", { level: 1, progress: 0, score: 0 }); /**** * Classes ****/ // Answer Button Class var AnswerButton = Container.expand(function () { var self = Container.call(this); // Default width/height for answer buttons var btnWidth = 1600; var btnHeight = 200; // Attach rectangle shape as button background var btnBg = self.attachAsset('answerBtn', { width: btnWidth, height: btnHeight, color: 0x2d8cff, shape: 'box', anchorX: 0.5, anchorY: 0.5 }); // Text label for answer var label = new Text2('', { size: 80, fill: 0xFFFFFF }); label.anchor.set(0.5, 0.5); self.addChild(label); // Set answer text self.setText = function (txt) { label.setText(txt); }; // Set button color (for feedback) self.setColor = function (color) { btnBg.color = color; }; // Reset color to default self.resetColor = function () { btnBg.color = 0x2d8cff; }; // Store answer index for event handling self.answerIndex = -1; return self; }); // Next Button Class var NextButton = Container.expand(function () { var self = Container.call(this); var btnWidth = 600; var btnHeight = 120; var btnBg = self.attachAsset('nextBtn', { width: btnWidth, height: btnHeight, color: 0x44b86b, shape: 'box', anchorX: 0.5, anchorY: 0.5 }); var label = new Text2('Suivant', { size: 70, fill: 0xFFFFFF }); label.anchor.set(0.5, 0.5); self.addChild(label); return self; }); // Progress Bar Class var ProgressBar = Container.expand(function () { var self = Container.call(this); var barWidth = 1200; var barHeight = 40; // Background var bg = self.attachAsset('progressBg', { width: barWidth, height: barHeight, color: 0xcccccc, shape: 'box', anchorX: 0, anchorY: 0.5 }); // Foreground (progress) var fg = self.attachAsset('progressFg', { width: barWidth, height: barHeight, color: 0x44b86b, shape: 'box', anchorX: 0, anchorY: 0.5 }); fg.width = 0; // Set progress (0 to 1) self.setProgress = function (p) { fg.width = barWidth * p; }; return self; }); /**** * Initialize Game ****/ /**** * Quiz Data (MVP: 2 levels, 5 questions each) ****/ var game = new LK.Game({ backgroundColor: 0xf7f7f7 }); /**** * Game Code ****/ /**** * Quiz Data (MVP: 2 levels, 5 questions each) ****/ // No images or sounds for MVP. // Progress bar: Rectangle. // Question area: Rectangle background. // Buttons: Rectangles, different colors for answer options and navigation. // Quiz game: We'll use simple shapes for buttons and backgrounds, and text for questions/answers. // --- Global State --- var quizLevels = [{ name: "Niveau 1: Bases de la gestion", questions: [{ q: "Qu'est-ce qu'un bilan comptable ?", options: ["Un document qui présente les recettes et les dépenses d'une entreprise", "Un document qui présente le patrimoine d'une entreprise à un instant donné", "Un document qui présente uniquement les dettes d'une entreprise", "Un document qui présente la liste des clients"], answer: 1 }, { q: "Quel est le rôle principal du comptable ?", options: ["Vendre des produits", "Gérer les ressources humaines", "Enregistrer et contrôler les opérations financières", "Superviser la production"], answer: 2 }, { q: "Que signifie le sigle TVA ?", options: ["Taxe sur la Valeur Ajoutée", "Tarif de Vente Annuel", "Total des Ventes Actuelles", "Transaction de Valeur Agrégée"], answer: 0 }, { q: "Dans un bilan, où trouve-t-on les dettes ?", options: ["À l'actif", "Au passif", "Dans les produits", "Dans les charges"], answer: 1 }, { q: "Quel document présente le résultat de l'activité sur une période ?", options: ["Le bilan", "Le compte de résultat", "Le journal", "Le grand livre"], answer: 1 }, // Ajout questions gestion/finance niveau 1 { q: "Qu'est-ce que l'inventaire des comptes ?", options: ["Un document listant les stocks physiques", "Un document listant tous les comptes de l'entreprise à une date donnée", "Un document de paie", "Un document bancaire"], answer: 1 }, { q: "Le résultat comptable est :", options: ["La différence entre produits et charges", "Le montant total des ventes", "Le montant des investissements", "La somme des dettes"], answer: 0 }, { q: "Quel est le rôle du plan comptable ?", options: ["Définir les règles de gestion des stocks", "Fournir une liste normalisée des comptes à utiliser", "Calculer la TVA", "Établir le budget prévisionnel"], answer: 1 }, { q: "Que trouve-t-on à l'actif du bilan ?", options: ["Les ressources propres de l'entreprise", "Les emplois (biens et créances) détenus par l'entreprise", "Les dettes à long terme", "Les charges d'exploitation"], answer: 1 }, { q: "À quoi sert le grand livre ?", options: ["À enregistrer toutes les opérations dans l'ordre chronologique", "À regrouper les écritures par compte", "À calculer le résultat fiscal", "À établir le bilan"], answer: 1 }] }, { name: "Niveau 2: Finance d'entreprise", questions: [{ q: "Qu'est-ce qu'un investissement ?", options: ["Une dépense courante", "Un achat de biens durables pour l'entreprise", "Un paiement de salaire", "Une taxe à payer"], answer: 1 }, { q: "Lequel est un mode de financement externe ?", options: ["L'autofinancement", "L'emprunt bancaire", "La réduction des coûts", "L'augmentation des ventes"], answer: 1 }, { q: "Que mesure la rentabilité ?", options: ["La capacité à rembourser les dettes", "La capacité à générer un bénéfice", "La quantité de produits vendus", "Le montant des investissements"], answer: 1 }, { q: "Qu'est-ce qu'un flux de trésorerie ?", options: ["Un document fiscal", "Un mouvement d'argent entrant ou sortant de l'entreprise", "Un type de crédit", "Un stock de marchandises"], answer: 1 }, { q: "Quel indicateur mesure la solvabilité ?", options: ["Le chiffre d'affaires", "Le ratio d'endettement", "Le résultat net", "Le taux de marge"], answer: 1 }, // Ajout questions gestion/finance niveau 2 { q: "Que signifie BFR (Besoin en Fonds de Roulement) ?", options: ["La somme des investissements nécessaires", "La différence entre les emplois et les ressources d'exploitation", "Le montant des dettes à long terme", "Le total des produits financiers"], answer: 1 }, { q: "Comment calcule-t-on la trésorerie nette ?", options: ["Capitaux propres - immobilisations", "FRNG - BFR", "Chiffre d'affaires - charges", "Stocks + créances"], answer: 1 }, { q: "Le FRNG (Fonds de Roulement Net Global) est :", options: ["La différence entre les ressources stables et les emplois stables", "La somme des dettes à court terme", "Le total des produits d'exploitation", "Le montant des stocks"], answer: 0 }, { q: "Quel document permet d'analyser la structure financière de l'entreprise ?", options: ["Le compte de résultat", "Le bilan", "Le journal", "La balance"], answer: 1 }, { q: "Qu'est-ce qu'un inventaire intermittent ?", options: ["Un inventaire réalisé en continu", "Un inventaire réalisé à la fin de l'exercice comptable", "Un inventaire des immobilisations", "Un inventaire des créances clients"], answer: 1 }] }]; var currentLevel = storage.level || 1; // 1-based var currentQuestion = 0; var score = storage.score || 0; var progress = storage.progress || 0; // Number of questions answered in total var selectedAnswer = -1; var locked = false; // Prevent multiple answers var answerButtons = []; var nextBtn = null; var questionText = null; var levelTitleText = null; var progressBar = null; var scoreText = null; var feedbackText = null; // --- UI Layout Constants --- var centerX = 2048 / 2; var questionY = 350; var answerStartY = 700; var answerSpacing = 260; // --- Functions --- // Save progress to storage function saveProgress() { storage.level = currentLevel; storage.progress = progress; storage.score = score; } // Load current question data function getCurrentQuestionObj() { var levelIdx = currentLevel - 1; var level = quizLevels[levelIdx]; return level.questions[currentQuestion]; } // Show question and answers function showQuestion() { locked = false; selectedAnswer = -1; // Set level title var levelObj = quizLevels[currentLevel - 1]; levelTitleText.setText(levelObj.name); // Set question text var qObj = getCurrentQuestionObj(); questionText.setText(qObj.q); // Set answer buttons for (var i = 0; i < answerButtons.length; i++) { var btn = answerButtons[i]; if (qObj.options[i]) { btn.setText(qObj.options[i]); btn.visible = true; btn.resetColor(); } else { btn.visible = false; } } // Hide feedback and next button feedbackText.visible = false; nextBtn.visible = false; // Update progress bar var totalQuestions = quizLevels[currentLevel - 1].questions.length; progressBar.setProgress(currentQuestion / totalQuestions); // Update score text scoreText.setText("Score: " + score); } // Handle answer selection function handleAnswer(idx) { if (locked) return; locked = true; selectedAnswer = idx; var qObj = getCurrentQuestionObj(); var correct = idx === qObj.answer; // Color feedback for (var i = 0; i < answerButtons.length; i++) { if (i === qObj.answer) { answerButtons[i].setColor(0x44b86b); // Green for correct } else if (i === idx) { answerButtons[i].setColor(0xd83318); // Red for wrong } else { answerButtons[i].setColor(0x2d8cff); } } // Feedback text feedbackText.visible = true; if (correct) { feedbackText.setText("Bonne réponse !"); score += 1; } else { feedbackText.setText("Mauvaise réponse !"); } progress += 1; saveProgress(); // Show next button after short delay LK.setTimeout(function () { nextBtn.visible = true; }, 600); } // Handle next question or level function handleNext() { var levelObj = quizLevels[currentLevel - 1]; if (currentQuestion < levelObj.questions.length - 1) { currentQuestion += 1; showQuestion(); } else { // Level finished if (currentLevel < quizLevels.length) { currentLevel += 1; currentQuestion = 0; saveProgress(); showLevelUp(); } else { // All levels finished: show win saveProgress(); LK.showYouWin(); } } } // Show level up message function showLevelUp() { feedbackText.setText("Niveau suivant débloqué !"); feedbackText.visible = true; nextBtn.visible = true; // Animate feedback tween(feedbackText, { y: feedbackText.y - 40 }, { duration: 400, easing: tween.easeOut, onFinish: function onFinish() { tween(feedbackText, { y: feedbackText.y + 40 }, { duration: 400, easing: tween.easeIn }); } }); } // --- UI Setup --- // Level Title levelTitleText = new Text2('', { size: 90, fill: 0x222222 }); levelTitleText.anchor.set(0.5, 0); levelTitleText.x = centerX; levelTitleText.y = 120; LK.gui.top.addChild(levelTitleText); // Question Text questionText = new Text2('', { size: 70, fill: 0x333333 }); questionText.anchor.set(0.5, 0); questionText.x = centerX; questionText.y = questionY; game.addChild(questionText); // Answer Buttons for (var i = 0; i < 4; i++) { var btn = new AnswerButton(); btn.x = centerX; btn.y = answerStartY + i * answerSpacing; btn.answerIndex = i; // Touch/click event (function (btn, idx) { btn.down = function (x, y, obj) { handleAnswer(idx); }; })(btn, i); game.addChild(btn); answerButtons.push(btn); } // Feedback Text feedbackText = new Text2('', { size: 80, fill: 0xD83318 }); feedbackText.anchor.set(0.5, 0); feedbackText.x = centerX; feedbackText.y = answerStartY + 4 * answerSpacing + 40; feedbackText.visible = false; game.addChild(feedbackText); // Next Button nextBtn = new NextButton(); nextBtn.x = centerX; nextBtn.y = answerStartY + 4 * answerSpacing + 200; nextBtn.visible = false; nextBtn.down = function (x, y, obj) { nextBtn.visible = false; feedbackText.visible = false; handleNext(); }; game.addChild(nextBtn); // Progress Bar progressBar = new ProgressBar(); progressBar.x = centerX - 600; progressBar.y = 250; game.addChild(progressBar); // Score Text (top right) scoreText = new Text2('Score: 0', { size: 70, fill: 0x222222 }); scoreText.anchor.set(1, 0); scoreText.x = 2048 - 60; scoreText.y = 120; LK.gui.topRight.addChild(scoreText); // --- Game Over Handler (if needed) --- game.onGameOver = function () { // Reset progress for new game currentLevel = 1; currentQuestion = 0; score = 0; progress = 0; saveProgress(); showQuestion(); }; // --- Start Game --- showQuestion(); // --- Optional: Reset on win --- game.onYouWin = function () { // Reset everything for replay currentLevel = 1; currentQuestion = 0; score = 0; progress = 0; saveProgress(); showQuestion(); };
===================================================================
--- original.js
+++ change.js
@@ -154,8 +154,20 @@
}, {
q: "Le résultat comptable est :",
options: ["La différence entre produits et charges", "Le montant total des ventes", "Le montant des investissements", "La somme des dettes"],
answer: 0
+ }, {
+ q: "Quel est le rôle du plan comptable ?",
+ options: ["Définir les règles de gestion des stocks", "Fournir une liste normalisée des comptes à utiliser", "Calculer la TVA", "Établir le budget prévisionnel"],
+ answer: 1
+ }, {
+ q: "Que trouve-t-on à l'actif du bilan ?",
+ options: ["Les ressources propres de l'entreprise", "Les emplois (biens et créances) détenus par l'entreprise", "Les dettes à long terme", "Les charges d'exploitation"],
+ answer: 1
+ }, {
+ q: "À quoi sert le grand livre ?",
+ options: ["À enregistrer toutes les opérations dans l'ordre chronologique", "À regrouper les écritures par compte", "À calculer le résultat fiscal", "À établir le bilan"],
+ answer: 1
}]
}, {
name: "Niveau 2: Finance d'entreprise",
questions: [{
@@ -191,8 +203,16 @@
}, {
q: "Le FRNG (Fonds de Roulement Net Global) est :",
options: ["La différence entre les ressources stables et les emplois stables", "La somme des dettes à court terme", "Le total des produits d'exploitation", "Le montant des stocks"],
answer: 0
+ }, {
+ q: "Quel document permet d'analyser la structure financière de l'entreprise ?",
+ options: ["Le compte de résultat", "Le bilan", "Le journal", "La balance"],
+ answer: 1
+ }, {
+ q: "Qu'est-ce qu'un inventaire intermittent ?",
+ options: ["Un inventaire réalisé en continu", "Un inventaire réalisé à la fin de l'exercice comptable", "Un inventaire des immobilisations", "Un inventaire des créances clients"],
+ answer: 1
}]
}];
var currentLevel = storage.level || 1; // 1-based
var currentQuestion = 0;