Pull to refresh
12
0
Алексей Чегляков @huh

User

Send message

Создание игр на Python 3 и Pygame: Часть 1

Reading time8 min
Views358K
Многие разработчики приходят в разработку ПО, потому что хотят создавать игры. Не все могут стать профессиональными разработчиками игр, но любой может создавать собственные игры из интереса (а может быть, и с выгодой). В этом туториале, состоящем из пяти частей, я расскажу вам, как создавать двухмерные однопользовательские игры с помощью Python 3 и замечательного фреймворка PyGame.

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

Мы создадим версию классической игры Breakout. Освоив этот туториал, вы будете чётко понимать, что необходимо для создания игры, познакомитесь с возможностями Pygame и напишете собственный пример игры.

Мы реализуем следующие функции и возможности:

  • простые стандартные GameObject и TextObject
  • простой стандартный Game object
  • простая стандартная кнопка
  • файл конфигурации
  • обработка событий клавиатуры и мыши
  • кирпичи, ракетка и мяч
  • управление движением ракетки
  • обработка коллизий мяча с объектами игры
  • фоновое изображение
  • звуковые эффекты
  • расширяемая система спецэффектов

Не стоит ожидать, что игра будет очень красива графически. Я программист, а не художник, меня больше интересует эстетика кода. Созданный мной дизайн может неприятно удивить. С другой стороны, у вас будут почти неограниченные возможности по улучшению графики этой версии Breakout. Если вы отважитесь повторять за мной, посмотрите на скриншот:


Готовый исходный код выложен здесь.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments4

В Норвегии с паразитами рыб борются при помощи подводных роботов с лазерами

Reading time3 min
Views31K


В некоторых фьордах Норвегии и ряде водоемов Шотландии вечером и ночью в воде можно наблюдать странные зеленые вспышки. Эти вспышки довольно яркие, да и видеть их можно часто. Непосвященный человек подумает, что дело во внеземной жизни или это проявление деятельности потусторонних сил. Но на самом деле все намного проще и приземленнее. Эти вспышки — следы борьбы предпринимателей с паразитами рыб. А именно — вредителями, которые прикрепляются к коже лососей на лососевых фермах. Эти паразиты, если с ними ничего не делать, могут снизить популяцию рыб за относительно короткое время. Даже в природе они опасны, поскольку если на коже закрепится сразу несколько таких организмов, лосось постепенно теряет силы и может погибнуть.

Но в природе рыбы рассредоточены в водной среде. А вот на лососевых фермах они содержатся кучно, поэтому вред, наносимый паразитами, гораздо тяжелее того, что происходит в природе. Речь идет о подклассе ракообразных из класса Maxillopoda. Большинство групп копепод — эктопаразиты беспозвоночных и позвоночных животных. Два вида копепод, Lepeophtheirus salmonis и Caligus elongatus атакуют лососевых и некоторые другие виды рыб, закрепляясь на теле. Питаются эти паразиты кровью и тканями организма хозяина, поэтому превышение определенного количества паразитов на теле одной рыбы (как правило, критично количество в 10 организмов на одну рыбу среднего размера) грозит хозяину гибелью. Бороться с этими паразитами до определенного момента было практически невозможно. Но современные технологии помогли найти надежное решение.
Total votes 35: ↑35 and ↓0+35
Comments78

Пишем бота-кликера на Python для Lineage 2

Reading time7 min
Views167K


Предисловие


Как можно развлечься в новогодние праздники? Поиграть в компьютерные игры? Нет! Лучше написать бота, который это будет делать за тебя, а самому пойти лепить снеговика и пить глинтвейн.


Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).


В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.

Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments76

Владимир Китов: «Невозможно понять, как ученые-первопроходцы предвидели всеобщую компьютеризацию еще в 1950-х!»

Reading time14 min
Views8.7K


Владимир Китов, работающий с ИТ более полувека, возглавлял команды программистов в ГВЦ Минморфлота СССР и ЦНИИ «Монолит», руководил разработкой ПО для международной системы космического спасения КОСПАС-SARSAT и созданием мультитерминального монитора для ЕС ЭВМ. Он работал топ-менеджером в компаниях DEC, SIEMENS, «Техносерв», IBS, Fujitsu, написал учебник по системному программированию и несколько монографий, а теперь занимается историей информатики.

В продолжении интервью Владимир Китов вспоминает своего отца Анатолия Ивановича и других выдающихся советских ученых, объясняет, почему история автоматизированных систем управления — заметная часть истории страны, рассказывает о работе для сельского хозяйства в Институте кибернетики на рубеже 1980-1990-х.
Читать дальше →
Total votes 16: ↑15 and ↓1+20
Comments7

Swagger/OpenAPI Specification как основа для ваших приёмочных тестов

Reading time17 min
Views69K

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


Я занимаюсь автоматизацией тестирования в Яндексе с 2013 года. Из них более четырёх лет автоматизирую тестирование REST API-сервисов. На Heisenbug я рассказал об использовании OpenAPI-спецификации как основы для приёмочных тестов, а также о том, как легко поддерживать автотесты на огромное количество REST API-сервисов и добавлять автотесты на новые проекты.



Под катом — видеозапись и расшифровка моего доклада. Примеры из доклада есть на GitHub.

Total votes 19: ↑19 and ↓0+19
Comments5

Строительные 3D-принтеры и наш опыт работы с ними

Reading time4 min
Views37K

3D-печать в строительстве


Строительные 3D-принтеры представляют собой инженерные устройства, создающие конструктивные элементы зданий, малые архитектурные формы или целые строения послойно — так же, как любой 3D-принтер печатает объекты из пластика или другого материала.
Total votes 22: ↑21 and ↓1+20
Comments17

Домашний тлен: токсины черной плесени

Reading time13 min
Views52K

Если бы из всех существ, животных, грибов, бактерий и вирусов нужно было бы выбрать один, который соответствовал бы слову Тлен, пожалуй, победила бы именно плесень. Именно её мы видим в заброшенных домах Припяти, она поглощает пищу, к которой уже никто не притронется, ею обрастают старые погреба, сырые доски и вещи, брошенные на свалку, сырые обои и гипсокартон в вашем туалете.

Читать далее
Total votes 93: ↑89 and ↓4+108
Comments134

Как основать производственный кооператив. Руководство для  фрилансера в ИТ-сфере (перевод)

Reading time58 min
Views11K
Привет, Хабр! Представляю вашему вниманию перевод статьи "A Technology Freelancer's Guide to Starting a Worker Cooperative " от Tech Co-op Network (North American Technology Worker Cooperatives).



Примечание переводчика


Для многих «кооператив» это что-то про строительство, гаражи или сельское хозяйство. Тем не менее, по этой модели в мире организованы многие компании в разных областях
https://ru.wikipedia.org/wiki/Кооператив

В последнее время я интересуюсь вопросами кооперации в ИТ и считаю, что, при определенных условиях, данная модель имеет существенные преимущества.



А что думаете вы?

  • насколько данная модель применима в условиях России?
  • Какие плюсы и минусы?
  • Есть ли среди нас те, у кого был успешный или не успешный опыт создания ИТ-кооператива

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

Содержание


Зачем создавать производственный кооператив группе фрилансеров?
Что такое производственный кооператив?
Как создать производственный кооператив в сфере IT?
Истории от производственных кооперативов технической сферы

Зачем создавать производственный кооператив группе фрилансеров?


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

Многие из нас, имея опыт как работы по найму, так и в статусе фрилансера, затем, став частью производственного кооператива, открыли для себя, что такая модель объединяет всё лучшее из обоих форматов занятости. Ты всё также пользуешься всеми привилегиями фрилансерства, и остаешься боссом самому себе, но тебе нет необходимости тянуть всё одному. Вот некоторые преимущества, которые открывает фрилансеру членство в производственном кооперативе:

Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments11

Как работает память в Python

Reading time7 min
Views64K

Ни одна компьютерная программа не может работать без данных. А данные, чтобы программа имела к ним доступ, должны располагаться в оперативной памяти вашего компьютера. Но что такое оперативная память на самом деле? Когда произносишь это словосочетание, многие сразу представляют «железную» плашку, вставленную в материнскую плату, на которой написано что-то типа 16Gb DDR4 2666MHz. И они, разумеется, правы — это действительно физический блок оперативной памяти, в котором, в итоге, все данные и оказываются. Но прежде, чем стать доступной внутри вашей программы, на память (как и на всё остальное аппаратное обеспечение) накладывается куча абстракций.

Читать далее
Total votes 55: ↑53 and ↓2+61
Comments10

ClickHouse: очень быстро и очень удобно

Reading time21 min
Views253K


Виктор Тарнавский показывает, что оно работает. Перед вами расшифровка доклада Highload++ 2016.

Здравствуйте. Меня зовут Виктор Тарнавский. Я работаю в «Яндексе». Расскажу про очень быструю, очень отказоустойчивую и супермасштабируемую базу данных ClickHouse для аналитических задач, которую мы разработали.

Пару слов обо мне. Я Виктор, работаю в «Яндексе» и руковожу отделом, который занимается разработкой аналитических продуктов, таких как «Яндекс.Метрика» и «Яндекс.AppMetrica». Я думаю, многие из вас пользовались этими продуктами и знают их. Ну, и в прошлом, и по-прежнему пишу много кода, а раньше еще занимался разработкой железа.
Total votes 53: ↑47 and ↓6+41
Comments19

Как использовать Parquet и не поскользнуться

Reading time7 min
Views66K


О хранении данных в Parquet-файлах не так много информации на Хабре, поэтому надеемся, рассказ об опыте Wrike по его внедрению в связке со Spark вам пригодится.
В частности, в этой статье вы узнаете:

— зачем нужен “паркет”;
— как он устроен;
— когда стоит его использовать;
— в каких случаях он не очень удобен.

Читать дальше
Total votes 10: ↑10 and ↓0+10
Comments14

Charles: незаменимый тул в арсенале QA-инженера

Reading time5 min
Views224K

Для тестирования мобильных приложений, работающих с удаленными серверами, QA-инженеру приходится держать под рукой множество разных тестовых аккаунтов, логов, запросов и ответов. Реальность такова, что не всегда удается договориться о предоставлении нужных тестовых данных в срок. Чаще всего серверные разработчики будут незнакомыми вам людьми по ту сторону Скайпа. В таких ситуациях приходится своими руками подменять ответ сервера перед его передачей в приложение.

Чтобы редактировать выдачу сервера и воспроизводить сложные тестовые сценарии в QA Redmadrobot, мы используем Charles.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments15

Андрей Терехов: от Фортрана до Питона

Reading time18 min
Views9.1K


Этой осенью Андрей Терехов — завкафедрой системного программирования Матмеха СПбГУ, профессор, доктор физмат наук — рассказывал нашим коллегам об истории популярных языков программирования и их проникновении в СССР. Вместе с Андреем Николаевичем мы подготовили на основе его лекции материал о том, как разные языки пересекали железный занавес, как их транслировали на разные архитектуры, как некоторые из них входили в моду. Общие тенденции и личные впечатления — для всех, кто хочет составить общее представление об истории вопроса.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments15

Механико-цифровые часы из стальных шариков

Reading time2 min
Views80K
Перевод с сайта про самоделки instructables.com


Как работают часы

Решил я, наконец, разобраться с Arduino, в результате чего сделал свой первый проект: полностью механические цифровые часы.


Total votes 98: ↑98 and ↓0+98
Comments81

Микросервисы (Microservices)

Reading time22 min
Views689K
От переводчика: некоторые скорее всего уже читали этот титанический труд от Мартина Фаулера и его коллеги Джеймса Льюиса, но я все же решил сделать перевод этой статьи. Тренд микросервисов набирает обороты в мире enterprise разработки, и эта статья является ценнейшим источником знаний, по сути выжимкой существующего опыта работы с ними.

Термин «Microservice Architecture» получил распространение в последние несколько лет как описание способа дизайна приложений в виде набора независимо развертываемых сервисов. В то время как нет точного описания этого архитектурного стиля, существует некий общий набор характеристик: организация сервисов вокруг бизнес-потребностей, автоматическое развертывание, перенос логики от шины сообщений к приемникам (endpoints) и децентрализованный контроль над языками и данными.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments45

Бизнес-процессы в нагрузку

Reading time6 min
Views4.4K
Многие знают о ”культе карго” — удивительном явлении, имевшим место во время Второй мировой войны. В ходе боевых действий удаленные острова в Тихом океане вдруг стали стратегическим объектом, американцы построили на них военную базу, и местные туземцы были осчастливлены продуктами цивилизации, которые доставляли грузовые самолеты. Туземцы решили, что хитрый белый человек, который сам не производит никаких материальных ценностей, получает их напрямую от богов, выполняя загадочные ритуалы: марширует с палками по плацу, сидит возле ящика с антенной и молится на непонятном языке, призывая небесных птиц. Когда война окончилась, американцы оставили острова и их наивных обитателей. Когда же позднее на остров вернулись исследователи, они с удивлением обнаружили туземцев с нарисованными нашивками, марширующих по плацу и шаманов, призывающих ”карго” в деревянных наушниках перед муляжом радиостанции.

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

Но отвлечемся, пожалуй, от лирических аллегорий и поговорим о том, как и почему в проектах внедрения АСУ разные люди делают одни и те же ошибки, связанные с пренебрежением элементарными вещами. А именно, почему же заказчики проектов отказываются видеть собственные бизнес-процессы.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments33

Документирование по ГОСТ 34* — это просто

Reading time12 min
Views477K
Сегодня мы поговорим об отечественных стандартах на проектную документацию. Как эти стандарты работают на практике, чем они плохи и чем хороши. При разработке документации для государственных и серьезных частных заказчиков у нас обычно нет выбора — в требования по документированию ТЗ вписано соблюдение стандартов. На практике мне приходилось сталкиваться с различными примерами недопонимания структуры стандартов, того, что должно быть в документах и зачем эти документы нужны. В итоге из-под пера техписателей, аналитиков и специалистов выходят порой такие перлы, что непонятно, в каком состоянии сознания они писались. А ведь на самом деле все достаточно просто. Поиск по Хабру не вернул ссылок на более-менее целостный материал на данную тему, потому предлагаю закрасить этот досадный пробел.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments43

Андрей Себрант (Яндекс): Бизнес в Эпоху Искусственного Интеллекта

Reading time18 min
Views7.7K
Сейчас все говорят о новой революции, которую несет искусственный интеллект и машинное обучение. Умные алгоритмы проникают во все сферы жизни: от поисков бозона Хиггса, до выбора фильма на вечер. Самые передовые компании уже активно внедряют эти технологии в свои продукты и маркетинг. Персонализированные рекомендации, реклама, интерфейс сайта — все это не какая-то черная магия, а уже доступные технологии.

На отечественном рынке, без сомнения, самой передовой компанией, использующей мощь машин, является Яндекс. В своем докладе на #amoCONF директор по маркетингу сервисов Яндекс, Андрей Себрант, рассказал о наступившем будущем и возможностях, открывающихся каждой компании. Оптимизируйте ваш бизнес под тенденции будущего!

Disclaimer. Эта статья — расшифровка выступления Андрея Себранта. Есть люди, которые экономят время и любят текст, есть те, кто не может на работе или в дороге смотреть видео, но с радостью читает Хабр, есть слабослышащие, для которых звуковая дорожка недоступна или сложна для восприятия. Мы решили для всех них и вас расшифровать отличный контент. Кто всё же предпочитает видео — ссылка в конце.
Total votes 16: ↑14 and ↓2+12
Comments4

Конструкторы Fischertechnik плюс одноплатный компьютер BBC Micro:Bit, устройства «для Arduino» и детали 3D принтеров

Reading time14 min
Views8.3K

Отдавая дань продолжительному карантину этого года, в который надо было чем-то занимать детей ежедневно, хочу рассказать об опыте совмещения конструкторов Fischertechnik и мира открытых одноплатных компьютеров (с великим множеством датчиков и исполнительных устройств к ним) для своих детей.



Автоматический шлагбаум: пересечение светового барьера активирует сервопривод. Генерируемая контроллером Micro:Bit кодовая последовательность для поворота сервопривода в позицию 90° и параметры сигнала видны на осциллографе DSO138. Для внимательных- ИК-приемник отключен, поскольку сын успел «сжечь» один из 3-х доступных портов контроллера, а платы расширения для доступа к остальным портам еще не приехали.

Читать дальше →
Total votes 9: ↑8 and ↓1+9
Comments2

Information

Rating
Does not participate
Registered
Activity