Propulse.IA
import React, { useState, useEffect } from 'react'; import { Heart, Zap, AlertTriangle, CheckCircle, XCircle, RotateCcw } from 'lucide-react'; const PendulumGame = () => { const [gameState, setGameState] = useState('menu'); const [energy, setEnergy] = useState(100); const [awareness, setAwareness] = useState(50); const [score, setScore] = useState(0); const [currentScenario, setCurrentScenario] = useState(0); const [pendulumStrength, setPendulumStrength] = useState({}); const [feedback, setFeedback] = useState(''); const [showTutorial, setShowTutorial] = useState(false); const scenarios = [ { id: 1, type: 'social', title: 'Débat sur les réseaux sociaux', description: 'Vous voyez un post controversé sur les réseaux sociaux qui vous énerve. Plusieurs personnes débattent avec véhémence.', pendulum: 'Controverse sociale', options: [ { text: 'Répondre avec colère pour défendre votre point de vue', energy: -20, awareness: -10, pendulumBoost: 15, explanation: 'Vous nourrissez le pendulum avec votre énergie émotionnelle négative. L\'opposition frontale renforce toujours le pendulum.' }, { text: 'Adopter l\'indifférence consciente - observer sans réagir', energy: +10, awareness: +20, pendulumBoost: -10, explanation: 'Parfait ! L\'indifférence consciente est le moyen le plus efficace selon Zeland. Vous observez comme un film sans engagement personnel.' }, { text: 'Réduire l\'importance : "Est-ce vraiment si important ?"', energy: +15, awareness: +25, pendulumBoost: -15, explanation: 'Excellent ! Vous baissez l\'enjeu émotionnel. Les pendulums s\'alimentent du sentiment d\'importance excessive.' }, { text: 'Changer de fréquence : répondre avec humour léger', energy: +5, awareness: +15, pendulumBoost: -20, explanation: 'Brillant ! Cette dissonance émotionnelle trouble le pendulum qui cherchait de la colère.' } ] }, { id: 2, type: 'work', title: 'Conflit au travail', description: 'Votre collègue critique constamment vos idées en réunion. L\'atmosphère devient tendue.', pendulum: 'Conflit professionnel', options: [ { text: 'Contre-attaquer publiquement ses arguments', energy: -25, awareness: -15, pendulumBoost: 25, explanation: 'Vous alimentez le pendulum du conflit qui va s\'amplifier. L\'affrontement direct renforce toujours le pendulum.' }, { text: 'Adopter la posture d\'observateur extérieur', energy: +15, awareness: +25, pendulumBoost: -20, explanation: 'Excellent ! Vous observez la situation comme un spectateur sans engagement personnel émotionnel.' }, { text: 'Relativiser : "Quelle importance réelle a ce conflit ?"', energy: +10, awareness: +20, pendulumBoost: -15, explanation: 'Parfait ! Vous réduisez l\'importance accordée à la situation, privant le pendulum de sa source d\'énergie.' }, { text: 'Rediriger l\'énergie vers vos propres objectifs', energy: +20, awareness: +15, pendulumBoost: -25, explanation: 'Brillant ! Vous canalisez votre énergie vers la création de votre réalité personnelle au lieu de la gaspiller.' } ] }, { id: 3, type: 'politics', title: 'Débat politique familial', description: 'Lors d\'un repas de famille, une discussion politique s\'envenime. Chacun défend ses convictions avec passion.', pendulum: 'Polarisation politique', options: [ { text: 'Défendre vos idées avec conviction', energy: -30, awareness: -20, pendulumBoost: 30, explanation: 'Vous nourrissez massivement le pendulum. Même l\'adhésion passionnée alimente sa force destructrice.' }, { text: 'Pratiquer le lâcher-prise : "Not my monkeys, not my circus"', energy: +20, awareness: +30, pendulumBoost: -25, explanation: 'Parfait ! Vous appliquez le détachement conscient de Zeland. Vous vous recentrez sur vos propres priorités.' }, { text: 'Observer et sourire intérieurement sans s\'impliquer', energy: +15, awareness: +25, pendulumBoost: -20, explanation: 'Excellent ! Vous maintenez une distance émotionnelle tout en restant bienveillant.' }, { text: 'Changer de fréquence : répondre avec compassion', energy: +10, awareness: +20, pendulumBoost: -30, explanation: 'Brillant ! Cette dissonance émotionnelle désarme complètement le pendulum de polarisation.' } ] }, { id: 4, type: 'consumer', title: 'Pression consumériste', description: 'Vous voyez partout des publicités pour le dernier smartphone. Vos amis parlent de l\'acheter.', pendulum: 'Consumérisme', options: [ { text: 'L\'acheter immédiatement par peur d\'être en retard', energy: -20, awareness: -25, pendulumBoost: 30, explanation: 'Vous cédez à l\'importance excessive. Le pendulum se nourrit de votre peur et de votre besoin de conformité.' }, { text: 'Adopter l\'indifférence consciente face à la mode', energy: +15, awareness: +25, pendulumBoost: -20, explanation: 'Excellent ! Vous ne prêtez pas attention au pendulum consumériste, ni positivement ni négativement.' }, { text: 'Relativiser : "Ai-je vraiment besoin de cet objet ?"', energy: +20, awareness: +30, pendulumBoost: -25, explanation: 'Parfait ! Vous réduisez l\'importance accordée et questionnez le besoin artificiel créé par le pendulum.' }, { text: 'Canaliser l\'énergie vers vos vrais objectifs personnels', energy: +25, awareness: +20, pendulumBoost: -30, explanation: 'Brillant ! Vous redirigez intentionnellement votre énergie vers vos valeurs authentiques.' } ] }, { id: 5, type: 'health', title: 'Panique sanitaire', description: 'Une nouvelle "maladie dangereuse" fait la une. Tout le monde en parle avec peur ou déni.', pendulum: 'Panique collective', options: [ { text: 'Paniquer et accumuler des informations alarmantes', energy: -35, awareness: -30, pendulumBoost: 35, explanation: 'Vous alimentez massivement le pendulum de la peur.' }, { text: 'Nier complètement et critiquer les "moutons"', energy: -20, awareness: -15, pendulumBoost: 25, explanation: 'Le déni et la critique nourrissent aussi le pendulum.' }, { text: 'S\'informer calmement auprès de sources fiables', energy: +15, awareness: +25, pendulumBoost: -20, explanation: 'Excellent ! Vous gardez votre discernement sans tomber dans l\'émotionnel.' }, { text: 'Prendre des précautions raisonnables sans stress', energy: +10, awareness: +20, pendulumBoost: -15, explanation: 'Parfait ! Vous agissez avec sagesse sans nourrir la panique.' } ] } ]; const getPendulumLevel = (strength) => { if (strength < 20) return { level: 'Faible', color: 'text-green-500', bg: 'bg-green-100' }; if (strength < 50) return { level: 'Modéré', color: 'text-yellow-500', bg: 'bg-yellow-100' }; if (strength < 80) return { level: 'Fort', color: 'text-orange-500', bg: 'bg-orange-100' }; return { level: 'Très Fort', color: 'text-red-500', bg: 'bg-red-100' }; }; const startGame = () => { setGameState('playing'); setEnergy(100); setAwareness(50); setScore(0); setCurrentScenario(0); setPendulumStrength({}); setFeedback(''); }; const handleChoice = (choice) => { const scenario = scenarios[currentScenario]; const newEnergy = Math.max(0, Math.min(100, energy + choice.energy)); const newAwareness = Math.max(0, Math.min(100, awareness + choice.awareness)); // Update pendulum strength const currentStrength = pendulumStrength[scenario.pendulum] || 0; const newStrength = Math.max(0, Math.min(100, currentStrength + choice.pendulumBoost)); setPendulumStrength(prev => ({ ...prev, [scenario.pendulum]: newStrength })); setEnergy(newEnergy); setAwareness(newAwareness); setFeedback(choice.explanation); // Calculate score based on energy preservation and awareness gain const choiceScore = Math.max(0, choice.energy + choice.awareness - choice.pendulumBoost); setScore(prev => prev + choiceScore); // Check game over conditions if (newEnergy <= 0) { setGameState('gameOver'); return; } // Next scenario or end game setTimeout(() => { if (currentScenario < scenarios.length - 1) { setCurrentScenario(prev => prev + 1); setFeedback(''); } else { setGameState('victory'); } }, 3000); }; const resetGame = () => { setGameState('menu'); }; const getTutorial = () => (

Comment jouer ?

Objectif : Naviguer dans différentes situations sans nourrir les pendulums avec votre énergie.

Énergie : Votre force vitale. Si elle tombe à 0, vous perdez.

Conscience : Plus elle est haute, mieux vous comprenez les mécanismes des pendulums.

Pendulums : Structures énergétiques qui se nourrissent de vos réactions émotionnelles.

Stratégie : Restez détaché, observez sans juger, et ne donnez pas d'importance excessive aux situations.

); if (gameState === 'menu') { return (

Jeu des Pendulums

Basé sur les concepts de Vadim Zeland

Apprenez à naviguer dans la réalité sans nourrir les pendulums énergétiques

{showTutorial && getTutorial()}
); } if (gameState === 'playing') { const scenario = scenarios[currentScenario]; return (
{/* Stats */}
Énergie
{energy}
Conscience
{awareness}
Score
{score}
{/* Pendulum Status */}

État des Pendulums

{Object.entries(pendulumStrength).map(([name, strength]) => { const level = getPendulumLevel(strength); return (
{name}
{level.level}
); })}
{/* Scenario */}

Scénario {currentScenario + 1}: {scenario.title}

{scenario.description}

Pendulum actif: {scenario.pendulum}
{/* Feedback */} {feedback && (

{feedback}

)} {/* Options */} {!feedback && (

Que faites-vous ?

{scenario.options.map((option, index) => ( ))}
)} {/* Progress */}
Scénario {currentScenario + 1} sur {scenarios.length}
); } if (gameState === 'gameOver') { return (

Épuisement énergétique

Vous avez perdu toute votre énergie en nourrissant les pendulums.

Rappelez-vous : les pendulums se nourrissent de vos réactions émotionnelles, qu'elles soient positives ou négatives.

); } if (gameState === 'victory') { const totalPendulumStrength = Object.values(pendulumStrength).reduce((a, b) => a + b, 0); let performance = 'Excellent'; if (totalPendulumStrength > 100) performance = 'Bon'; if (totalPendulumStrength > 200) performance = 'Moyen'; if (totalPendulumStrength > 300) performance = 'Faible'; return (

Félicitations !

Vous avez terminé tous les scénarios avec succès.

Score final
{score}
Performance
{performance}

Leçons apprises :

  • • Le détachement émotionnel préserve votre énergie
  • • Observer sans juger développe la conscience
  • • Les pendulums se nourrissent de toute réaction intense
  • • La neutralité bienveillante est votre meilleure stratégie
); } }; export default PendulumGame;