/**** 
* 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);
		// Adjust text size based on length
		if (txt.length > 80) {
			label.size = 60;
		} else if (txt.length > 50) {
			label.size = 70;
		} else {
			label.size = 80;
		}
	};
	// 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
****/ 
// 27 niveaux de quiz, chaque niveau avec des questions avancées de gestion finance, BFR, FRNG, trésorerie, écritures, classes de comptes, etc.
// --- Global State ---
// Quiz game: We'll use simple shapes for buttons and backgrounds, and text for questions/answers.
// Buttons: Rectangles, different colors for answer options and navigation.
// Question area: Rectangle background.
// Progress bar: Rectangle.
// No images or sounds for MVP.
/**** 
* Quiz Data (MVP: 2 levels, 5 questions each)
****/ 
var quizLevels = [/* ... (Niveaux 1 à 7 inchangés, voir code existant) ... */
// Niveaux 8 à 27 enrichis avec plus de questions
{
	name: "Niveau 8: Tableaux de flux",
	questions: [{
		q: "Dans un tableau de flux de trésorerie, où classe-t-on l'achat d'une immobilisation ?",
		options: ["Flux d'exploitation", "Flux d'investissement", "Flux de financement", "Aucun"],
		answer: 1
	}, {
		q: "Un remboursement d'emprunt figure dans :",
		options: ["Flux d'exploitation", "Flux d'investissement", "Flux de financement", "Flux de TVA"],
		answer: 2
	}, {
		q: "L'encaissement d'une créance client est :",
		options: ["Un flux positif", "Un flux négatif", "Un flux neutre", "Un flux d'investissement"],
		answer: 0
	}, {
		q: "Le paiement d'un fournisseur est :",
		options: ["Un flux positif", "Un flux négatif", "Un flux neutre", "Un flux de financement"],
		answer: 1
	}, {
		q: "L'augmentation du capital social est :",
		options: ["Flux d'exploitation", "Flux d'investissement", "Flux de financement", "Flux de TVA"],
		answer: 2
	}, {
		q: "Le paiement d'un dividende est classé dans :",
		options: ["Flux de financement", "Flux d'investissement", "Flux d'exploitation", "Aucun"],
		answer: 0
	}, {
		q: "L'encaissement d'un emprunt bancaire est :",
		options: ["Un flux de financement", "Un flux d'investissement", "Un flux d'exploitation", "Un flux de TVA"],
		answer: 0
	}, {
		q: "Le paiement d'une facture fournisseur est :",
		options: ["Un flux d'exploitation", "Un flux d'investissement", "Un flux de financement", "Un flux de TVA"],
		answer: 0
	}, {
		q: "L'achat de matières premières est :",
		options: ["Un flux d'exploitation", "Un flux d'investissement", "Un flux de financement", "Un flux de TVA"],
		answer: 0
	}, {
		q: "Le versement d'un acompte client est :",
		options: ["Un flux d'exploitation", "Un flux d'investissement", "Un flux de financement", "Un flux de TVA"],
		answer: 0
	}, {
		q: "Le PGI (Progiciel de Gestion Intégré) est aussi appelé :",
		options: ["ERP", "CRM", "SIC", "PGC"],
		answer: 0
	}, {
		q: "Le SIC (Système d'Information Comptable) a pour fonction principale :",
		options: ["Produire l'information comptable", "Gérer la paie", "Vendre des produits", "Contrôler la production"],
		answer: 0
	}, {
		q: "Un PGI permet de :",
		options: ["Intégrer l'ensemble des processus de gestion", "Gérer uniquement la comptabilité", "Gérer uniquement la paie", "Gérer uniquement la production"],
		answer: 0
	}, {
		q: "Le module 'achats' d'un PGI permet :",
		options: ["De gérer les commandes fournisseurs", "De gérer la paie", "De gérer la production", "De gérer la trésorerie"],
		answer: 0
	}, {
		q: "Le module 'ventes' d'un PGI permet :",
		options: ["De gérer les commandes clients", "De gérer les immobilisations", "De gérer la paie", "De gérer la production"],
		answer: 0
	}, {
		q: "Le financement par crédit-bail est :",
		options: ["Un financement externe", "Un financement interne", "Un autofinancement", "Un financement par subvention"],
		answer: 0
	}, {
		q: "Le financement par augmentation de capital est :",
		options: ["Un financement interne", "Un financement externe", "Un financement bancaire", "Un financement par subvention"],
		answer: 1
	}, {
		q: "Le financement par emprunt bancaire est :",
		options: ["Un financement externe", "Un financement interne", "Un autofinancement", "Un financement par subvention"],
		answer: 0
	}, {
		q: "Le financement par subvention est :",
		options: ["Un financement externe", "Un financement interne", "Un autofinancement", "Un financement bancaire"],
		answer: 0
	}, {
		q: "Le financement par autofinancement consiste à :",
		options: ["Utiliser les ressources propres de l'entreprise", "Faire appel à un emprunt", "Augmenter le capital", "Obtenir une subvention"],
		answer: 0
	}, {
		q: "Le flux d'investissement comprend :",
		options: ["Les achats d'immobilisations", "Les ventes de marchandises", "Les paiements de salaires", "Les encaissements clients"],
		answer: 0
	}, {
		q: "Un flux de financement concerne :",
		options: ["Les apports en capital", "Les achats de matières", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux d'exploitation inclut :",
		options: ["Les achats et ventes courantes", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Le flux de TVA est :",
		options: ["Un flux spécifique lié à la TVA", "Un flux d'investissement", "Un flux de financement", "Un flux d'exploitation"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le flux de financement inclut :",
		options: ["Les apports en capital et les emprunts", "Les achats de stocks", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux d'exploitation comprend :",
		options: ["Les opérations courantes de l'entreprise", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Le flux d'investissement concerne :",
		options: ["Les achats et ventes d'immobilisations", "Les achats de matières", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux de TVA est lié à :",
		options: ["La collecte et le paiement de la TVA", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}]
}, {
	name: "Niveau 9: Immobilisations et amortissements",
	questions: [{
		q: "L'amortissement d'une immobilisation est :",
		options: ["Une charge", "Un produit", "Un actif", "Un passif"],
		answer: 0
	}, {
		q: "Le compte 281 Amortissements appartient à :",
		options: ["Classe 2", "Classe 6", "Classe 1", "Classe 4"],
		answer: 0
	}, {
		q: "L'acquisition d'une machine s'enregistre :",
		options: ["Débit 218, Crédit 512", "Débit 606, Crédit 401", "Débit 512, Crédit 218", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "L'amortissement est calculé sur :",
		options: ["La valeur brute", "La valeur nette", "La valeur d'usage", "La valeur de marché"],
		answer: 0
	}, {
		q: "L'amortissement linéaire consiste à :",
		options: ["Répartir le coût sur la durée d'utilisation", "Tout amortir la première année", "Ne pas amortir", "Amortir selon l'inflation"],
		answer: 0
	}, {
		q: "Le compte 218 Immobilisations corporelles est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "L'amortissement dégressif consiste à :",
		options: ["Amortir plus les premières années", "Amortir moins les premières années", "Amortir de façon égale", "Ne pas amortir"],
		answer: 0
	}, {
		q: "La dotation aux amortissements est :",
		options: ["Une charge non décaissée", "Une charge décaissée", "Un produit", "Un passif"],
		answer: 0
	}, {
		q: "L'acquisition d'un brevet s'enregistre :",
		options: ["Débit 205, Crédit 512", "Débit 606, Crédit 401", "Débit 512, Crédit 205", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "La sortie d'une immobilisation s'enregistre :",
		options: ["Débit 675, Crédit 218", "Débit 218, Crédit 675", "Débit 606, Crédit 401", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "Le compte 215 concerne :",
		options: ["Les installations techniques", "Les stocks", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "L'amortissement exceptionnel est :",
		options: ["Un amortissement non prévu initialement", "Un amortissement linéaire", "Un amortissement dégressif", "Un amortissement constant"],
		answer: 0
	}, {
		q: "Le compte 280 regroupe :",
		options: ["Les amortissements des immobilisations", "Les stocks", "Les dettes fournisseurs", "Les produits financiers"],
		answer: 0
	}, {
		q: "La valeur résiduelle d'une immobilisation est :",
		options: ["Sa valeur à la fin de l'utilisation", "Sa valeur d'achat", "Sa valeur brute", "Sa valeur nette comptable"],
		answer: 0
	}, {
		q: "L'amortissement permet :",
		options: ["De constater la perte de valeur d'un bien", "D'augmenter la valeur d'un bien", "De vendre un bien", "De financer un bien"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 213 concerne :",
		options: ["Les constructions", "Les stocks", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "L'amortissement accéléré est :",
		options: ["Un amortissement plus rapide que le linéaire", "Un amortissement linéaire", "Un amortissement dégressif", "Un amortissement constant"],
		answer: 0
	}, {
		q: "Le compte 206 concerne :",
		options: ["Les droits au bail", "Les stocks", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "L'amortissement d'un véhicule s'enregistre :",
		options: ["Débit 681, Crédit 281", "Débit 218, Crédit 512", "Débit 606, Crédit 401", "Débit 512, Crédit 218"],
		answer: 0
	}, {
		q: "La durée d'amortissement dépend :",
		options: ["De la durée d'utilisation estimée", "Du prix d'achat", "Du chiffre d'affaires", "Du résultat net"],
		answer: 0
	}]
}, {
	name: "Niveau 10: Inventaire et stocks",
	questions: [{
		q: "L'inventaire intermittent concerne :",
		options: ["Les stocks", "Les immobilisations", "Les créances", "Les dettes"],
		answer: 0
	}, {
		q: "Le compte 603 Variation des stocks est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte de capitaux propres", "Un compte d'immobilisations"],
		answer: 0
	}, {
		q: "La méthode FIFO consiste à :",
		options: ["Sortir d'abord les premiers entrés", "Sortir d'abord les derniers entrés", "Ne pas sortir de stock", "Sortir au hasard"],
		answer: 0
	}, {
		q: "Le stock final figure :",
		options: ["À l'actif du bilan", "Au passif du bilan", "Dans le compte de résultat", "Dans le journal de banque"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est :",
		options: ["Une charge", "Un produit", "Un passif", "Un actif"],
		answer: 0
	}, {
		q: "Le compte 31 concerne :",
		options: ["Les stocks de marchandises", "Les immobilisations", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "La méthode LIFO consiste à :",
		options: ["Sortir d'abord les derniers entrés", "Sortir d'abord les premiers entrés", "Ne pas sortir de stock", "Sortir au hasard"],
		answer: 0
	}, {
		q: "Le stock initial figure :",
		options: ["À l'actif du bilan", "Au passif du bilan", "Dans le compte de résultat", "Dans le journal de banque"],
		answer: 0
	}, {
		q: "La variation de stock est :",
		options: ["Un produit ou une charge", "Un actif", "Un passif", "Un financement"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est :",
		options: ["Une charge", "Un produit", "Un passif", "Un actif"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 32 concerne :",
		options: ["Les stocks de matières premières", "Les immobilisations", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "La méthode du coût moyen pondéré consiste à :",
		options: ["Calculer un coût moyen pour les sorties de stock", "Sortir d'abord les premiers entrés", "Sortir d'abord les derniers entrés", "Sortir au hasard"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est constatée :",
		options: ["En fin d'exercice", "En début d'exercice", "À chaque vente", "À chaque achat"],
		answer: 0
	}, {
		q: "Le stock final est évalué :",
		options: ["Au coût d'achat ou de production", "Au prix de vente", "Au prix de revient", "Au prix de marché"],
		answer: 0
	}, {
		q: "La variation de stock impacte :",
		options: ["Le résultat de l'exercice", "Le bilan uniquement", "La trésorerie uniquement", "Les capitaux propres"],
		answer: 0
	}]
},
// ... (Niveaux 11 à 27 : ajoutez de la même façon 5 questions supplémentaires par niveau pour enrichir chaque niveau)
{
	name: "Niveau 11: Résultat et SIG",
	questions: [{
		q: "Le SIG signifie :",
		options: ["Soldes Intermédiaires de Gestion", "Système d'Information de Gestion", "Solde Initial de Gestion", "Société d'Investissement en Gestion"],
		answer: 0
	}, {
		q: "Le résultat d'exploitation est :",
		options: ["Produits d'exploitation - Charges d'exploitation", "Chiffre d'affaires - TVA", "Résultat financier - charges", "Résultat exceptionnel"],
		answer: 0
	}, {
		q: "Le résultat net est :",
		options: ["Résultat d'exploitation + financier + exceptionnel - impôts", "Chiffre d'affaires - charges", "Stocks - dettes", "Immobilisations - amortissements"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le SIG permet :",
		options: ["D'analyser la formation du résultat", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le SIG est utilisé pour :",
		options: ["Analyser la rentabilité", "Calculer la TVA", "Établir le bilan", "Gérer la trésorerie"],
		answer: 0
	}, {
		q: "Le résultat exceptionnel provient :",
		options: ["D'opérations non courantes", "Des ventes", "Des achats", "Des stocks"],
		answer: 0
	}, {
		q: "Le résultat financier comprend :",
		options: ["Les produits et charges financiers", "Les ventes", "Les achats", "Les stocks"],
		answer: 0
	}, {
		q: "Le SIG permet de calculer :",
		options: ["La capacité d'autofinancement", "La TVA", "Le bilan", "La trésorerie"],
		answer: 0
	}, {
		q: "Le résultat d'exploitation est un indicateur de :",
		options: ["Performance opérationnelle", "Trésorerie", "Stocks", "Investissements"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27 avec 5 questions supplémentaires par niveau)
{
	name: "Niveau 12: Partie double avancée",
	questions: [{
		q: "Dans la partie double, chaque opération :",
		options: ["A un débit et un crédit du même montant", "A un seul débit", "A un seul crédit", "N'est pas enregistrée"],
		answer: 0
	}, {
		q: "Un achat à crédit s'enregistre :",
		options: ["Débit 6, Crédit 401", "Débit 401, Crédit 6", "Débit 512, Crédit 401", "Débit 7, Crédit 411"],
		answer: 0
	}, {
		q: "Une vente à crédit s'enregistre :",
		options: ["Débit 411, Crédit 7", "Débit 7, Crédit 411", "Débit 512, Crédit 7", "Débit 401, Crédit 7"],
		answer: 0
	}, {
		q: "Le compte 401 Fournisseurs est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 411 Clients est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "La partie double garantit :",
		options: ["L'équilibre du bilan", "Le calcul de la TVA", "La gestion des stocks", "La gestion de la trésorerie"],
		answer: 0
	}, {
		q: "Un paiement fournisseur s'enregistre :",
		options: ["Débit 401, Crédit 512", "Débit 512, Crédit 401", "Débit 606, Crédit 401", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "Un encaissement client s'enregistre :",
		options: ["Débit 512, Crédit 411", "Débit 411, Crédit 512", "Débit 7, Crédit 411", "Débit 401, Crédit 512"],
		answer: 0
	}, {
		q: "Le compte 512 Banque est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 606 Achats est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}]
},
// ... (Continuez pour tous les niveaux jusqu'au niveau 27)
{
	name: "Niveau 13: Analyse des ratios",
	questions: [{
		q: "Le ratio de solvabilité mesure :",
		options: ["La capacité à rembourser les dettes", "La rentabilité", "Le chiffre d'affaires", "Les stocks"],
		answer: 0
	}, {
		q: "Le ratio de liquidité générale est :",
		options: ["Actif circulant / Passif circulant", "Passif circulant / Actif circulant", "Stocks / Dettes", "Chiffre d'affaires / Résultat"],
		answer: 0
	}, {
		q: "Le ratio d'endettement est :",
		options: ["Dettes / Capitaux propres", "Capitaux propres / Dettes", "Stocks / Capitaux propres", "Résultat / Chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le taux de marge nette est :",
		options: ["Résultat net / Chiffre d'affaires", "Chiffre d'affaires / Résultat net", "Charges / Produits", "Stocks / Chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le ratio de rotation des stocks est :",
		options: ["Coût d'achat des ventes / Stock moyen", "Stock final / Stock initial", "Chiffre d'affaires / Résultat", "Charges / Produits"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le ratio de rentabilité mesure :",
		options: ["Le résultat net / chiffre d'affaires", "Les stocks / dettes", "Les charges / produits", "Les ventes / achats"],
		answer: 0
	}, {
		q: "Le ratio de liquidité immédiate est :",
		options: ["Trésorerie / Passif circulant", "Stocks / Actif circulant", "Dettes / Capitaux propres", "Résultat / Chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le ratio d'autonomie financière est :",
		options: ["Capitaux propres / Total du passif", "Dettes / Capitaux propres", "Stocks / Capitaux propres", "Résultat / Chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le ratio de couverture des immobilisations est :",
		options: ["Capitaux propres + dettes LT / Immobilisations", "Stocks / Immobilisations", "Résultat / Immobilisations", "Trésorerie / Immobilisations"],
		answer: 0
	}, {
		q: "Le ratio de rotation des créances est :",
		options: ["Chiffre d'affaires / Créances clients", "Créances clients / Chiffre d'affaires", "Stocks / Créances", "Résultat / Créances"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 14: Gestion budgétaire",
	questions: [{
		q: "Le budget de trésorerie permet :",
		options: ["De prévoir les encaissements et décaissements", "D'augmenter le capital", "De réduire les stocks", "D'augmenter les dettes"],
		answer: 0
	}, {
		q: "Un écart budgétaire positif signifie :",
		options: ["Un dépassement du budget", "Un respect du budget", "Un déficit", "Un excédent de trésorerie"],
		answer: 0
	}, {
		q: "Le contrôle budgétaire consiste à :",
		options: ["Comparer les prévisions et les réalisations", "Établir le bilan", "Calculer la TVA", "Gérer les stocks"],
		answer: 0
	}, {
		q: "Un budget flexible s'adapte :",
		options: ["Au niveau d'activité", "Au chiffre d'affaires", "Aux stocks", "Aux dettes"],
		answer: 0
	}, {
		q: "Le budget des ventes est :",
		options: ["Un budget d'exploitation", "Un budget d'investissement", "Un budget de financement", "Un budget de TVA"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le budget d'investissement concerne :",
		options: ["Les achats d'immobilisations", "Les ventes de produits", "Les charges sociales", "Les stocks"],
		answer: 0
	}, {
		q: "Le budget de fonctionnement concerne :",
		options: ["Les charges courantes", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Un écart budgétaire négatif signifie :",
		options: ["Un déficit", "Un excédent", "Un respect du budget", "Un dépassement du budget"],
		answer: 0
	}, {
		q: "Le budget de trésorerie est établi :",
		options: ["Pour prévoir la situation de trésorerie", "Pour calculer la TVA", "Pour gérer les stocks", "Pour établir le bilan"],
		answer: 0
	}, {
		q: "Le contrôle budgétaire permet :",
		options: ["D'identifier les écarts", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 15: Comptes de gestion",
	questions: [{
		q: "Le compte 606 Achats est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte de capitaux propres", "Un compte d'immobilisations"],
		answer: 0
	}, {
		q: "Le compte 707 Ventes est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte de capitaux propres", "Un compte d'immobilisations"],
		answer: 0
	}, {
		q: "Le compte 512 Banque est :",
		options: ["Un compte de trésorerie", "Un compte de charges", "Un compte de produits", "Un compte d'immobilisations"],
		answer: 0
	}, {
		q: "Le compte 218 Immobilisations corporelles est :",
		options: ["Un compte d'actif", "Un compte de passif", "Un compte de charges", "Un compte de produits"],
		answer: 0
	}, {
		q: "Le compte 44566 TVA déductible est :",
		options: ["Un compte de passif", "Un compte d'actif", "Un compte de charges", "Un compte de produits"],
		answer: 1
	},
	// Questions supplémentaires
	{
		q: "Le compte 401 Fournisseurs est :",
		options: ["Un compte de passif", "Un compte d'actif", "Un compte de charges", "Un compte de produits"],
		answer: 0
	}, {
		q: "Le compte 411 Clients est :",
		options: ["Un compte d'actif", "Un compte de passif", "Un compte de charges", "Un compte de produits"],
		answer: 0
	}, {
		q: "Le compte 44571 TVA collectée est :",
		options: ["Un compte de passif", "Un compte d'actif", "Un compte de charges", "Un compte de produits"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 101 Capital est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 16: Gestion des créances et dettes",
	questions: [{
		q: "Une créance client est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Une dette fournisseur est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 401 Fournisseurs est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 411 Clients est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le recouvrement d'une créance client est :",
		options: ["Un encaissement", "Un décaissement", "Un investissement", "Un financement"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 403 Fournisseurs d'immobilisations est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 416 Clients douteux est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 419 Rabais, remises, ristournes accordés par l'entreprise est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 467 Autres comptes débiteurs ou créditeurs est :",
		options: ["Un compte de tiers", "Un compte de charges", "Un compte de produits", "Un compte d'actif"],
		answer: 0
	}, {
		q: "Le compte 512 Banque est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 17: Gestion des immobilisations",
	questions: [{
		q: "L'acquisition d'une immobilisation s'enregistre :",
		options: ["Débit 218, Crédit 512", "Débit 606, Crédit 401", "Débit 512, Crédit 218", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "L'amortissement d'une immobilisation est :",
		options: ["Une charge", "Un produit", "Un actif", "Un passif"],
		answer: 0
	}, {
		q: "Le compte 281 Amortissements appartient à :",
		options: ["Classe 2", "Classe 6", "Classe 1", "Classe 4"],
		answer: 0
	}, {
		q: "La cession d'une immobilisation s'enregistre :",
		options: ["Débit 512, Crédit 775", "Débit 775, Crédit 512", "Débit 606, Crédit 401", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "La valeur nette comptable est :",
		options: ["Valeur brute - amortissements", "Valeur brute + amortissements", "Valeur brute - provisions", "Valeur brute + provisions"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 213 Constructions est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 205 Concessions et droits similaires est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 2183 Matériel de bureau est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 2182 Matériel de transport est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 2818 Amortissements du matériel de transport est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 18: Gestion des stocks",
	questions: [{
		q: "Le stock initial figure :",
		options: ["À l'actif du bilan", "Au passif du bilan", "Dans le compte de résultat", "Dans le journal de banque"],
		answer: 0
	}, {
		q: "La variation de stock est :",
		options: ["Un produit ou une charge", "Un actif", "Un passif", "Un financement"],
		answer: 0
	}, {
		q: "La méthode LIFO consiste à :",
		options: ["Sortir d'abord les derniers entrés", "Sortir d'abord les premiers entrés", "Ne pas sortir de stock", "Sortir au hasard"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est :",
		options: ["Une charge", "Un produit", "Un passif", "Un actif"],
		answer: 0
	}, {
		q: "Le compte 603 Variation des stocks est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte de capitaux propres", "Un compte d'immobilisations"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 32 concerne :",
		options: ["Les stocks de matières premières", "Les immobilisations", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "La méthode du coût moyen pondéré consiste à :",
		options: ["Calculer un coût moyen pour les sorties de stock", "Sortir d'abord les premiers entrés", "Sortir d'abord les derniers entrés", "Sortir au hasard"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est constatée :",
		options: ["En fin d'exercice", "En début d'exercice", "À chaque vente", "À chaque achat"],
		answer: 0
	}, {
		q: "Le stock final est évalué :",
		options: ["Au coût d'achat ou de production", "Au prix de vente", "Au prix de revient", "Au prix de marché"],
		answer: 0
	}, {
		q: "La variation de stock impacte :",
		options: ["Le résultat de l'exercice", "Le bilan uniquement", "La trésorerie uniquement", "Les capitaux propres"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 19: Gestion de la trésorerie avancée",
	questions: [{
		q: "Le rapprochement bancaire permet :",
		options: ["De vérifier la concordance entre la comptabilité et le relevé bancaire", "D'augmenter la trésorerie", "De réduire les charges", "D'augmenter les produits"],
		answer: 0
	}, {
		q: "Un solde bancaire débiteur signifie :",
		options: ["Un découvert", "Un excédent de trésorerie", "Un bénéfice", "Un investissement"],
		answer: 0
	}, {
		q: "Le budget de trésorerie permet :",
		options: ["De prévoir les encaissements et décaissements futurs", "De calculer le résultat net", "D'augmenter le capital", "De réduire les stocks"],
		answer: 0
	}, {
		q: "Un paiement par chèque est enregistré :",
		options: ["Au crédit du compte 512", "Au débit du compte 401", "Au crédit du compte 401", "Au débit du compte 512"],
		answer: 0
	}, {
		q: "Le compte 580 Virements internes appartient à :",
		options: ["Classe 5", "Classe 1", "Classe 4", "Classe 6"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 512 Banque est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 530 Caisse est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le rapprochement bancaire est effectué :",
		options: ["Pour vérifier la concordance entre la comptabilité et la banque", "Pour calculer la TVA", "Pour gérer les stocks", "Pour établir le bilan"],
		answer: 0
	}, {
		q: "Un solde bancaire créditeur signifie :",
		options: ["Un excédent de trésorerie", "Un découvert", "Un déficit", "Un investissement"],
		answer: 0
	}, {
		q: "Le budget de trésorerie est un outil de :",
		options: ["Gestion prévisionnelle", "Gestion des stocks", "Gestion des investissements", "Gestion des ventes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 20: TVA et fiscalité",
	questions: [{
		q: "La TVA collectée est :",
		options: ["La TVA facturée aux clients", "La TVA payée aux fournisseurs", "La TVA sur les immobilisations", "La TVA sur les salaires"],
		answer: 0
	}, {
		q: "La TVA déductible est :",
		options: ["La TVA payée sur les achats", "La TVA facturée aux clients", "La TVA sur les ventes", "La TVA sur les salaires"],
		answer: 0
	}, {
		q: "Le compte 44571 TVA collectée appartient à :",
		options: ["Classe 4", "Classe 5", "Classe 6", "Classe 7"],
		answer: 0
	}, {
		q: "Le compte 44566 TVA déductible sur autres biens et services appartient à :",
		options: ["Classe 4", "Classe 5", "Classe 6", "Classe 7"],
		answer: 0
	}, {
		q: "La déclaration de TVA CA3 est :",
		options: ["Une déclaration mensuelle ou trimestrielle", "Une déclaration annuelle", "Une déclaration de résultat", "Une déclaration de salaires"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "La TVA sur immobilisations est :",
		options: ["Déductible", "Collectée", "Non déductible", "Non collectée"],
		answer: 0
	}, {
		q: "Le compte 44562 TVA déductible sur immobilisations est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "La TVA à décaisser est :",
		options: ["La différence entre TVA collectée et TVA déductible", "La TVA collectée", "La TVA déductible", "La TVA sur les salaires"],
		answer: 0
	}, {
		q: "La TVA sur ventes est :",
		options: ["Collectée", "Déductible", "Non collectée", "Non déductible"],
		answer: 0
	}, {
		q: "La TVA sur achats est :",
		options: ["Déductible", "Collectée", "Non collectée", "Non déductible"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 21: Comptabilité des sociétés avancée",
	questions: [{
		q: "Dans une société, le capital social est :",
		options: ["Le montant des apports des associés", "Le chiffre d'affaires", "Le résultat net", "Le montant des dettes"],
		answer: 0
	}, {
		q: "Le compte 101 Capital appartient à :",
		options: ["Classe 1", "Classe 4", "Classe 5", "Classe 6"],
		answer: 0
	}, {
		q: "Les dividendes versés sont enregistrés :",
		options: ["Au débit du compte 457", "Au crédit du compte 512", "Au débit du compte 512", "Au crédit du compte 101"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "L'émission d'actions nouvelles augmente :",
		options: ["Le capital social", "Les dettes", "Les stocks", "Les charges"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 104 Primes d'émission est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 106 Réserves est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 110 Report à nouveau est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 129 Résultat de l'exercice (perte) est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 22: Gestion financière avancée",
	questions: [{
		q: "Le BFR (Besoin en Fonds de Roulement) est :",
		options: ["Stocks + créances clients - dettes fournisseurs", "Capitaux propres - immobilisations", "Produits - charges", "Trésorerie + immobilisations"],
		answer: 0
	}, {
		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: "La trésorerie nette se calcule :",
		options: ["FRNG - BFR", "BFR - FRNG", "Stocks - dettes", "Produits - charges"],
		answer: 0
	}, {
		q: "Un BFR négatif signifie :",
		options: ["L'entreprise finance son cycle d'exploitation avec ses fournisseurs", "L'entreprise a besoin de financement", "L'entreprise est en faillite", "L'entreprise a trop de stocks"],
		answer: 0
	}, {
		q: "Un FRNG négatif indique :",
		options: ["Un besoin de financement à court terme", "Un excédent de ressources stables", "Un excédent de trésorerie", "Un excédent de stocks"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le BFR positif signifie :",
		options: ["L'entreprise a besoin de financement", "L'entreprise a un excédent de trésorerie", "L'entreprise est en faillite", "L'entreprise a trop de stocks"],
		answer: 0
	}, {
		q: "Le FRNG positif signifie :",
		options: ["L'entreprise a un excédent de ressources stables", "L'entreprise a besoin de financement", "L'entreprise est en faillite", "L'entreprise a trop de stocks"],
		answer: 0
	}, {
		q: "La trésorerie nette négative signifie :",
		options: ["Un besoin de financement", "Un excédent de trésorerie", "Un excédent de ressources stables", "Un excédent de stocks"],
		answer: 0
	}, {
		q: "Le calcul du BFR permet :",
		options: ["D'évaluer le besoin de financement du cycle d'exploitation", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	}, {
		q: "Le calcul du FRNG permet :",
		options: ["D'évaluer la capacité de l'entreprise à financer son cycle d'exploitation", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 23: Comptabilité analytique avancée",
	questions: [{
		q: "La comptabilité analytique sert à :",
		options: ["Analyser les coûts de revient", "Calculer la TVA", "Établir le bilan", "Gérer la trésorerie"],
		answer: 0
	}, {
		q: "Le coût d'achat comprend :",
		options: ["Prix d'achat + frais accessoires", "Prix de vente - charges", "Stocks + créances", "Charges fixes"],
		answer: 0
	}, {
		q: "Le coût de revient est :",
		options: ["Le coût total d'un produit ou service", "Le prix de vente", "Le résultat net", "Le chiffre d'affaires"],
		answer: 0
	}, {
		q: "Les charges directes sont :",
		options: ["Affectées directement à un produit", "Réparties entre plusieurs produits", "Des charges fixes", "Des charges variables"],
		answer: 0
	}, {
		q: "Les charges indirectes sont :",
		options: ["Réparties entre plusieurs produits", "Affectées directement à un produit", "Des charges variables", "Des charges fixes"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le coût de production comprend :",
		options: ["Le coût d'achat + charges de production", "Le prix de vente", "Le résultat net", "Le chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le coût de distribution comprend :",
		options: ["Les frais de distribution", "Les frais d'achat", "Les frais de production", "Les frais de gestion"],
		answer: 0
	}, {
		q: "La comptabilité analytique permet :",
		options: ["D'analyser la rentabilité des produits", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	}, {
		q: "Les charges fixes sont :",
		options: ["Indépendantes du niveau d'activité", "Proportionnelles au niveau d'activité", "Variables", "Directes"],
		answer: 0
	}, {
		q: "Les charges variables sont :",
		options: ["Proportionnelles au niveau d'activité", "Indépendantes du niveau d'activité", "Fixes", "Directes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 24: Gestion des flux de trésorerie",
	questions: [{
		q: "Un flux de trésorerie positif signifie :",
		options: ["Une entrée d'argent", "Une sortie d'argent", "Un solde nul", "Un déficit"],
		answer: 0
	}, {
		q: "Un flux de trésorerie négatif signifie :",
		options: ["Une sortie d'argent", "Une entrée d'argent", "Un solde nul", "Un excédent"],
		answer: 0
	}, {
		q: "L'encaissement d'une créance client est :",
		options: ["Un flux positif", "Un flux négatif", "Un flux neutre", "Un flux d'investissement"],
		answer: 0
	}, {
		q: "Le paiement d'un fournisseur est :",
		options: ["Un flux négatif", "Un flux positif", "Un flux neutre", "Un flux de financement"],
		answer: 0
	}, {
		q: "L'augmentation du capital social est :",
		options: ["Un flux de financement", "Un flux d'exploitation", "Un flux d'investissement", "Un flux de TVA"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le flux de trésorerie d'investissement concerne :",
		options: ["Les achats et ventes d'immobilisations", "Les achats de matières", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux de trésorerie de financement concerne :",
		options: ["Les apports en capital et les emprunts", "Les achats de stocks", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux de trésorerie d'exploitation concerne :",
		options: ["Les opérations courantes de l'entreprise", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Le flux de TVA est lié à :",
		options: ["La collecte et le paiement de la TVA", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Un flux de trésorerie neutre signifie :",
		options: ["Aucun impact sur la trésorerie", "Une entrée d'argent", "Une sortie d'argent", "Un déficit"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 25: Gestion des capitaux propres",
	questions: [{
		q: "Le capital social est :",
		options: ["Un élément des capitaux propres", "Un passif", "Un actif", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 101 Capital appartient à :",
		options: ["Classe 1", "Classe 4", "Classe 5", "Classe 6"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Les réserves sont :",
		options: ["Des bénéfices non distribués", "Des dettes", "Des charges", "Des produits"],
		answer: 0
	}, {
		q: "L'affectation du résultat consiste à :",
		options: ["Répartir le résultat entre réserves et dividendes", "Calculer la TVA", "Établir le bilan", "Gérer la trésorerie"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 104 Primes d'émission est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 106 Réserves est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 110 Report à nouveau est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 129 Résultat de l'exercice (perte) est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 26: Gestion des emprunts et financements",
	questions: [{
		q: "Un emprunt bancaire est :",
		options: ["Un financement externe", "Un financement interne", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le remboursement d'un emprunt est :",
		options: ["Un décaissement", "Un encaissement", "Un investissement", "Un financement"],
		answer: 0
	}, {
		q: "Le compte 164 Emprunts appartient à :",
		options: ["Classe 1", "Classe 2", "Classe 4", "Classe 5"],
		answer: 0
	}, {
		q: "Les intérêts d'emprunt sont :",
		options: ["Des charges financières", "Des produits financiers", "Des capitaux propres", "Des immobilisations"],
		answer: 0
	}, {
		q: "L'obtention d'un emprunt bancaire est :",
		options: ["Un flux de financement", "Un flux d'investissement", "Un flux d'exploitation", "Un flux de TVA"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 6611 Intérêts des emprunts est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 168 Autres emprunts et dettes assimilées est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 512 Banque est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 627 Services bancaires et assimilés est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 164 Emprunts auprès des établissements de crédit est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 27: Gestion des opérations exceptionnelles",
	questions: [{
		q: "Une opération exceptionnelle est :",
		options: ["Non courante", "Courante", "Récurrente", "Budgétaire"],
		answer: 0
	}, {
		q: "Le compte 771 Produits exceptionnels est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 671 Charges exceptionnelles est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "La cession d'une immobilisation est :",
		options: ["Une opération exceptionnelle", "Une opération courante", "Une opération budgétaire", "Une opération de TVA"],
		answer: 0
	}, {
		q: "Le résultat exceptionnel est :",
		options: ["La différence entre produits et charges exceptionnels", "Le résultat d'exploitation", "Le résultat financier", "Le résultat net"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 678 Autres charges exceptionnelles est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 772 Produits des cessions d'éléments d'actif est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 675 Valeurs comptables des éléments d'actif cédés est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 7711 Produits exceptionnels sur opérations de gestion est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 7712 Produits exceptionnels sur opérations en capital est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}]
}];
var currentLevel = 1; // Always start at level 1
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);
	// Adjust question text size based on length
	if (qObj.q.length > 100) {
		questionText.size = 60;
	} else if (qObj.q.length > 60) {
		questionText.size = 65;
	} else {
		questionText.size = 70;
	}
	// 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();
			// Calcul de la note sur 20
			var totalQuestions = 0;
			for (var i = 0; i < quizLevels.length; i++) {
				totalQuestions += quizLevels[i].questions.length;
			}
			var note = Math.round(score / totalQuestions * 20);
			// Affiche la note dans le feedbackText
			feedbackText.setText("Quiz terminé !\nNote : " + note + "/20\nScore : " + score + "/" + totalQuestions);
			feedbackText.visible = true;
			nextBtn.visible = false;
			// Retour au niveau 1 après 3 secondes
			LK.setTimeout(function () {
				// Reset all state for replay
				currentLevel = 1;
				currentQuestion = 0;
				score = 0;
				progress = 0;
				saveProgress();
				showQuestion();
				// Appelle showYouWin pour afficher l'écran de victoire, puis le jeu recommencera au niveau 1
				LK.showYouWin();
			}, 3000);
		}
	}
}
// 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);
// --- Bouton "Recommencer au niveau 1" ---
// Création du bouton
var restartBtn = new Container();
var restartBtnBg = restartBtn.attachAsset('nextBtn', {
	width: 420,
	height: 100,
	color: 0xe23449,
	shape: 'box',
	anchorX: 0.5,
	anchorY: 0
});
var restartLabel = new Text2('Recommencer', {
	size: 48,
	fill: 0xffffff
});
restartLabel.anchor.set(0.5, 0.5);
restartLabel.x = 0;
restartLabel.y = 50;
restartBtn.addChild(restartLabel);
// Position en haut au centre, sous le titre de niveau
restartBtn.x = 2048 / 2;
restartBtn.y = 240;
// Action du bouton
restartBtn.down = function (x, y, obj) {
	// Reset tout l'état pour recommencer au niveau 1
	currentLevel = 1;
	currentQuestion = 0;
	score = 0;
	progress = 0;
	saveProgress();
	showQuestion();
	feedbackText.visible = false;
	nextBtn.visible = false;
};
// Ajout au GUI (top)
LK.gui.top.addChild(restartBtn);
// --- 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();
};
// Ajoute un asset image pour le fond personnalisé (remplacez 'mon_fond' et les dimensions/id par vos valeurs)
// Affiche le fond personnalisé (image) derrière tous les éléments du jeu
var backgroundImg = LK.getAsset('backgroundImg', {
	anchorX: 0,
	anchorY: 0,
	x: 0,
	y: 0,
	width: 2048,
	height: 2732
});
game.addChild(backgroundImg);
game.setChildIndex(backgroundImg, 0); // S'assure que le fond est tout au fond
// Play background music in loop
LK.playMusic('bgmusic'); /**** 
* 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);
		// Adjust text size based on length
		if (txt.length > 80) {
			label.size = 60;
		} else if (txt.length > 50) {
			label.size = 70;
		} else {
			label.size = 80;
		}
	};
	// 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
****/ 
// 27 niveaux de quiz, chaque niveau avec des questions avancées de gestion finance, BFR, FRNG, trésorerie, écritures, classes de comptes, etc.
// --- Global State ---
// Quiz game: We'll use simple shapes for buttons and backgrounds, and text for questions/answers.
// Buttons: Rectangles, different colors for answer options and navigation.
// Question area: Rectangle background.
// Progress bar: Rectangle.
// No images or sounds for MVP.
/**** 
* Quiz Data (MVP: 2 levels, 5 questions each)
****/ 
var quizLevels = [/* ... (Niveaux 1 à 7 inchangés, voir code existant) ... */
// Niveaux 8 à 27 enrichis avec plus de questions
{
	name: "Niveau 8: Tableaux de flux",
	questions: [{
		q: "Dans un tableau de flux de trésorerie, où classe-t-on l'achat d'une immobilisation ?",
		options: ["Flux d'exploitation", "Flux d'investissement", "Flux de financement", "Aucun"],
		answer: 1
	}, {
		q: "Un remboursement d'emprunt figure dans :",
		options: ["Flux d'exploitation", "Flux d'investissement", "Flux de financement", "Flux de TVA"],
		answer: 2
	}, {
		q: "L'encaissement d'une créance client est :",
		options: ["Un flux positif", "Un flux négatif", "Un flux neutre", "Un flux d'investissement"],
		answer: 0
	}, {
		q: "Le paiement d'un fournisseur est :",
		options: ["Un flux positif", "Un flux négatif", "Un flux neutre", "Un flux de financement"],
		answer: 1
	}, {
		q: "L'augmentation du capital social est :",
		options: ["Flux d'exploitation", "Flux d'investissement", "Flux de financement", "Flux de TVA"],
		answer: 2
	}, {
		q: "Le paiement d'un dividende est classé dans :",
		options: ["Flux de financement", "Flux d'investissement", "Flux d'exploitation", "Aucun"],
		answer: 0
	}, {
		q: "L'encaissement d'un emprunt bancaire est :",
		options: ["Un flux de financement", "Un flux d'investissement", "Un flux d'exploitation", "Un flux de TVA"],
		answer: 0
	}, {
		q: "Le paiement d'une facture fournisseur est :",
		options: ["Un flux d'exploitation", "Un flux d'investissement", "Un flux de financement", "Un flux de TVA"],
		answer: 0
	}, {
		q: "L'achat de matières premières est :",
		options: ["Un flux d'exploitation", "Un flux d'investissement", "Un flux de financement", "Un flux de TVA"],
		answer: 0
	}, {
		q: "Le versement d'un acompte client est :",
		options: ["Un flux d'exploitation", "Un flux d'investissement", "Un flux de financement", "Un flux de TVA"],
		answer: 0
	}, {
		q: "Le PGI (Progiciel de Gestion Intégré) est aussi appelé :",
		options: ["ERP", "CRM", "SIC", "PGC"],
		answer: 0
	}, {
		q: "Le SIC (Système d'Information Comptable) a pour fonction principale :",
		options: ["Produire l'information comptable", "Gérer la paie", "Vendre des produits", "Contrôler la production"],
		answer: 0
	}, {
		q: "Un PGI permet de :",
		options: ["Intégrer l'ensemble des processus de gestion", "Gérer uniquement la comptabilité", "Gérer uniquement la paie", "Gérer uniquement la production"],
		answer: 0
	}, {
		q: "Le module 'achats' d'un PGI permet :",
		options: ["De gérer les commandes fournisseurs", "De gérer la paie", "De gérer la production", "De gérer la trésorerie"],
		answer: 0
	}, {
		q: "Le module 'ventes' d'un PGI permet :",
		options: ["De gérer les commandes clients", "De gérer les immobilisations", "De gérer la paie", "De gérer la production"],
		answer: 0
	}, {
		q: "Le financement par crédit-bail est :",
		options: ["Un financement externe", "Un financement interne", "Un autofinancement", "Un financement par subvention"],
		answer: 0
	}, {
		q: "Le financement par augmentation de capital est :",
		options: ["Un financement interne", "Un financement externe", "Un financement bancaire", "Un financement par subvention"],
		answer: 1
	}, {
		q: "Le financement par emprunt bancaire est :",
		options: ["Un financement externe", "Un financement interne", "Un autofinancement", "Un financement par subvention"],
		answer: 0
	}, {
		q: "Le financement par subvention est :",
		options: ["Un financement externe", "Un financement interne", "Un autofinancement", "Un financement bancaire"],
		answer: 0
	}, {
		q: "Le financement par autofinancement consiste à :",
		options: ["Utiliser les ressources propres de l'entreprise", "Faire appel à un emprunt", "Augmenter le capital", "Obtenir une subvention"],
		answer: 0
	}, {
		q: "Le flux d'investissement comprend :",
		options: ["Les achats d'immobilisations", "Les ventes de marchandises", "Les paiements de salaires", "Les encaissements clients"],
		answer: 0
	}, {
		q: "Un flux de financement concerne :",
		options: ["Les apports en capital", "Les achats de matières", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux d'exploitation inclut :",
		options: ["Les achats et ventes courantes", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Le flux de TVA est :",
		options: ["Un flux spécifique lié à la TVA", "Un flux d'investissement", "Un flux de financement", "Un flux d'exploitation"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le flux de financement inclut :",
		options: ["Les apports en capital et les emprunts", "Les achats de stocks", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux d'exploitation comprend :",
		options: ["Les opérations courantes de l'entreprise", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Le flux d'investissement concerne :",
		options: ["Les achats et ventes d'immobilisations", "Les achats de matières", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux de TVA est lié à :",
		options: ["La collecte et le paiement de la TVA", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}]
}, {
	name: "Niveau 9: Immobilisations et amortissements",
	questions: [{
		q: "L'amortissement d'une immobilisation est :",
		options: ["Une charge", "Un produit", "Un actif", "Un passif"],
		answer: 0
	}, {
		q: "Le compte 281 Amortissements appartient à :",
		options: ["Classe 2", "Classe 6", "Classe 1", "Classe 4"],
		answer: 0
	}, {
		q: "L'acquisition d'une machine s'enregistre :",
		options: ["Débit 218, Crédit 512", "Débit 606, Crédit 401", "Débit 512, Crédit 218", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "L'amortissement est calculé sur :",
		options: ["La valeur brute", "La valeur nette", "La valeur d'usage", "La valeur de marché"],
		answer: 0
	}, {
		q: "L'amortissement linéaire consiste à :",
		options: ["Répartir le coût sur la durée d'utilisation", "Tout amortir la première année", "Ne pas amortir", "Amortir selon l'inflation"],
		answer: 0
	}, {
		q: "Le compte 218 Immobilisations corporelles est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "L'amortissement dégressif consiste à :",
		options: ["Amortir plus les premières années", "Amortir moins les premières années", "Amortir de façon égale", "Ne pas amortir"],
		answer: 0
	}, {
		q: "La dotation aux amortissements est :",
		options: ["Une charge non décaissée", "Une charge décaissée", "Un produit", "Un passif"],
		answer: 0
	}, {
		q: "L'acquisition d'un brevet s'enregistre :",
		options: ["Débit 205, Crédit 512", "Débit 606, Crédit 401", "Débit 512, Crédit 205", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "La sortie d'une immobilisation s'enregistre :",
		options: ["Débit 675, Crédit 218", "Débit 218, Crédit 675", "Débit 606, Crédit 401", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "Le compte 215 concerne :",
		options: ["Les installations techniques", "Les stocks", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "L'amortissement exceptionnel est :",
		options: ["Un amortissement non prévu initialement", "Un amortissement linéaire", "Un amortissement dégressif", "Un amortissement constant"],
		answer: 0
	}, {
		q: "Le compte 280 regroupe :",
		options: ["Les amortissements des immobilisations", "Les stocks", "Les dettes fournisseurs", "Les produits financiers"],
		answer: 0
	}, {
		q: "La valeur résiduelle d'une immobilisation est :",
		options: ["Sa valeur à la fin de l'utilisation", "Sa valeur d'achat", "Sa valeur brute", "Sa valeur nette comptable"],
		answer: 0
	}, {
		q: "L'amortissement permet :",
		options: ["De constater la perte de valeur d'un bien", "D'augmenter la valeur d'un bien", "De vendre un bien", "De financer un bien"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 213 concerne :",
		options: ["Les constructions", "Les stocks", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "L'amortissement accéléré est :",
		options: ["Un amortissement plus rapide que le linéaire", "Un amortissement linéaire", "Un amortissement dégressif", "Un amortissement constant"],
		answer: 0
	}, {
		q: "Le compte 206 concerne :",
		options: ["Les droits au bail", "Les stocks", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "L'amortissement d'un véhicule s'enregistre :",
		options: ["Débit 681, Crédit 281", "Débit 218, Crédit 512", "Débit 606, Crédit 401", "Débit 512, Crédit 218"],
		answer: 0
	}, {
		q: "La durée d'amortissement dépend :",
		options: ["De la durée d'utilisation estimée", "Du prix d'achat", "Du chiffre d'affaires", "Du résultat net"],
		answer: 0
	}]
}, {
	name: "Niveau 10: Inventaire et stocks",
	questions: [{
		q: "L'inventaire intermittent concerne :",
		options: ["Les stocks", "Les immobilisations", "Les créances", "Les dettes"],
		answer: 0
	}, {
		q: "Le compte 603 Variation des stocks est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte de capitaux propres", "Un compte d'immobilisations"],
		answer: 0
	}, {
		q: "La méthode FIFO consiste à :",
		options: ["Sortir d'abord les premiers entrés", "Sortir d'abord les derniers entrés", "Ne pas sortir de stock", "Sortir au hasard"],
		answer: 0
	}, {
		q: "Le stock final figure :",
		options: ["À l'actif du bilan", "Au passif du bilan", "Dans le compte de résultat", "Dans le journal de banque"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est :",
		options: ["Une charge", "Un produit", "Un passif", "Un actif"],
		answer: 0
	}, {
		q: "Le compte 31 concerne :",
		options: ["Les stocks de marchandises", "Les immobilisations", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "La méthode LIFO consiste à :",
		options: ["Sortir d'abord les derniers entrés", "Sortir d'abord les premiers entrés", "Ne pas sortir de stock", "Sortir au hasard"],
		answer: 0
	}, {
		q: "Le stock initial figure :",
		options: ["À l'actif du bilan", "Au passif du bilan", "Dans le compte de résultat", "Dans le journal de banque"],
		answer: 0
	}, {
		q: "La variation de stock est :",
		options: ["Un produit ou une charge", "Un actif", "Un passif", "Un financement"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est :",
		options: ["Une charge", "Un produit", "Un passif", "Un actif"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 32 concerne :",
		options: ["Les stocks de matières premières", "Les immobilisations", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "La méthode du coût moyen pondéré consiste à :",
		options: ["Calculer un coût moyen pour les sorties de stock", "Sortir d'abord les premiers entrés", "Sortir d'abord les derniers entrés", "Sortir au hasard"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est constatée :",
		options: ["En fin d'exercice", "En début d'exercice", "À chaque vente", "À chaque achat"],
		answer: 0
	}, {
		q: "Le stock final est évalué :",
		options: ["Au coût d'achat ou de production", "Au prix de vente", "Au prix de revient", "Au prix de marché"],
		answer: 0
	}, {
		q: "La variation de stock impacte :",
		options: ["Le résultat de l'exercice", "Le bilan uniquement", "La trésorerie uniquement", "Les capitaux propres"],
		answer: 0
	}]
},
// ... (Niveaux 11 à 27 : ajoutez de la même façon 5 questions supplémentaires par niveau pour enrichir chaque niveau)
{
	name: "Niveau 11: Résultat et SIG",
	questions: [{
		q: "Le SIG signifie :",
		options: ["Soldes Intermédiaires de Gestion", "Système d'Information de Gestion", "Solde Initial de Gestion", "Société d'Investissement en Gestion"],
		answer: 0
	}, {
		q: "Le résultat d'exploitation est :",
		options: ["Produits d'exploitation - Charges d'exploitation", "Chiffre d'affaires - TVA", "Résultat financier - charges", "Résultat exceptionnel"],
		answer: 0
	}, {
		q: "Le résultat net est :",
		options: ["Résultat d'exploitation + financier + exceptionnel - impôts", "Chiffre d'affaires - charges", "Stocks - dettes", "Immobilisations - amortissements"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le SIG permet :",
		options: ["D'analyser la formation du résultat", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le SIG est utilisé pour :",
		options: ["Analyser la rentabilité", "Calculer la TVA", "Établir le bilan", "Gérer la trésorerie"],
		answer: 0
	}, {
		q: "Le résultat exceptionnel provient :",
		options: ["D'opérations non courantes", "Des ventes", "Des achats", "Des stocks"],
		answer: 0
	}, {
		q: "Le résultat financier comprend :",
		options: ["Les produits et charges financiers", "Les ventes", "Les achats", "Les stocks"],
		answer: 0
	}, {
		q: "Le SIG permet de calculer :",
		options: ["La capacité d'autofinancement", "La TVA", "Le bilan", "La trésorerie"],
		answer: 0
	}, {
		q: "Le résultat d'exploitation est un indicateur de :",
		options: ["Performance opérationnelle", "Trésorerie", "Stocks", "Investissements"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27 avec 5 questions supplémentaires par niveau)
{
	name: "Niveau 12: Partie double avancée",
	questions: [{
		q: "Dans la partie double, chaque opération :",
		options: ["A un débit et un crédit du même montant", "A un seul débit", "A un seul crédit", "N'est pas enregistrée"],
		answer: 0
	}, {
		q: "Un achat à crédit s'enregistre :",
		options: ["Débit 6, Crédit 401", "Débit 401, Crédit 6", "Débit 512, Crédit 401", "Débit 7, Crédit 411"],
		answer: 0
	}, {
		q: "Une vente à crédit s'enregistre :",
		options: ["Débit 411, Crédit 7", "Débit 7, Crédit 411", "Débit 512, Crédit 7", "Débit 401, Crédit 7"],
		answer: 0
	}, {
		q: "Le compte 401 Fournisseurs est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 411 Clients est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "La partie double garantit :",
		options: ["L'équilibre du bilan", "Le calcul de la TVA", "La gestion des stocks", "La gestion de la trésorerie"],
		answer: 0
	}, {
		q: "Un paiement fournisseur s'enregistre :",
		options: ["Débit 401, Crédit 512", "Débit 512, Crédit 401", "Débit 606, Crédit 401", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "Un encaissement client s'enregistre :",
		options: ["Débit 512, Crédit 411", "Débit 411, Crédit 512", "Débit 7, Crédit 411", "Débit 401, Crédit 512"],
		answer: 0
	}, {
		q: "Le compte 512 Banque est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 606 Achats est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}]
},
// ... (Continuez pour tous les niveaux jusqu'au niveau 27)
{
	name: "Niveau 13: Analyse des ratios",
	questions: [{
		q: "Le ratio de solvabilité mesure :",
		options: ["La capacité à rembourser les dettes", "La rentabilité", "Le chiffre d'affaires", "Les stocks"],
		answer: 0
	}, {
		q: "Le ratio de liquidité générale est :",
		options: ["Actif circulant / Passif circulant", "Passif circulant / Actif circulant", "Stocks / Dettes", "Chiffre d'affaires / Résultat"],
		answer: 0
	}, {
		q: "Le ratio d'endettement est :",
		options: ["Dettes / Capitaux propres", "Capitaux propres / Dettes", "Stocks / Capitaux propres", "Résultat / Chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le taux de marge nette est :",
		options: ["Résultat net / Chiffre d'affaires", "Chiffre d'affaires / Résultat net", "Charges / Produits", "Stocks / Chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le ratio de rotation des stocks est :",
		options: ["Coût d'achat des ventes / Stock moyen", "Stock final / Stock initial", "Chiffre d'affaires / Résultat", "Charges / Produits"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le ratio de rentabilité mesure :",
		options: ["Le résultat net / chiffre d'affaires", "Les stocks / dettes", "Les charges / produits", "Les ventes / achats"],
		answer: 0
	}, {
		q: "Le ratio de liquidité immédiate est :",
		options: ["Trésorerie / Passif circulant", "Stocks / Actif circulant", "Dettes / Capitaux propres", "Résultat / Chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le ratio d'autonomie financière est :",
		options: ["Capitaux propres / Total du passif", "Dettes / Capitaux propres", "Stocks / Capitaux propres", "Résultat / Chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le ratio de couverture des immobilisations est :",
		options: ["Capitaux propres + dettes LT / Immobilisations", "Stocks / Immobilisations", "Résultat / Immobilisations", "Trésorerie / Immobilisations"],
		answer: 0
	}, {
		q: "Le ratio de rotation des créances est :",
		options: ["Chiffre d'affaires / Créances clients", "Créances clients / Chiffre d'affaires", "Stocks / Créances", "Résultat / Créances"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 14: Gestion budgétaire",
	questions: [{
		q: "Le budget de trésorerie permet :",
		options: ["De prévoir les encaissements et décaissements", "D'augmenter le capital", "De réduire les stocks", "D'augmenter les dettes"],
		answer: 0
	}, {
		q: "Un écart budgétaire positif signifie :",
		options: ["Un dépassement du budget", "Un respect du budget", "Un déficit", "Un excédent de trésorerie"],
		answer: 0
	}, {
		q: "Le contrôle budgétaire consiste à :",
		options: ["Comparer les prévisions et les réalisations", "Établir le bilan", "Calculer la TVA", "Gérer les stocks"],
		answer: 0
	}, {
		q: "Un budget flexible s'adapte :",
		options: ["Au niveau d'activité", "Au chiffre d'affaires", "Aux stocks", "Aux dettes"],
		answer: 0
	}, {
		q: "Le budget des ventes est :",
		options: ["Un budget d'exploitation", "Un budget d'investissement", "Un budget de financement", "Un budget de TVA"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le budget d'investissement concerne :",
		options: ["Les achats d'immobilisations", "Les ventes de produits", "Les charges sociales", "Les stocks"],
		answer: 0
	}, {
		q: "Le budget de fonctionnement concerne :",
		options: ["Les charges courantes", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Un écart budgétaire négatif signifie :",
		options: ["Un déficit", "Un excédent", "Un respect du budget", "Un dépassement du budget"],
		answer: 0
	}, {
		q: "Le budget de trésorerie est établi :",
		options: ["Pour prévoir la situation de trésorerie", "Pour calculer la TVA", "Pour gérer les stocks", "Pour établir le bilan"],
		answer: 0
	}, {
		q: "Le contrôle budgétaire permet :",
		options: ["D'identifier les écarts", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 15: Comptes de gestion",
	questions: [{
		q: "Le compte 606 Achats est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte de capitaux propres", "Un compte d'immobilisations"],
		answer: 0
	}, {
		q: "Le compte 707 Ventes est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte de capitaux propres", "Un compte d'immobilisations"],
		answer: 0
	}, {
		q: "Le compte 512 Banque est :",
		options: ["Un compte de trésorerie", "Un compte de charges", "Un compte de produits", "Un compte d'immobilisations"],
		answer: 0
	}, {
		q: "Le compte 218 Immobilisations corporelles est :",
		options: ["Un compte d'actif", "Un compte de passif", "Un compte de charges", "Un compte de produits"],
		answer: 0
	}, {
		q: "Le compte 44566 TVA déductible est :",
		options: ["Un compte de passif", "Un compte d'actif", "Un compte de charges", "Un compte de produits"],
		answer: 1
	},
	// Questions supplémentaires
	{
		q: "Le compte 401 Fournisseurs est :",
		options: ["Un compte de passif", "Un compte d'actif", "Un compte de charges", "Un compte de produits"],
		answer: 0
	}, {
		q: "Le compte 411 Clients est :",
		options: ["Un compte d'actif", "Un compte de passif", "Un compte de charges", "Un compte de produits"],
		answer: 0
	}, {
		q: "Le compte 44571 TVA collectée est :",
		options: ["Un compte de passif", "Un compte d'actif", "Un compte de charges", "Un compte de produits"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 101 Capital est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 16: Gestion des créances et dettes",
	questions: [{
		q: "Une créance client est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Une dette fournisseur est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 401 Fournisseurs est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 411 Clients est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le recouvrement d'une créance client est :",
		options: ["Un encaissement", "Un décaissement", "Un investissement", "Un financement"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 403 Fournisseurs d'immobilisations est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 416 Clients douteux est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 419 Rabais, remises, ristournes accordés par l'entreprise est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 467 Autres comptes débiteurs ou créditeurs est :",
		options: ["Un compte de tiers", "Un compte de charges", "Un compte de produits", "Un compte d'actif"],
		answer: 0
	}, {
		q: "Le compte 512 Banque est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 17: Gestion des immobilisations",
	questions: [{
		q: "L'acquisition d'une immobilisation s'enregistre :",
		options: ["Débit 218, Crédit 512", "Débit 606, Crédit 401", "Débit 512, Crédit 218", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "L'amortissement d'une immobilisation est :",
		options: ["Une charge", "Un produit", "Un actif", "Un passif"],
		answer: 0
	}, {
		q: "Le compte 281 Amortissements appartient à :",
		options: ["Classe 2", "Classe 6", "Classe 1", "Classe 4"],
		answer: 0
	}, {
		q: "La cession d'une immobilisation s'enregistre :",
		options: ["Débit 512, Crédit 775", "Débit 775, Crédit 512", "Débit 606, Crédit 401", "Débit 401, Crédit 606"],
		answer: 0
	}, {
		q: "La valeur nette comptable est :",
		options: ["Valeur brute - amortissements", "Valeur brute + amortissements", "Valeur brute - provisions", "Valeur brute + provisions"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 213 Constructions est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 205 Concessions et droits similaires est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 2183 Matériel de bureau est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 2182 Matériel de transport est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 2818 Amortissements du matériel de transport est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 18: Gestion des stocks",
	questions: [{
		q: "Le stock initial figure :",
		options: ["À l'actif du bilan", "Au passif du bilan", "Dans le compte de résultat", "Dans le journal de banque"],
		answer: 0
	}, {
		q: "La variation de stock est :",
		options: ["Un produit ou une charge", "Un actif", "Un passif", "Un financement"],
		answer: 0
	}, {
		q: "La méthode LIFO consiste à :",
		options: ["Sortir d'abord les derniers entrés", "Sortir d'abord les premiers entrés", "Ne pas sortir de stock", "Sortir au hasard"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est :",
		options: ["Une charge", "Un produit", "Un passif", "Un actif"],
		answer: 0
	}, {
		q: "Le compte 603 Variation des stocks est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte de capitaux propres", "Un compte d'immobilisations"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 32 concerne :",
		options: ["Les stocks de matières premières", "Les immobilisations", "Les dettes", "Les capitaux propres"],
		answer: 0
	}, {
		q: "La méthode du coût moyen pondéré consiste à :",
		options: ["Calculer un coût moyen pour les sorties de stock", "Sortir d'abord les premiers entrés", "Sortir d'abord les derniers entrés", "Sortir au hasard"],
		answer: 0
	}, {
		q: "La dépréciation des stocks est constatée :",
		options: ["En fin d'exercice", "En début d'exercice", "À chaque vente", "À chaque achat"],
		answer: 0
	}, {
		q: "Le stock final est évalué :",
		options: ["Au coût d'achat ou de production", "Au prix de vente", "Au prix de revient", "Au prix de marché"],
		answer: 0
	}, {
		q: "La variation de stock impacte :",
		options: ["Le résultat de l'exercice", "Le bilan uniquement", "La trésorerie uniquement", "Les capitaux propres"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 19: Gestion de la trésorerie avancée",
	questions: [{
		q: "Le rapprochement bancaire permet :",
		options: ["De vérifier la concordance entre la comptabilité et le relevé bancaire", "D'augmenter la trésorerie", "De réduire les charges", "D'augmenter les produits"],
		answer: 0
	}, {
		q: "Un solde bancaire débiteur signifie :",
		options: ["Un découvert", "Un excédent de trésorerie", "Un bénéfice", "Un investissement"],
		answer: 0
	}, {
		q: "Le budget de trésorerie permet :",
		options: ["De prévoir les encaissements et décaissements futurs", "De calculer le résultat net", "D'augmenter le capital", "De réduire les stocks"],
		answer: 0
	}, {
		q: "Un paiement par chèque est enregistré :",
		options: ["Au crédit du compte 512", "Au débit du compte 401", "Au crédit du compte 401", "Au débit du compte 512"],
		answer: 0
	}, {
		q: "Le compte 580 Virements internes appartient à :",
		options: ["Classe 5", "Classe 1", "Classe 4", "Classe 6"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 512 Banque est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 530 Caisse est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le rapprochement bancaire est effectué :",
		options: ["Pour vérifier la concordance entre la comptabilité et la banque", "Pour calculer la TVA", "Pour gérer les stocks", "Pour établir le bilan"],
		answer: 0
	}, {
		q: "Un solde bancaire créditeur signifie :",
		options: ["Un excédent de trésorerie", "Un découvert", "Un déficit", "Un investissement"],
		answer: 0
	}, {
		q: "Le budget de trésorerie est un outil de :",
		options: ["Gestion prévisionnelle", "Gestion des stocks", "Gestion des investissements", "Gestion des ventes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 20: TVA et fiscalité",
	questions: [{
		q: "La TVA collectée est :",
		options: ["La TVA facturée aux clients", "La TVA payée aux fournisseurs", "La TVA sur les immobilisations", "La TVA sur les salaires"],
		answer: 0
	}, {
		q: "La TVA déductible est :",
		options: ["La TVA payée sur les achats", "La TVA facturée aux clients", "La TVA sur les ventes", "La TVA sur les salaires"],
		answer: 0
	}, {
		q: "Le compte 44571 TVA collectée appartient à :",
		options: ["Classe 4", "Classe 5", "Classe 6", "Classe 7"],
		answer: 0
	}, {
		q: "Le compte 44566 TVA déductible sur autres biens et services appartient à :",
		options: ["Classe 4", "Classe 5", "Classe 6", "Classe 7"],
		answer: 0
	}, {
		q: "La déclaration de TVA CA3 est :",
		options: ["Une déclaration mensuelle ou trimestrielle", "Une déclaration annuelle", "Une déclaration de résultat", "Une déclaration de salaires"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "La TVA sur immobilisations est :",
		options: ["Déductible", "Collectée", "Non déductible", "Non collectée"],
		answer: 0
	}, {
		q: "Le compte 44562 TVA déductible sur immobilisations est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "La TVA à décaisser est :",
		options: ["La différence entre TVA collectée et TVA déductible", "La TVA collectée", "La TVA déductible", "La TVA sur les salaires"],
		answer: 0
	}, {
		q: "La TVA sur ventes est :",
		options: ["Collectée", "Déductible", "Non collectée", "Non déductible"],
		answer: 0
	}, {
		q: "La TVA sur achats est :",
		options: ["Déductible", "Collectée", "Non collectée", "Non déductible"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 21: Comptabilité des sociétés avancée",
	questions: [{
		q: "Dans une société, le capital social est :",
		options: ["Le montant des apports des associés", "Le chiffre d'affaires", "Le résultat net", "Le montant des dettes"],
		answer: 0
	}, {
		q: "Le compte 101 Capital appartient à :",
		options: ["Classe 1", "Classe 4", "Classe 5", "Classe 6"],
		answer: 0
	}, {
		q: "Les dividendes versés sont enregistrés :",
		options: ["Au débit du compte 457", "Au crédit du compte 512", "Au débit du compte 512", "Au crédit du compte 101"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "L'émission d'actions nouvelles augmente :",
		options: ["Le capital social", "Les dettes", "Les stocks", "Les charges"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 104 Primes d'émission est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 106 Réserves est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 110 Report à nouveau est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 129 Résultat de l'exercice (perte) est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 22: Gestion financière avancée",
	questions: [{
		q: "Le BFR (Besoin en Fonds de Roulement) est :",
		options: ["Stocks + créances clients - dettes fournisseurs", "Capitaux propres - immobilisations", "Produits - charges", "Trésorerie + immobilisations"],
		answer: 0
	}, {
		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: "La trésorerie nette se calcule :",
		options: ["FRNG - BFR", "BFR - FRNG", "Stocks - dettes", "Produits - charges"],
		answer: 0
	}, {
		q: "Un BFR négatif signifie :",
		options: ["L'entreprise finance son cycle d'exploitation avec ses fournisseurs", "L'entreprise a besoin de financement", "L'entreprise est en faillite", "L'entreprise a trop de stocks"],
		answer: 0
	}, {
		q: "Un FRNG négatif indique :",
		options: ["Un besoin de financement à court terme", "Un excédent de ressources stables", "Un excédent de trésorerie", "Un excédent de stocks"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le BFR positif signifie :",
		options: ["L'entreprise a besoin de financement", "L'entreprise a un excédent de trésorerie", "L'entreprise est en faillite", "L'entreprise a trop de stocks"],
		answer: 0
	}, {
		q: "Le FRNG positif signifie :",
		options: ["L'entreprise a un excédent de ressources stables", "L'entreprise a besoin de financement", "L'entreprise est en faillite", "L'entreprise a trop de stocks"],
		answer: 0
	}, {
		q: "La trésorerie nette négative signifie :",
		options: ["Un besoin de financement", "Un excédent de trésorerie", "Un excédent de ressources stables", "Un excédent de stocks"],
		answer: 0
	}, {
		q: "Le calcul du BFR permet :",
		options: ["D'évaluer le besoin de financement du cycle d'exploitation", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	}, {
		q: "Le calcul du FRNG permet :",
		options: ["D'évaluer la capacité de l'entreprise à financer son cycle d'exploitation", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 23: Comptabilité analytique avancée",
	questions: [{
		q: "La comptabilité analytique sert à :",
		options: ["Analyser les coûts de revient", "Calculer la TVA", "Établir le bilan", "Gérer la trésorerie"],
		answer: 0
	}, {
		q: "Le coût d'achat comprend :",
		options: ["Prix d'achat + frais accessoires", "Prix de vente - charges", "Stocks + créances", "Charges fixes"],
		answer: 0
	}, {
		q: "Le coût de revient est :",
		options: ["Le coût total d'un produit ou service", "Le prix de vente", "Le résultat net", "Le chiffre d'affaires"],
		answer: 0
	}, {
		q: "Les charges directes sont :",
		options: ["Affectées directement à un produit", "Réparties entre plusieurs produits", "Des charges fixes", "Des charges variables"],
		answer: 0
	}, {
		q: "Les charges indirectes sont :",
		options: ["Réparties entre plusieurs produits", "Affectées directement à un produit", "Des charges variables", "Des charges fixes"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le coût de production comprend :",
		options: ["Le coût d'achat + charges de production", "Le prix de vente", "Le résultat net", "Le chiffre d'affaires"],
		answer: 0
	}, {
		q: "Le coût de distribution comprend :",
		options: ["Les frais de distribution", "Les frais d'achat", "Les frais de production", "Les frais de gestion"],
		answer: 0
	}, {
		q: "La comptabilité analytique permet :",
		options: ["D'analyser la rentabilité des produits", "De calculer la TVA", "D'établir le bilan", "De gérer la trésorerie"],
		answer: 0
	}, {
		q: "Les charges fixes sont :",
		options: ["Indépendantes du niveau d'activité", "Proportionnelles au niveau d'activité", "Variables", "Directes"],
		answer: 0
	}, {
		q: "Les charges variables sont :",
		options: ["Proportionnelles au niveau d'activité", "Indépendantes du niveau d'activité", "Fixes", "Directes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 24: Gestion des flux de trésorerie",
	questions: [{
		q: "Un flux de trésorerie positif signifie :",
		options: ["Une entrée d'argent", "Une sortie d'argent", "Un solde nul", "Un déficit"],
		answer: 0
	}, {
		q: "Un flux de trésorerie négatif signifie :",
		options: ["Une sortie d'argent", "Une entrée d'argent", "Un solde nul", "Un excédent"],
		answer: 0
	}, {
		q: "L'encaissement d'une créance client est :",
		options: ["Un flux positif", "Un flux négatif", "Un flux neutre", "Un flux d'investissement"],
		answer: 0
	}, {
		q: "Le paiement d'un fournisseur est :",
		options: ["Un flux négatif", "Un flux positif", "Un flux neutre", "Un flux de financement"],
		answer: 0
	}, {
		q: "L'augmentation du capital social est :",
		options: ["Un flux de financement", "Un flux d'exploitation", "Un flux d'investissement", "Un flux de TVA"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le flux de trésorerie d'investissement concerne :",
		options: ["Les achats et ventes d'immobilisations", "Les achats de matières", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux de trésorerie de financement concerne :",
		options: ["Les apports en capital et les emprunts", "Les achats de stocks", "Les ventes de produits", "Les charges sociales"],
		answer: 0
	}, {
		q: "Le flux de trésorerie d'exploitation concerne :",
		options: ["Les opérations courantes de l'entreprise", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Le flux de TVA est lié à :",
		options: ["La collecte et le paiement de la TVA", "Les investissements", "Les financements", "Les dividendes"],
		answer: 0
	}, {
		q: "Un flux de trésorerie neutre signifie :",
		options: ["Aucun impact sur la trésorerie", "Une entrée d'argent", "Une sortie d'argent", "Un déficit"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 25: Gestion des capitaux propres",
	questions: [{
		q: "Le capital social est :",
		options: ["Un élément des capitaux propres", "Un passif", "Un actif", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 101 Capital appartient à :",
		options: ["Classe 1", "Classe 4", "Classe 5", "Classe 6"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Les réserves sont :",
		options: ["Des bénéfices non distribués", "Des dettes", "Des charges", "Des produits"],
		answer: 0
	}, {
		q: "L'affectation du résultat consiste à :",
		options: ["Répartir le résultat entre réserves et dividendes", "Calculer la TVA", "Établir le bilan", "Gérer la trésorerie"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 104 Primes d'émission est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 106 Réserves est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 110 Report à nouveau est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 120 Résultat de l'exercice est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}, {
		q: "Le compte 129 Résultat de l'exercice (perte) est :",
		options: ["Un compte de capitaux propres", "Un compte de charges", "Un compte de produits", "Un compte de dettes"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 26: Gestion des emprunts et financements",
	questions: [{
		q: "Un emprunt bancaire est :",
		options: ["Un financement externe", "Un financement interne", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le remboursement d'un emprunt est :",
		options: ["Un décaissement", "Un encaissement", "Un investissement", "Un financement"],
		answer: 0
	}, {
		q: "Le compte 164 Emprunts appartient à :",
		options: ["Classe 1", "Classe 2", "Classe 4", "Classe 5"],
		answer: 0
	}, {
		q: "Les intérêts d'emprunt sont :",
		options: ["Des charges financières", "Des produits financiers", "Des capitaux propres", "Des immobilisations"],
		answer: 0
	}, {
		q: "L'obtention d'un emprunt bancaire est :",
		options: ["Un flux de financement", "Un flux d'investissement", "Un flux d'exploitation", "Un flux de TVA"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 6611 Intérêts des emprunts est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 168 Autres emprunts et dettes assimilées est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 512 Banque est :",
		options: ["Un actif", "Un passif", "Un produit", "Une charge"],
		answer: 0
	}, {
		q: "Le compte 627 Services bancaires et assimilés est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 164 Emprunts auprès des établissements de crédit est :",
		options: ["Un passif", "Un actif", "Un produit", "Une charge"],
		answer: 0
	}]
},
// ... (Continuez à enrichir chaque niveau jusqu'au niveau 27)
{
	name: "Niveau 27: Gestion des opérations exceptionnelles",
	questions: [{
		q: "Une opération exceptionnelle est :",
		options: ["Non courante", "Courante", "Récurrente", "Budgétaire"],
		answer: 0
	}, {
		q: "Le compte 771 Produits exceptionnels est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 671 Charges exceptionnelles est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "La cession d'une immobilisation est :",
		options: ["Une opération exceptionnelle", "Une opération courante", "Une opération budgétaire", "Une opération de TVA"],
		answer: 0
	}, {
		q: "Le résultat exceptionnel est :",
		options: ["La différence entre produits et charges exceptionnels", "Le résultat d'exploitation", "Le résultat financier", "Le résultat net"],
		answer: 0
	},
	// Questions supplémentaires
	{
		q: "Le compte 678 Autres charges exceptionnelles est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 772 Produits des cessions d'éléments d'actif est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 675 Valeurs comptables des éléments d'actif cédés est :",
		options: ["Un compte de charges", "Un compte de produits", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 7711 Produits exceptionnels sur opérations de gestion est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}, {
		q: "Le compte 7712 Produits exceptionnels sur opérations en capital est :",
		options: ["Un compte de produits", "Un compte de charges", "Un compte d'actif", "Un compte de passif"],
		answer: 0
	}]
}];
var currentLevel = 1; // Always start at level 1
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);
	// Adjust question text size based on length
	if (qObj.q.length > 100) {
		questionText.size = 60;
	} else if (qObj.q.length > 60) {
		questionText.size = 65;
	} else {
		questionText.size = 70;
	}
	// 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();
			// Calcul de la note sur 20
			var totalQuestions = 0;
			for (var i = 0; i < quizLevels.length; i++) {
				totalQuestions += quizLevels[i].questions.length;
			}
			var note = Math.round(score / totalQuestions * 20);
			// Affiche la note dans le feedbackText
			feedbackText.setText("Quiz terminé !\nNote : " + note + "/20\nScore : " + score + "/" + totalQuestions);
			feedbackText.visible = true;
			nextBtn.visible = false;
			// Retour au niveau 1 après 3 secondes
			LK.setTimeout(function () {
				// Reset all state for replay
				currentLevel = 1;
				currentQuestion = 0;
				score = 0;
				progress = 0;
				saveProgress();
				showQuestion();
				// Appelle showYouWin pour afficher l'écran de victoire, puis le jeu recommencera au niveau 1
				LK.showYouWin();
			}, 3000);
		}
	}
}
// 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);
// --- Bouton "Recommencer au niveau 1" ---
// Création du bouton
var restartBtn = new Container();
var restartBtnBg = restartBtn.attachAsset('nextBtn', {
	width: 420,
	height: 100,
	color: 0xe23449,
	shape: 'box',
	anchorX: 0.5,
	anchorY: 0
});
var restartLabel = new Text2('Recommencer', {
	size: 48,
	fill: 0xffffff
});
restartLabel.anchor.set(0.5, 0.5);
restartLabel.x = 0;
restartLabel.y = 50;
restartBtn.addChild(restartLabel);
// Position en haut au centre, sous le titre de niveau
restartBtn.x = 2048 / 2;
restartBtn.y = 240;
// Action du bouton
restartBtn.down = function (x, y, obj) {
	// Reset tout l'état pour recommencer au niveau 1
	currentLevel = 1;
	currentQuestion = 0;
	score = 0;
	progress = 0;
	saveProgress();
	showQuestion();
	feedbackText.visible = false;
	nextBtn.visible = false;
};
// Ajout au GUI (top)
LK.gui.top.addChild(restartBtn);
// --- 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();
};
// Ajoute un asset image pour le fond personnalisé (remplacez 'mon_fond' et les dimensions/id par vos valeurs)
// Affiche le fond personnalisé (image) derrière tous les éléments du jeu
var backgroundImg = LK.getAsset('backgroundImg', {
	anchorX: 0,
	anchorY: 0,
	x: 0,
	y: 0,
	width: 2048,
	height: 2732
});
game.addChild(backgroundImg);
game.setChildIndex(backgroundImg, 0); // S'assure que le fond est tout au fond
// Play background music in loop
LK.playMusic('bgmusic');