Îmi place Codex-ul de la OpenAI. Am făcut asta în timp ce așteptam să sosească UberEats.
Codex a realizat și animația figurinelor. Iată promptul: Construiește o aplicație nativă pentru macOS numită "Stickworld" folosind SwiftUI + SpriteKit (Swift Package, macOS 14+), cu comenzi executabile "swift build" și "swift run". Aspectul aplicației: - Fundal alb în stil blocnotes. - Reguli albastre orizontale subtile și o linie roșie la marginea stângă. - Textul titlului din stânga sus: "Stickworld". - Fără subtitrări/instrucțiuni sub titlu. Gameplay-ul de bază: - Click stânga pe spațiu gol: generează o figurină de bețișoare. - Click stânga direct pe o figurină: șterge acea figură. - Click stânga și trage: desenează un obiect cu linie neagră. - La mouse-up, dacă mișcarea se termină aproape de punctul de start, închide-l într-o buclă (capcană); Altfel, păstrează-l ca un perete deschis. - Obiectele desenate devin obstacole fizice statice cu care se ciocnesc. - Clic dreapta și tragere: tușă de radieră. Dacă radiera intersectează orice parte a unui obiect desenat (inclusiv zigzagurile), șterge întregul obiect. Comportamentul omuleții: - Redarea unor figurine negre simple cu postură verticală (capul ridicat, corpul vertical cu doar o ușoară înclinare). - Mers autonom pe trasee în mare parte orizontale, cu doar unghiuri ușoare în sus/jos. - Se deplasează cu viteză de mers (nu alergare), cu segmente drepte distincte și schimbări ocazionale de direcție. - Rămâneți în interiorul scenei. - Când două figuri se ciocnesc, declanșează reacția de luptă: - Unul face "punch_combo" - Celălalt face "dezechilibrat" - Afișează text scurt de impact (de exemplu, POW/BAP/etc.) - Include ocazional starea "idle_look". Structura implementării: - 'Sources/StickworldApp.swift' (intrare în aplicație) - 'Sources/ContentView.swift' (compoziție SwiftUI) - 'Sources/StickWarsScene.swift' (Scena SpriteKit + stări ale figurilor + gestionarea intrărilor + logică obstacolă/radieră) - Numele produsului/țintă 'Package.swift' ar trebui să fie 'Stickworld'. Important: - Nu adăugați comportament de rezervă pentru funcții incerte decât dacă solicitați permisiunea mai întâi.
483