Me encanta el Codex de OpenAI. Hice esto mientras esperaba a que llegara UberEats.
Codex también hizo la animación de los bonecos de palitos. Aquí va el prompt: Crea una aplicación nativa para macOS llamada "Stickworld" usando SwiftUI + SpriteKit (Swift Package, macOS 14+), con comandos ejecutables como 'swift build' y 'swift run'. Aspecto de la app: - Fondo blanco estilo bloc de notas. - Reglas azules horizontales sutiles y una línea roja en el margen izquierdo. - Texto del título en la esquina superior izquierda: "Stickworld". - No hay subtítulos ni texto de instrucciones bajo el título. Jugabilidad principal: - Haz clic izquierdo en el espacio vacío: aparece una figura de palitos. - Haz clic izquierdo directamente sobre una figura de palitos: borra esa figura. - Clic izquierdo y arrastre: dibuja un objeto de línea negra. - Al levantar el ratón, si el trazo termina cerca del punto de inicio, se cierra en un lazo (trampa); Si no, mantenlo como una pared abierta. - Los objetos dibujados se convierten en obstáculos físicos estáticos con los que chocan figuras de palito. - Clic derecho y arrastre: trazo de borrador. Si la goma de borrar intersecta cualquier parte de un objeto dibujado (incluidos zigzags), elimina todo el objeto. Comportamiento de las figuras de palitos: - Renderizar figuras de palitos negras simples con postura erguida (cabeza arriba, cuerpo vertical con solo ligera inclinación). - Caminar autónomo en caminos mayormente horizontales, con solo ligeros ángulos ascendentes/descendentes. - Moverse a velocidad de caminata (no corriendo), con segmentos rectos discretos y cambios ocasionales de dirección. - Mantente dentro de los límites de la escena. - Cuando dos figuras chocan, se desencadena la reacción de combate: - Uno hace 'punch_combo' - Otro sí 'atorda' - Mostrar texto de impacto corto (por ejemplo, POW/BAP/etc.) - Incluir ocasionalmente el estado 'idle_look'. Estructura de implementación: - 'Sources/StickworldApp.swift' (entrada de la app) - 'Sources/ContentView.swift' (composición SwiftUI) - 'Sources/StickWarsScene.swift' (escena de SpriteKit + estados de figuras + manejo de entradas + lógica de obstáculos/borradores) - El nombre/producto objetivo 'Package.swift' debe ser 'Stickworld'. Importante: - No añadir comportamiento de respaldo para características inciertas a menos que pidas permiso primero.
481