Test IA Site planifié par Qwen 3.6 · Créé par DeepSeek V4 Flash High

Crée un jeu 2D en Three.js : un shoot 'em up multidirectionnel dans l'espace où deux vaisseaux s'affrontent, se déplacent librement, tirent des projectiles et cherchent à détruire l'adversaire.
Crée un jeu 2D inspiré de Terraria, entièrement jouable dans le navigateur — sans Node.js, sans bundler, sans framework.
Crée un jeu 2D inspiré de Terraria, entièrement jouable dans le navigateur, sans Node.js, sans bundler, sans framework, sans dépendances serveur. Contraintes techniques : - Utiliser uniquement HTML, CSS et JavaScript. - Utiliser Three.js via CDN dans une balise <script>. - Tout le jeu doit fonctionner avec un simple fichier index.html ouvert dans le navigateur. - Ne pas utiliser React, Vue, npm, Vite, Webpack, Canvas 2D ou moteur externe. - Le rendu doit être fait avec Three.js. - Le jeu doit être en 2D avec une caméra orthographique. - Le style visuel doit être pixel art / blocs carrés, proche de Terraria mais original. Objectif du jeu : Créer un petit monde 2D en blocs où le joueur peut : - Se déplacer à gauche et à droite. - Sauter. - Être affecté par la gravité. - Marcher sur les blocs solides. - Casser des blocs de terre. - Casser des arbres. - Ramasser automatiquement les ressources. - Poser des blocs sur un quadrillage. - Voir le bloc actuellement sélectionné. - Utiliser la souris pour casser ou placer des blocs. Structure du monde : - Le monde est une grille 2D composée de cases carrées. - Chaque cellule peut contenir un bloc ou être vide. - Taille recommandée du monde : 100 blocs de large par 40 blocs de haut. - Taille visuelle d'un bloc : 1 unité Three.js. - Générer un terrain simple : - Ciel vide en haut. - Couche de terre en surface. - Couche de pierre plus profonde. - Quelques arbres placés aléatoirement à la surface. - Le terrain doit avoir une légère variation de hauteur, pas une ligne parfaitement droite. Types de blocs : 1. Air — Invisible, non solide 2. Terre — Marron, solide, cassable, plaçable 3. Herbe — Vert, solide, cassable 4. Pierre — Grise, solide, cassable, plaçable 5. Bois — Brun foncé, solide, cassable 6. Feuilles — Vertes, solides, cassables Joueur : - Rectangle simple en pixel art - Position x/y, vitesse x/y, largeur/hauteur - Collision avec les blocs solides - Contrôles : A/D ou flèches pour le mouvement, Espace/W/↑ pour sauter - Saut uniquement possible au sol - Caméra suit le joueur Interactions : - Curseur de sélection sur la case sous la souris - Clic gauche : casser un bloc à portée → ajout à l'inventaire - Clic droit : placer le bloc sélectionné sur la case ciblée - Portée d'interaction : ~5 blocs de rayon - Placement impossible dans le corps du joueur ou trop loin Inventaire : - Barre en bas de l'écran (HTML/CSS) - Terre, Pierre, Bois, Feuilles avec quantités - Touches 1-4 pour sélectionner le bloc actif - Surbrillance sur l'emplacement sélectionné Rendu : - Cubes/plans Three.js, caméra orthographique - Fond bleu ciel, blocs carrés alignés - Bordures légères pour lisibilité - Matériaux colorés, pas de textures externes Architecture du code : 15 sections organisées (init, monde, blocs, joueur, physique, collisions, caméra, souris, inventaire, etc.) Bonus : prévisualisation du bloc, contour du bloc ciblé, animation de destruction, particules, arbres complets, limites du monde, aide des contrôles.