[Перевод] Создание игр на Python 3 и Pygame: Часть 3

image
(Остальные части туториала: первая, вторая, четвёртая, пятая.)

Это третья из пяти частей туториала о создании игр с помощью Python 3 и Pygame. Во второй части мы рассмотрели класс TextObject, используемый для рендеринга текста на экран, создали основное окно и узнали, как отрисовывать объекты: кирпичи, мяч и ракетку.

В этой части мы погрузимся глубже в сердце Breakout и узнаем, как обрабатывать события, познакомимся с основным классом Breakout и увидим, как перемещать различные объекты в игре.

Обработка событий


В Breakout есть три типа событий: события нажатий клавиш, события мыши и события таймера. Основной цикл в классе Game обрабатывает нажатия клавиш и события мыши и передаёт их подписчикам (вызывая функцию-обработчик).

Хотя класс Game очень общий и не обладает знаниями о реализации Breakout, сама подписка и способы обработки событий очень специфичны.
Читать дальше →

OAuth аутентификация в приложении Flask

Эта статья является бонусом к новому циклу статей Flask Mega-Tutorial (2018).
Автор тот же Мигель Гринберг. Статья не новая, но не утратила своей актуальности.


blog.miguelgrinberg.com


Технологии OAuth уже больше 10 лет, и 99% процентов интернет-аудитории имеет аккаунт минимум на одном из ресурсов, поддерживающих OAuth. Кнопка «Войти через» есть почти на каждом ресурсе? Разберемся как это делается с применением микрофреймворка Flask.



Читать дальше →

[Из песочницы] Обучаемый Telegram чат-бот с ИИ в 30 строчек кода на Python

image

Сегодня мне в голову стукнула мысль: «А почему бы не написать Telegram чат-бота с ИИ, которого потом можно будет обучать?»

Читать дальше →

Использование обратного преобразования Лапласа для анализа динамических звеньев систем управления



Здравствуйте!

До настоящего времени в арсенале средств высокоуровневого языка программирования Python отсутствовали модули для численного преобразования передаточных функций элементов САУ из частотной области во временную.

Поскольку функции обратного преобразования Лапласа широко используются при анализе динамических систем контроля измерения и управления, использование Python для указанных целей было весьма затруднительно, поскольку приходилось использовать менее точное обратное Фурье преобразование [1].

Указанную проблему решает модуль mpmath библиотеки Python свободного распространения (под лицензией BSD), предназначенный для решения задач вещественной и комплексной арифметики с плавающей точкой и заданной точностью.

Работу над модулем ещё в 2007 году начал Fredrik Johansson [2], и, благодаря помощи многих участников проекта, в настоящее время mpmath приобрёл возможности серьёзного математического пакета.
Читать дальше →

«Простое» программирование на python


functools (это такая свалка для всяких ненужных мне вещей :-).
— Гвидо ван Россум

Может показаться, что статья о ФП, но я не собираюсь обсуждать парадигму. Речь пойдет о переиспользовании и упрощении кода — я попытаюсь доказать, что вы пишете слишком много кода, поэтому он сложный и тяжело тестируется, но самое главное: его долго читать и менять.


В статье заимствуются примеры и/или концепции из библиотеки funcy. Во-первых, она клевая, во-вторых, вы сразу же сможете начать ее использовать. И да, нам понадобится ФП.

Читать дальше →

[Из песочницы] Пробуем q-learning на вкус, повесть в трех частях

Эта статья — небольшая заметка о реализации алгоритма q-learning для управления агентом в стохастическом окружении. Первая часть статьи будет посвящена созданию окружения для проведения симуляций — мини-игр на поле nxn, в которых агент должен как можно дольше продержаться на удалении от противников, движущихся случайным образом. Задача противников, соответственно, его настигнуть. Очки начисляются за каждый ход, проведенный агентом в симуляции. Вторая часть статьи затронет основы q-learning алгоритма и его имплементацию. В третьей части попробуем поменять параметры, которые определяют восприятие окружения агентом. Проанализируем влияние этих параметров на результативность его игры. Акцент я специально сместил в сторону использования минимального количества сторонних модулей. Цель — прикоснуться к самой сути алгоритма, так сказать потрогать руками. Для реализации будем использовать только «pure» python 3.


Читать дальше →

Smart IDReader SDK — как написать Telegram-бота на Python для распознавания документов за 5 минут

Smart IDReader by Smart Engines

Мы, Smart Engines, продолжаем цикл статей про то, как встроить наши технологии распознавания (паспортов, банковских карт и других) в ваши приложения. Ранее мы уже писали про встраивание на iOS и Android, а сегодня мы расскажем про то, как работать с Python-интерфейсом библиотеки распознавания Smart IDReader и напишем простого Telegram-бота.

Кстати, список поддерживаемых нами языков программирования расширился и теперь включает C++, C, C#, Objective-C, Swift, Java, Python, а также такие эзотерические языки, как Visual Basic и, разумеется, PHP. Как и раньше, мы поддерживаем все популярные и многие непопулярные операционные системы и архитектуры, а наши бесплатные приложения доступны для скачивания из App Store и Google Play.

По традиции, демо-версия Smart IDReader SDK для Python вместе с исходным кодом реализации Telegram-бота выложены на Github и доступны по ссылке: ...Далее...

Обзор литературы по языку Python для начинающих

Очень часто можно увидеть вопросы на том же тостере: «А какую книгу взять книгу, чтобы выучить технологи Х», и естественно в комментариях идет большое число мнений и большое число различных книг. В данной теме, я сделаю обзор самых популярных книг по Python для начинающих программистов, и дам четкое мнение – нужно ли их читать или нет (субъективно).

Нужно ли читать книги. Изучая новые технологии, я люблю читать книги по данной технологии, так как я получаю не только сухую информацию, но и субъективное мнение автора по пригодности данных технологий. И в отличие от видео-курсов, мне не приходится ждать, пока автор из себя выдавливает мысль. Да и читаю, я быстро. Читать дальше →

Tcl/Tk. Тематические виджеты TTK и дизайнер TKproE-2.20

imageПросматривая свои заметки по проектированию GUI с использованием виджетов Tk, я почувствовал какую-то неудовлетворенность. А дело оказалось в том, что я фактически упустил работу с тематическими виджетами ttk (themed tk). Они в скользь были задействованы при рассмотрении пакета Tkinter для Python и использовании дизайнера Page . Там речь шла о виджете TNotebook (блокнот, записная книжка) из пакета ttk. Читать дальше →


Последние посты