Eu adoro o Codex da OpenAI. Fiz isso enquanto esperava o UberEats chegar.
A Codex também fez a animação dos bonecos de palito. Aqui está o prompt: Construa 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 branco estilo bloco de notas. - Regras horizontais azuis sutis e uma linha vermelha na margem esquerda. - Texto do título no canto superior esquerdo: "Stickworld". - Sem texto de legendas/instruções sob o título. Jogabilidade principal: - Clique com o botão esquerdo no espaço vazio: gera um boneco de palito. - Clique com o botão esquerdo diretamente em um boneco de palito: exclua essa figura. - Clique esquerdo e arraste: desenhe um objeto de linha preta. - No mouse-up, se o traço terminar próximo ao ponto de partida, feche-o em um loop (armadilha); Caso contrário, mantenha como uma parede aberta. - Objetos desenhados tornam-se obstáculos físicos estáticos com os quais bonecos de palito colidem. - Clique direito e arraste: traço de borracha. Se a borracha intersectar qualquer parte de um objeto desenhado (incluindo ziguezagues), exclua todo o objeto. Comportamento de bonecos de palito: - Renderizar bonecos simples pretos com postura ereta (cabeça erguida, corpo vertical com apenas leve inclinação). - Caminhada autônoma em caminhos predominantemente horizontais, com apenas ângulos leves para cima e para baixo. - Mover-se em velocidade de caminhada (não correndo), com segmentos retos discretos e mudanças ocasionais de direção. - Fique dentro dos limites da cena. - Quando duas figuras colidem, desencadeiam a reação de combate: - Um faz 'punch_combo' - O Outro faz 'atordoar' - Mostrar texto de impacto curto (por exemplo, POW/BAP/etc.) - Incluir ocasionalmente o estado 'idle_look'. Estrutura de implementação: - 'Sources/StickworldApp.swift' (entrada do app) - 'Sources/ContentView.swift' (composição SwiftUI) - 'Sources/StickWarsScene.swift' (Cena do SpriteKit + estados das figuras + manuseio de entrada + lógica de obstáculos/borrachas) - O nome do produto/alvo 'Package.swift' deve ser 'Stickworld'. Importante: - Não adicione comportamento de retenção para recursos incertos a menos que você peça permissão primeiro.
481