LINUX.ORG.RU

Я создал программу с помощью ИИ

 , , ,


0

1
import random
import gi

gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GLib

class MovingParrotWindow(Gtk.Window):
    def __init__(self):
        super().__init__(title="Бегающий попугайчик")
        self.set_default_size(400, 300)

        # Используем Gtk.Fixed, чтобы можно было двигать виджет по точным координатам (x, y)
        self.fixed = Gtk.Fixed()
        self.add(self.fixed)

        # Создаем метку с попугайчиком
        self.label = Gtk.Label(label="🦜")

        # Увеличиваем размер шрифта через CSS
        css_provider = Gtk.CssProvider()
        css_provider.load_from_data(b"label { font-size: 36pt; }")
        self.label.get_style_context().add_provider(
            css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
        )

        # Добавляем попугайчика на холст
        self.fixed.put(self.label, 50, 50)

        # Начальные координаты и скорость движения
        self.x = 50.0
        self.y = 50.0
        self.dx = 30.0  # Скорость по X
        self.dy = 20.0  # Скорость по Y

        # Запускаем таймер: функция update_position будет вызываться каждые 30 миллисекунд
        GLib.timeout_add(30, self.update_position)

        self.connect("destroy", Gtk.main_quit)

    def update_position(self):
        # Получаем текущие размеры окна, чтобы попугайчик не улетал за границы
        allocation = self.get_allocation()
        win_width = allocation.width
        win_height = allocation.height

        # Меняем координаты
        self.x += self.dx
        self.y += self.dy

        # Отскок от правой и левой границ
        if self.x <= 0 or self.x >= win_width - 60:
            self.dx *= -1

        # Отскок от верхней и нижней границ
        if self.y <= 0 or self.y >= win_height - 60:
            self.dy *= -1

        # Перемещаем попугайчика на новые координаты
        self.fixed.move(self.label, int(self.x), int(self.y))

        # Возвращаем True, чтобы таймер продолжал работать
        return True

# Запуск приложения
win = MovingParrotWindow()
win.show_all()
Gtk.main()

Запускать так:

$ python3 app.py

При запуске попугайчик бегает по экрану

Когда ещё не существовало ни ИИ ни Питона (язык программирования), писал Питона (игра) на Бейсике (язык программирования).

andytux ★★★★★
()

Хороший термин тут в твиттере придумали: «cuck coding». Когда только сидишь и смотришь.

anonymous
()

При запуске попугайчик бегает по экрану

А кнопки из клавиатуры выковыривает? Если нет, то программа неполноценна! (%

mord0d ★★★★★
()

Ты вот создай с помощью ИИ программу для Б3-34. Это вам не на С/П нажимать.

Tigger ★★★★★
()

Ну тут серьезный софт, хотя-бы можно заревьювить такой размер кода легко. А комменты на русском указывают на то, что автор тру хакер.

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от anonymous_sama

ИИшка не знает, что комменты должны быть всегда на английском и бахает их на том же языке на каком с ней общались.

Xenius ★★★★★
()

Я запускаю как вы написали у меня ругается и не работает.

anonymous
()

Ну я вот только что с помощью ИИ за 3 часа навайбкодил поддержку EAS в ядре для процессоров AMD AI в которых тоже есть большие и малые ядра но линукс это не использует да и не собирается похоже. И вот чудесно работает - пока я тут печатаю и нагрузки на компе ноль большие ядра не шевелятся а вся нагрузка летит на малые. Понятно что патчи эти не предназначены для мейнлайна ядра. Но без ИИшечки я бы задолбался это писать - а тут достаточно было вкормить в ИИшечку amd-pstate драйвер, intel-pstate драйвер, и там по ходу несколько инклудов ну и понимать что просить у волшебной железяки.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

Ну я вот только что с помощью ИИ за 3 часа навайбкодил поддержку EAS в ядре для процессоров AMD AI в которых тоже есть большие и малые ядра но линукс это не использует да и не собирается похоже.

Согласен, что пример в начале темы, что выш код, ни кому про кроме авторов этих промтов нафиг не нужен.

anonymous
()
Ответ на: комментарий от anonymous

По поводу хреновой автономности фреймворка на амд стонов пол реддита. Так что если это поможет - то пригодится. Но тут надо еще провести эксперимент - в отличии от интела где малые и большия ядра обладают принципиально разной архитектурой и проброс задач на малые ядра реально работает - у амд разница между ядрами не столь велика, так что возможно все и мимо. Но это только эксперименты покажут.

Qui-Gon ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария