Eu adoro o Codex da OpenAI. Fiz isso enquanto esperava a chegada do UberEats.
O Codex fez também a animação das figuras de pau. Aqui está o prompt: Crie um aplicativo nativo para macOS chamado “Stickworld” usando SwiftUI + SpriteKit (Swift Package, macOS 14+), com comandos executáveis `swift build` e `swift run`. Aparência do aplicativo: - Fundo estilo bloco de notas branco. - Regras horizontais azuis subtis e uma linha de margem esquerda vermelha. - Texto do título no canto superior esquerdo: “Stickworld”. - Sem texto de subtítulo/instrução abaixo do título. Jogabilidade principal: - Clique esquerdo em espaço vazio: crie uma figura de pau. - Clique esquerdo diretamente em uma figura de pau: delete essa figura. - Clique esquerdo e arraste: desenhe um objeto de linha preta. - Ao soltar o mouse, se o traço terminar perto do ponto de início, feche-o em um laço (armadilha); caso contrário, mantenha-o como uma parede aberta. - Objetos desenhados tornam-se obstáculos físicos estáticos com os quais as figuras de pau colidem. - Clique direito e arraste: traço de borracha. Se a borracha intersectar qualquer parte de um objeto desenhado (incluindo ziguezagues), delete o objeto inteiro. Comportamento da figura de pau: - Renderize figuras de pau pretas simples com postura ereta (cabeça para cima, corpo vertical com leve inclinação apenas). - Caminhada autônoma em caminhos principalmente horizontais, com apenas ângulos ligeiros para cima/baixo. - Mova-se a uma velocidade de caminhada (não correndo), com segmentos retos discretos e mudanças de direção ocasionais. - Fique dentro dos limites da cena. - Quando duas figuras colidem, desencadeie uma reação de combate: - Uma faz `punch_combo` - A outra faz `stagger` - Mostre um texto de impacto curto (por exemplo, POW/BAP/etc.) - Inclua ocasionalmente o estado `idle_look`. Estrutura de implementação: - `Sources/StickworldApp.swift` (entrada do aplicativo) - `Sources/ContentView.swift` (composição SwiftUI) - `Sources/StickWarsScene.swift` (cena SpriteKit + estados da figura + manipulação de entrada + lógica de obstáculos/borracha) - O nome do produto/alvo em `Package.swift` deve ser `Stickworld`. Importante: - Não adicione comportamento de fallback para recursos incertos a menos que peça permissão primeiro.
479