Search
Write a publication
Pull to refresh
13
0
Игорь Лазаревский @Gressus

Автор книги «Мама, не отвлекай. Я Python учу!»

Send message

Плюсов не надо, просто любопытно: "Smoke on the Water" Deep Purple?

У меня вот такое качество текста. Но фоткал при лампе, попробую при хорошем освещении еще сфоткать

Спасибо за обратную связь, рад, что материал понравился! Будут по нему вопросы — пишите.

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

Вопросы очень даже умные

В общем канале по p5py добавил описание из книги про VSC: https://t.me/p5py_ru/16

Если кратко, то да, названия библиотек онлайн и в VSC отличаются. В первом случае p5py, а во втором p5 (так как у них разные авторы, и к единому виду еще не приведены).

run() тоже в разных местах помещается. В браузере сразу после import'а, так как инициализирующий код можно писать вне всех функций и модуль уже должен быть запущен. Так проще писать первые скрипты – без всяких функций. А вот в VSC только вариант запуска run() в конце программы предусмотрен, поэтому любые вызовы, использующие p5 должны быть помещены в функции setup() и/или draw()

Здорово, что пробуете и экспериментируете!

Спасибо! По багу – будем фиксить. По viewport в конце статьи мы его адаптируем под мобилку, там тоже по ширине плохо помещается?

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

Например так: ссылка на код

Спасибо за пойманный баг! Если обновите страницу – ошибка пропадает и кнопка Run работает?

Спасибо! Круто, что еще и сами сходу со всем разобрались. Если возникнут какие-то сложности – пишите :) Сколько лет ребенку, кстати?

Курс по Python в Майнкрафт вполне тоже может пойти, что-то допилить/автоматизировать в любимой игре – хорошая идея. Если книгу пройдет, то самый базис основ программирования на Python изучит, и если захочет потом курс – будет еще проще его проходить

Спасибо! Как начнете проходить – пишите, пожалуйста, обратную связь мне, если получится. Сюда или по емейлу из статьи.

Вот про "учить учиться" вы прямо в точку написали. Самый важный навык, имхо. Если он развит – дальше только цель ставь. У самого ребенок и постоянно думаю над этим. Как этому научить, какую программу обучения этому навыку составить, как это поддерживать etc.

Trial у книги задумывался как QR код на обложке. Задумывалось, что в магазине ребенок может своим телефоном его считать и сразу запустить свою первую программу и оценить – насколько это вообще интересно или не интересно.

Но для полноценного trial этого явно не достаточно. Слишком простая первая программа – без анимации даже.

Поэтому думаю, если руки дойдут – написать отдельную статью, а ля trial, сюда. Чтобы можно было почитать и понять, завлекает или скучно.

Ко всему этому еще вижу важность т.н. "цифровой гигиены". Это я по кружку для детей сделал выводы, где занятия вел по этой книжке. Если у ребенка есть доступ к быстрому дофамину, то даже заинтересованный и талантливый ребенок, который быстро все схватывает – начинает переползать из творчества в потребление. Тоже хотел об этом в отдельной статье написать, раскрыть, если интересно.

А, еще по trial по книжке, на части маркетплейсов есть предпросмотр первых страниц – можно скачать и показать ребенку, посмотреть на реакцию. Там вроде первые 1-2 проекта, но уже не помню.

О, класс, спасибо, коллега!

Пошел искать/читать про "библиотеку Константина Полякова graph", спасибо за наводку.

Импорт и запуск одинаков :)

from graph import *
run()

Попробовал перенести какой-то код из инета (вроде из книжки Полякова) из graph в p5py. Взял код по этой ссылке

graph:

from graph import *
 
def update():
   global xCenter
   xCenter += 5
   moveObjectBy(obj, 5, 0)
   if xCenter >= 400 - R:
       close()
  
brushColor ("blue")
rectangle (0, 0, 400, 400)
 
R = 10
xCenter = 10
yCenter = 200
penColor ("yellow")
brushColor ("yellow")
obj = circle(xCenter, yCenter, R)
 
onTimer(update, 20)
run()

p5py:

from p5py import *
run()

size(400, 400)
background(0, 0, 255)

x_center = 10
y_center = 200
R = 10

def draw():
    global x_center
    fill(255, 255, 0)
    circle(x_center, y_center, R * 2)  

    x_center += 5
    if x_center >= 400 - R:
        no_loop() 

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

Все очень похоже.

На первый взгляд бросились в глаза следующие различия:

  1. Самое очевидное – в p5py не требуется установка. Код запускается сразу даже на телефонах. Достаточно кликнуть сюда. Но можно и скачать, конечно, и подключить к VS Code

  2. В коде на p5py не используем объекты на первых шагах обучения (в graph может тоже так можно, не знаю)

  3. Главный игровой цикл в graph называется update(), а в p5py называется draw()

  4. В graph его вызываем явно с помощью onTimer, p5py вызывает его по умолчанию автоматически (вроде 30 раз в секунду, не помню, но можно поменять частоту с помощью frame_rate(1))

  5. В graph фон заливаем, командой прямоугольник(), а в p5py есть специальная команда background()

  6. В graph цвет можно задать словами, в p5py вроде как нельзя, но если нужно я в два счета допилю :))

  7. p5py использует стандарнтую конвенцию об оформлении, которая в Python принята (слова_через_подчеркивания в идентификаторах)

  8. В одном случае run() в конце, а в другом почти в самом начале

  9. В graph свой проприетарный метод moveObjectBy()

Если по p5py будет интересно – как раз для учителей думал статью написать, чтобы можно было проще в кружках и уроках применять. Очень простой вход и большое пространство для экспериментов.

Было бы здорово, если бы учителя и у нас стали использовать p5.js и p5py – как легкий вход в программирование. Но материалов в сети на русском не так много, стоит добавить.

Еще раз спасибо за наводку на что-то схожее

О, визуальная новелла? Круто. Только что вот искал разные библитеки для игр для Python и нашел: "Ren'Py: Специализированная библиотека для создания визуальных новелл. Особенно подходит для нарративных игр и интерактивных историй."

Но у вас наверно своя специфика, раз еще и сюжет под Майнкрафт.

Будет чем поделиться – пишите, любопытно!

> Обязательно куплю посмотрю.

Класс, пишите, как пойдет. Что понравится, а что вызовет вопросы.

Если эта статья зайдет, то про p5py постараюсь детальней отдельно рассказать еще.

И про processing тоже.

По старой книге по Processing, у которого Java-синтакс, но по факту, в чем-то писать даже проще, чем на Python (пример: не надо изучать тему global) можно здесь скачать mini-IDE: https://processing.org/download А так, процессинговая либа скачивается и легко подключается, например, в IntelliJ IDEA, VS Code... Но там совсем немного нужно докрутить, чтобы код запустить (экземпляр класса создать что-ли, я уже подзабыл).

Если будет интересно – пишите. Постараюсь описать работу в отдельной статье

Спасибо за пожелания! И за то, что поделились своим опытом, что хорошая книга в детстве вам помогла. Если вдруг вспомните ее название, напишите, плиз. А то про "профессора Фортрана" многие слышали, но ведь были и другие. Я тоже начинал с BASIC. И еще с ASM, потому что это был РАДИО-86РК.

У вас не было возможности поставить плюс, но вы оставили комментарий. Хоть и рискуете по здешним правилам. Спасибо вам за это.
Мне, как автору, это важно.

Книга пишется очень-очень долго, все это время автор проводит в неизвестности, сомнении, терзаниях, вдохновении и поэтому даже простое спасибо очень греет после долгой работы.

Рад видеть читателя! Круто, что вот так сами выбрали и купили.

Напишите мне, как у вас дела пойдут. О сложностях. И о радостях тоже.

Особенно, если экспериментировать будете. Прямо присылайте ссылки на код в онлайн-IDE.

Напишите, какой из вариантов вам больше подошел: в браузере на компьютере, на смартфоне или вдруг финальная часть в VS Code?

Какая глава была самая скучная, а какая самая интересная? Играли ли в игры, которые сами написали?

В общем, у меня "бесконечный" список вопросов :) Обратная связь для автора книги – единственный способ узнать "как оно" у читателя и порадоваться или расстроиться.

Это вот на кружке все проще – там-то я сразу вижу реакцию. И могу прямо сразу что-то поправить. А с книгой цикл около одного-двух лет получается.

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

Увлекательно-тепло-ламповых вам вечеров.

Да, поэтому когда в Универе студентам преподавал, старался именно что не "читать лекции", а через проектно-ориентированный подход подавать материал. И чтобы результат был как можно раньше виден

Information

Rating
Does not participate
Registered
Activity