Me encanta Codex de OpenAI. Hice esto mientras esperaba que llegara UberEats.
Codex también hizo la animación de las figuras de palo. Aquí está el aviso: Construir una aplicación nativa para macOS llamada “Stickworld” usando SwiftUI + SpriteKit (Swift Package, macOS 14+), con comandos ejecutables `swift build` y `swift run`. Apariencia de la app: - Fondo estilo cuaderno blanco. - Líneas azules horizontales sutiles y una línea de margen izquierda roja. - Texto del título en la parte superior izquierda: “Stickworld”. - Sin texto de subtítulo/instrucción debajo del título. Jugabilidad principal: - Clic izquierdo en espacio vacío: generar una figura de palo. - Clic izquierdo directamente sobre una figura de palo: eliminar esa figura. - Clic izquierdo y arrastrar: dibujar un objeto de línea negra. - Al soltar el ratón, si el trazo termina cerca del punto de inicio, cerrarlo en un bucle (trampa); de lo contrario, mantenerlo como una pared abierta. - Los objetos dibujados se convierten en obstáculos físicos estáticos con los que las figuras de palo colisionan. - Clic derecho y arrastrar: trazo de borrador. Si el borrador intersecta cualquier parte de un objeto dibujado (incluyendo zigzagueos), eliminar el objeto completo. Comportamiento de la figura de palo: - Renderizar figuras de palo negras simples con postura erguida (cabeza arriba, cuerpo vertical con ligera inclinación solamente). - Caminata autónoma en caminos mayormente horizontales, con solo ligeros ángulos hacia arriba/abajo. - Moverse a una velocidad de caminata (no corriendo), con segmentos rectos discretos y cambios de dirección ocasionales. - Permanecer dentro de los límites de la escena. - Cuando dos figuras colisionan, activar reacción de combate: - Una hace `punch_combo` - La otra hace `stagger` - Mostrar texto de impacto corto (por ejemplo, POW/BAP/etc.) - Incluir ocasional estado `idle_look`. Estructura de implementación: - `Sources/StickworldApp.swift` (entrada de la app) - `Sources/ContentView.swift` (composición de SwiftUI) - `Sources/StickWarsScene.swift` (escena de SpriteKit + estados de figura + manejo de entrada + lógica de obstáculos/borrador) - El nombre del producto/objetivo en `Package.swift` debe ser `Stickworld`. Importante: - No añadir comportamiento de respaldo para características inciertas a menos que pidas permiso primero.
482