J'adore Codex d'OpenAI. J'ai fait ça en attendant l'arrivée d'UberEats.
Codex a également réalisé l'animation des bonhommes allumettes. Voici le prompt : Créez une application macOS native appelée “Stickworld” en utilisant SwiftUI + SpriteKit (Swift Package, macOS 14+), avec des commandes exécutables `swift build` et `swift run`. Apparence de l'application : - Fond de style bloc-notes blanc. - Règles horizontales bleues subtiles et une ligne de marge gauche rouge. - Texte du titre en haut à gauche : “Stickworld”. - Pas de texte de sous-titre/instruction sous le titre. Gameplay principal : - Clic gauche dans l'espace vide : faire apparaître un bonhomme allumette. - Clic gauche directement sur un bonhomme allumette : supprimer cette figure. - Clic gauche et glisser : dessiner un objet ligne noir. - À la relâche de la souris, si le trait se termine près du point de départ, le fermer en boucle (piège) ; sinon, le garder comme un mur ouvert. - Les objets dessinés deviennent des obstacles physiques statiques avec lesquels les bonhommes allumettes entrent en collision. - Clic droit et glisser : trait de gomme. Si la gomme intersecte une partie d'un objet dessiné (y compris les zigzags), supprimer l'objet entier. Comportement des bonhommes allumettes : - Rendre des bonhommes allumettes noirs simples avec une posture droite (tête en haut, corps vertical avec une légère inclinaison seulement). - Marche autonome sur des chemins principalement horizontaux, avec seulement de légers angles de montée/descente. - Se déplacer à une vitesse de marche (pas en courant), avec des segments droits discrets et des changements de direction occasionnels. - Rester à l'intérieur des limites de la scène. - Lorsque deux figures entrent en collision, déclencher une réaction de combat : - L'un fait `punch_combo` - L'autre fait `stagger` - Afficher un court texte d'impact (par exemple, POW/BAP/etc.) - Inclure un état `idle_look` occasionnel. Structure d'implémentation : - `Sources/StickworldApp.swift` (entrée de l'application) - `Sources/ContentView.swift` (composition SwiftUI) - `Sources/StickWarsScene.swift` (scène SpriteKit + états des figures + gestion des entrées + logique d'obstacle/gomme) - Le nom du produit/cible dans `Package.swift` doit être `Stickworld`. Important : - Ne pas ajouter de comportement de secours pour des fonctionnalités incertaines à moins de demander la permission d'abord.
470