Мне нравится Codex от OpenAI. Я сделал это, пока ждал, когда приедет UberEats.
Codex также создал анимацию фигурок. Вот подсказка: Создайте нативное приложение для macOS под названием "Stickworld" с использованием SwiftUI + SpriteKit (Swift Package, macOS 14+), с исполняемыми командами `swift build` и `swift run`. Внешний вид приложения: - Фон в стиле белого блокнота. - Нежные горизонтальные синие линии и красная левая граница. - Заголовок в верхнем левом углу: "Stickworld". - Нет подзаголовка/инструкций под заголовком. Основной игровой процесс: - Левый клик в пустом пространстве: появление фигурки. - Левый клик непосредственно на фигурке: удалить эту фигурку. - Левый клик и перетаскивание: нарисовать черный линий объект. - При отпускании мыши, если линия заканчивается близко к начальной точке, замкнуть её в петлю (ловушку); в противном случае оставить как открытую стену. - Нарисованные объекты становятся статическими физическими препятствиями, с которыми сталкиваются фигурки. - Правый клик и перетаскивание: стирательная линия. Если стиратель пересекает любую часть нарисованного объекта (включая зигзаги), удалить весь объект. Поведение фигурок: - Отображать простые черные фигурки с прямой осанкой (голова вверх, тело вертикально с небольшим наклоном). - Автономная ходьба по в основном горизонтальным путям, с небольшими углами вверх/вниз. - Двигаться с ходьбой (не бегом), с дискретными прямыми сегментами и случайными изменениями направления. - Оставаться в пределах границ сцены. - Когда две фигурки сталкиваются, вызвать реакцию боя: - Одна делает `punch_combo` - Другая делает `stagger` - Показать короткий текст удара (например, POW/BAP и т.д.) - Включить случайное состояние `idle_look`. Структура реализации: - `Sources/StickworldApp.swift` (вход в приложение) - `Sources/ContentView.swift` (композиция SwiftUI) - `Sources/StickWarsScene.swift` (сцена SpriteKit + состояния фигур + обработка ввода + логика препятствий/стирания) - Имя продукта/цели в `Package.swift` должно быть `Stickworld`. Важно: - Не добавляйте резервное поведение для неопределенных функций, если сначала не спросите разрешение.
474