Как сделать тамагочи на питоне

Обновлено: 08.07.2024

Здравствуйте! Столкнулся с такой задачей, нужно написать Тамагочи с использованием методов. 'Любимец' должен через определённый промежуток времени становиться ИЛИ грустным ИЛИ голодным ИЛИ заболевать. Через более длительный промежуток времени без вмешательства юзера - помирать. Пользователь, в свою очередь, с помощью команд представленных в меню может развеселить, накормить, вылечить, ну и GOD Mode - воскресить (т.е. рестарт игрушки). При выборе пункта ВЫХОД, пользователю предложат сохранить в текстовый файл статистику использования команд и итоговое время жизни любимца. В идеале попросили какой-то примитивный пиктограммный вид зверька и его "состояний", но я думаю это на уровне смайлов, не более. Буду благодарен любой помощи знающих людей и конечно в долгу не останусь!

14 голосов , оценка 3.929 из 5

Напишите класс Tamagotchi который создает объект Tamagotchi с указанным именем. Вы должны решить, какие свойства должен иметь объект Tamagotchi , чтобы поддерживать требуемое поведение, как описано ниже. Объект Tamagotchi , т имеет три метода:

teach где может быть переменное количество строковых входов. Это учит тамагочи этим словам. Символы также будут работать. Если вы попытаетесь научить тамагочи одними и теми же словами более одного раза, он будет игнорировать последующие попытки.

play заставит тамагочи вернуть строгий список слов, которые он преподавал (в последовательном порядке).

kill будет убивать тамагочи. Как только тамагочи находится на небесах, его нельзя научить и не ответят, когда вы попытаетесь сыграть с ним. Вместо этого, все дальнейшие вызовы методов возвращают строку " is pining for the fjords" где - имя тамагочи.

Что не так с моим кодом? я не получил результат, который я хочу для meow_meow.play()

Эта переменная self которая передается в методе класса, относится к экземпляру Tamagotchi . Чтобы не рассказывать вам, как выполнять домашнее задание, рассмотрите функцию __init__ где вы присваиваете имя экземпляру, поэтому

Теперь преподавание слова Tamagotchi означает, что он должен сказать новое слово, если оно еще не существует. У вас есть правильная идея в вашем методе teach , но вы не назначаете его экземпляру, поэтому он проиграл в будущих вызовах. Кроме того, для вашего метода воспроизведения words не определены в методе, поэтому он будет терпеть неудачу. Рассмотрите возможность отслеживания слов в teach , а затем отформатируйте их в play .

Edit: Поскольку OP сказал, что это слишком расплывчато. В этом примере будет использоваться попугай. Мой попугай довольно тупой, хотя он только повторяет последнее, что я говорю, поэтому позволяет реализовать моего попугая в коде

Теперь давайте пробежимся через сеанс меня и мою птицу. Я назову здесь Глэдис.

Перед тем как двигаться дальше, давайте посмотрим на основные разделы нашей статьи:

Установка Pygame

Первое, что нам надо сделать, это установить библиотеку Pygame. Это можно сделать, просто выполнив следующую команду:

Выполнив это, просто импортируем эту библиотеку и приступим к разработке игры. Но перед этим давайте взглянем на основные функции данной библиотеки, которые мы будем использовать при создании игры.

Создание экрана

Для создания экрана при помощи Pygame нужно воспользоваться функцией display.set_mode() . Также необходимо пользоваться методом init() для инициализации экрана в начале кода и методом quit() для его закрытия в конце. Метод update() используется для применения каких-либо изменений на экране. Еще существует метод flip() , который работает похожим с update() образом. Разница заключается лишь в том, что метод flip() переписывает весь экран целиком, а метод update() применяет именно изменения (хотя если его использовать без параметров, то он тоже переписывает весь экран) .

Результат:


Теперь, запустив этот код, вы увидите, что экран не пропадает, как раньше. На нем будут отображаться все действия игры. Мы этого добились благодаря функции event.get() . Также, при помощи функции display.set_caption() , мы вывели заголовок нашего экрана — ‘Snake game by Pythonist’.

Теперь, когда наш экран полностью подготовлен, нам предстоит нарисовать на нем змейку. Этому посвящен следующий раздел.

Лаборатория Django-разработки

За 3 месяца отработай навыки Django-разработки до профессионального уровня на серьезном проекте под руководством наставника.

Создание змейки

Перед тем как создать змейку, мы инициируем несколько цветовых переменных для раскрашивания самой змейки, еды и экрана. В Pygame используется цветовая схема RGB (RED, GREEN, BLUE). Установка всех цветов в 0 соответствует черному цвету, а в 255 — соответственно, белому.

Фактически, наша змейка является прямоугольником. Чтобы нарисовать прямоугольник в Pygame, можно воспользоваться функцией draw.rect() , которая нарисует нам прямоугольник заданного цвета и размера.

Результат:


Как можно увидеть, змейка создана в виде голубого прямоугольника. Теперь нам нужно научить ее двигаться.

Движение змейки

Чтобы передвигать змейку, мы будем использовать ключевые события из класса KEYDOWN библиотеки Pygame. События K_UP , K_DOWN , K_LEFT , и K_RIGHT заставят змейку двигаться вверх, вниз, влево и вправо соответственно. Также, цвет дисплея меняется от черного (по умолчанию) до белого при помощи метода fill() .

Для сохранения изменений координат x и y мы создали две новых переменные: x1_change и y1_change .

Результат:

В игре змейка игрок проигрывает, если касается границы экрана. Чтобы задать такое поведение, мы должны использовать инструкцию if , которая будет следить за тем, чтобы координаты x и y были меньше размеров экрана. Мы будем использовать для этого переменные, чтобы вы могли потом, при случае, легко внести какие-либо изменения в игру.

Результат:


Добавление еды

Результат:


Terminal:


Увеличение длины змейки

Результат:

Вывод счета на экран

И последнее, но весьма важное дело: вам нужно отображать счет игрока. Для этого мы создали функцию Your_score . Это функция будет показывать размер змейки за вычетом 1 (так как это начальный размер змейки).

Результат:


Вот мы и дошли до конца нашей статьи. Мы надеемся, что она вам понравилась и все было понятно. Самое главное, не забывайте как можно больше практиковаться и использовать ваши знания на практике.

Лаборатория Django-разработки

За 3 месяца отработай навыки Django-разработки до профессионального уровня на серьезном проекте под руководством наставника.

Обложка: Реальные примеры приложений на Python и PyQT: от косынки до веб-браузера

MooseAche


Пример веб-браузера, разработанного с помощью Python и Qt. Модуль QtWebEngineWidgets, представленный в Qt 5.6, даёт возможность просматривать веб-страницы в одном окне и использовать привычные элементы управления.

Mozzarella Ashbadger


Mozarella Ashbadger — революция среди браузеров! Возвращайтесь на вкладку назад и вперёд! Печатайте страницы! Сохраняйте файлы! Воспользуйтесь справкой! Любые совпадения с другими браузерами совершенно случайны.

Moonsweeper


Исследуйте таинственную поверхность луны Q’tee, но остерегайтесь пришельцев-аборигенов.

No2Pads


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

Calculon


Простой калькулятор, интерфейс разработан в Qt Designer, а операции реализованы с помощью стека.

Megasolid Idiom


Текстовый редактор для ваших скучных документов без форматирования. Дополнение к блокноту, опять с использованием QTextEdit, но уже с богатыми возможностями редактирования текста.

NSAViewer


Приложение, которое позволяет делать снимки с помощью веб-камеры. Для взаимодействия с веб-камерой используется модуль QtMultimedia. Кроме того, имеется поддержка нескольких камер.

Failamp


Простое приложение для прослушивания аудио и просмотра видео-файлов с поддержкой плейлиста. Для работы с воспроизведением и плейлистом используются QtMultimedia и QtMultimediaWidgets.

Brown Note (QtDesigner)


Это приложение позволяет создавать временные записки на рабочем столе. Записки хранятся в базе данных SQLiteTake.

Piecasso (QtDesigner)


Проявите свою творческую натуру с PieCasso — единственным приложением для рисования со встроенными рисунками пирога.

Piecasso — клон Paint из Windows 95 с несколькими новыми функциями и вырезанными старыми. В программе доступны стандартные инструменты вроде кисти, карандаша, заливки, распылителя и множество фигур.

7Pez (QtDesigner)


Распаковывайте архивы с помощью кота. Перетащите архив на кота и нажмите на его голову, чтобы распаковать архив в той же папке.

Translataarrr (QtDesigner)


Raindar (QtDesigner)


Приложение, показывающее прогноз погоды в выбранном городе. Данные для прогноза берутся через API для OpenWeatherMap.

Doughnut (PyQtGraph)


Это приложение с помощью API для Fixer позволяет отслеживать курсы валют. По умолчанию отображаются курсы за последние полгода.

Ronery (QGraphicsScene)


Читайте также: