Pull to refresh
4
0
Send message

Пишем платформер на Python, используя pygame

Reading time11 min
Views355K
image
Сразу оговорюсь, что здесь написано для самых маленькихначинающих.

Давно хотел попробовать себя в качестве игродела, и недавно выпал случай изучить Python и исполнить давнюю мечту.

Что такое платформер?


Платформер(platformer)— жанр компьютерных игр, в которых основной чертой игрового процесса является прыгание по платформам, лазанье по лестницам, собирание предметов, обычно необходимых для завершения уровня.
Вики

Одними из моих любимых игр данного жанра являются «Super Mario Brothers» и «Super Meat Boy». Давайте попробуем создать нечто среднее между ними.
Читать дальше →
Total votes 93: ↑89 and ↓4+85
Comments46

Нормальные числа: ликбез

Reading time5 min
Views58K
Не так давно попалась мне на глаза великолепная юмористическая статья про файловую систему, хранящую данные в числе Пи. Бурное обсуждение, развернувшееся в комментариях (кажется, не все его участники поняли шутку), натолкнуло меня на мысль, что тему нормальных чисел неплохо бы обсудить более серьёзно, тем более что тема эта благодатна, полна красивых результатов, нерешённых проблем и прочих кошерных вещей. Если желаете с этими вещами ознакомиться — пожалуйте под кат.

image

Читать дальше →
Total votes 116: ↑112 and ↓4+108
Comments38

Прямая передача данных между ПЛИС Virtex-7 по шине PCI Express

Reading time21 min
Views27K

Аннотация


В данной статье рассматривается передача данных по шине PCI Express с одновременным участием нескольких ПЛИС. В компьютерной системе, к PCI Express шине которой подключено несколько (в нашем случае 8) оконечных устройств (PCIe endpoints) ПЛИС запускается одновременно несколько транзакций передачи данных двух типов: А) DMA передача между ОЗУ и ПЛИС (чтение/запись) и Б) прямая передача данных между двумя ПЛИС (запись). Используя соединение PCI Express x4 Gen 2.0 при обращении в память была получена скорость записи 1451 МБ/с (90% от максимальной). Скорость записи данных между ПЛИС была равна 1603 МБ/с (99 % от максимальной) при длине пакетов 128 байт и 1740 МБ/с (99% от максимальной) при длине пакета 256 байт. Латентность передачи данных между ПЛИС зависит от количества промежуточных коммутаторов, и была равна 0,7 мкс для одного коммутатора и 1 мкс для трех. Также показано, что при одновременных передачах через общий канал скорость отдельных передач не уменьшается до тех пор, пока суммарная скорость передачи не превышает пропускную способность общего канала; затем канал используется на 100%, а его пропускная способность делится поровну между устройствами.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments11

Всё, что вы хотели знать о динамическом программировании, но боялись спросить

Reading time12 min
Views245K
Я был крайне удивлён, найдя мало статей про динамическое программирование (далее просто динамика) на хабре. Мне всегда казалось, что эта парадигма довольно сильно распространена, в том числе и за пределами олимпиад по программированию. Поэтому я постараюсь закрыть этот пробел своей статьёй.

# Весь код в статье написан на языке Python

Основы


Пожалуй, лучшее описание динамики в одно предложение, которое я когда либо слышал:

Динамическое программирование — это когда у нас есть задача, которую непонятно как решать, и мы разбиваем ее на меньшие задачи, которые тоже непонятно как решать. (с) А. Кумок.
Читать дальше →
Total votes 110: ↑100 and ↓10+90
Comments33

Замкнутая экосистема по-русски

Reading time4 min
Views121K
Здравствуй, Хабр!

Недавно наткнулся в интернете на интересную статью, с точки зрения садоводства, об англичанине, который 53 года назад посадил в банку традесканцию.Он закупорил бутылку и, после полива 40 лет назад, больше не открывал её. Идеи пришла ему из любопытства. И по сей день растение живет, растет и поглощает кислород. Традесканция образовала экосистему: при фотосинтезе образуется кислород, происходит увлажнение воздуха внутри сосуда и выпадает влага, опавшие листья перегнивают, выделяя CO2. Но для фотосинтеза нужен еще и свет, поэтому бутылку нужно постоянно пододвигать к окну и разворачивать, чтобы листья росли равномерно. Я добавил немного электроники для комнатного растения, и вот, что из этого получилось.
Читать дальше →
Total votes 55: ↑46 and ↓9+37
Comments46

Мексиканский город поднял собственную сотовую сеть

Reading time2 min
Views65K

Вилья-Талеа-де-Кастро

Маленький город Вилья-Талеа-де-Кастро (Villa Talea de Castro), с населением около 2500 жителей находится на удалении от густонаселённых районов Мексики и оживлённых автотрасс, поэтому его игнорируют все работающие в стране операторы мобильной связи. Более того, в городе отсутствует даже наземная связь, то есть нет вообще никаких телефонов. Тянуть в горы оптоволокно и устанавливать оборудование ради тысячи клиентов считалось нерентабельным. Например, оператор Telcel обеспечивает связь в городах с более чем 10 тыс. жителей.

После многих лет ожидания городок Вилья-Талеа-де-Кастро показал пример, что нужно делать в такой ситуации. При помощи нескольких общественных организаций и университетов местные жители подняли антенну на крышу здания, установили радио- и компьютерное оборудование, станцию OpenBTS от Range Networks — и зарегистрировали собственного микропровайдера Red Celular de Talea.
Читать дальше →
Total votes 116: ↑111 and ↓5+106
Comments59

Как перестать таскать дискеты на станок под DOS

Reading time5 min
Views35K
Добрый день! Сегодня я расскажу один случай из практики системного администрирования.
Топик заинтересует тех, кому еще придется столкнуться с настройкой сети под DOS впервые. Надеюсь, изложение будет достаточно полезным для тех, кому предстоит подключать станки к сети, и достаточно интересным для прочтения теми, кто не испытывает трудностей в работе с этой ОС.
UPD: Написал предысторию о создании беспроводных сетей на том же производстве.
Самому мне не довелось быть активным пользователем DOS. Я не так давно начал работать с компьютерами.
При знакомстве с DOS меня удивляло, что он до сих пор используется не смотря на возраст. В частности на производстве, где немало станков из прошлого века. Почему их не заменят на современные?
Во-первых, обычно это требует больших инвестиций. Пока они работают, приносят прибыль предприятию, менять их невыгодно.
Во-вторых, зачастую станки с современными ОС на управляющем компьютере менее стабильны. Это объясняется человеческим фактором: люди привыкшие к пользовательскому интерфейсу Windows легко используют компьютер станка не по назначению. Еще DOS лишен многих проблем с ПО и их обновлением, использует устройства напрямую и прост в настройке.

Что требовалось


На заводе один из станков использует DOS. Операционная система отлично справляется. Станок позволяет выполнять оператору задания как из файла, так и вручную. Эти файлы создает специальная программа, что упрощает, ускоряет работу станочников и снижает количество их ошибок.
Итак, начало 2013 года — файлы в цех носят на дискетах. Такой носитель информации ненадежен и становится все дороже. Часто приходится записывать задания заново, если дискета вышла из строя. Да и дисководы не обеспечивают высокую отказоустойчивость. Но главное — скорость работы определяется скоростью хода человека, который ходит за дискетами.
Если подключить станок к корпоративной сети передачи данных, можно исключить дискеты из бизнес-процесса.

Читать дальше →
Total votes 71: ↑68 and ↓3+65
Comments45

Первые несколько миллисекунд HTTPS соединения

Reading time10 min
Views170K
После нескольких часов чтения обзоров, Боб с нетерпением нажал на кнопку перехода к оформлению заказа на галлон цельного молока, и…
Воу, что только что произошло?


Интересно? Прошу под кат
Total votes 242: ↑237 and ↓5+232
Comments36

2027 мм бизнес класса — от первого полета на Луну до облачных вычислений

Reading time5 min
Views15K


Компания IBM объявила о выходе нового мэйнфрейма бизнес класса – zEnterprise BC12. Удивительная линейка серверов, которой в следующем году исполняется 50 лет – полвека развития от миссии Аполлон на Луну до облачных вычислений и больших данных. В то время как множество процессорных архитектур погибло под давлением x86 (PA-RISC, Alpha, Itanium), мэйнфреймы не только смогли отстоять свое право на существование, но и успешно развиваются вперед, завоевывая сердца новых заказчиков.
Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments20

5 основных вещей, которые я узнал из книги «IBM Software for System z for Dummies»

Reading time2 min
Views5.1K
Добрый день, уважаемые хабрапользователи!

Под катом – перевод заметки Марка Скапичио (Mark Scapicchio) из блога IBM System z, в которой он делится мнением о книге IBM Software for System Z for Dummies.


Читать дальше →
Total votes 6: ↑3 and ↓30
Comments7

Немного о JIT-компиляции или пишем оптимизированный интерпретатор Brainfuck

Reading time6 min
Views6.8K
Суть языка Brainfuck в том, что мы всегда бегаем по ячейкам ленты, уменьшая или увеличивая значения в них. В циклах мы можем пробегать из одного конца в другой, что-то подсчитывая, зачастую используя много вложенных циклов. Не трудно догадаться, что интерпретация этого языка относительно медленна. Конечно, на современных компьютерах этого практически не заметно, но… Предлагаю небольшой тест: берите написанный вами интерпретатор, и запускайте вот этот не хитрый код:

>+>+>+>+>++<[>[<+++>-
 >>>>>
 >+>+>+>+>++<[>[<+++>-
   >>>>>
   >+>+>+>+>++<[>[<+++>-
     >>>>>
     >+>+>+>+>++<[>[<+++>-
       >>>>>
       +++[->+++++<]>[-]<
       <<<<<
     ]<<]>[-]
     <<<<<
   ]<<]>[-]
   <<<<<
 ]<<]>[-]
 <<<<<
]<<]>.


Дождались конца выполнения? Согласитесь, что это было не так быстро, как могло показаться сразу. Что ж, давайте посмотрим, как сделать интерпретатор, который будет выполнять данный код не больше чем за несколько секунд.
Опять brainfuck, ассемблер и паскаль
Total votes 90: ↑66 and ↓24+42
Comments37

Создаем эмулятор приставки

Reading time15 min
Views27K
Вероятно, многие программисты если и не мечтали, то хотя бы задумывались о написании собственного эмулятора какого-либо процессора. Возможно, некоторые даже экспериментировали с чем-то вроде Z80. Но не многие дошли до финальной реализации эмулятора.



В этой заметке я хотел бы поговорить о создании простого эмулятора игровой платформы CHIP-8 из далеких 70-х. Во-первых, мы прикоснемся к истории, а во-вторых, эта платформа из за своей простоты позволит создать полностью функциональный эмулятор даже начинающим программистам.
Читать дальше →
Total votes 114: ↑111 and ↓3+108
Comments35

Пишем эмулятор приставки ч2, или немного о CHIP16

Reading time12 min
Views6.2K
В предыдущей своей небольшой заметке я описывал принцип построения эмулятора старой игровой платформы CHIP-8 из далеких 70-х. Здесь же речь пойдет о своего рода наследнице – CHIP16. Итак, что же такое CHIP16?

CHIP16 – “вымышленная” игровая приставка, которой никогда не существовало в “железе”. Всю спецификацию на нее разрабатывали (-ют) энтузиасты с одного англоязычного форума. Смысл в том, чтобы максимально упростить написание эмулятора, иметь хорошую документацию и поддержку комьюнити. Тем самым позволяя даже новичкам в программировании создать полностью рабочий эмулятор с нуля на фактически любом языке программирования. Сразу оговорюсь, что здесь я не буду приводить примеры кода эмулятора, цель – просто рассказать об этой платформе. И да, конечно все Just for fun!

Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments19
12 ...
13

Information

Rating
Does not participate
Date of birth
Registered
Activity