Как сделать "Тетрис" на Python [ Pygame ]

Поделиться
HTML-код
  • Опубликовано: 11 ноя 2024

Комментарии • 162

  • @andg4512
    @andg4512 4 года назад +31

    А что, никто не заметил, что 5 и 6 фигуры одинаковы?
    То есть, обе фигуры "Г" повернуты в одну сторону.

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +8

      Благодарю за внимательность! Внесено исправление
      github.com/StanislavPetrovV/Python-Tetris

    • @andg4512
      @andg4512 4 года назад +4

      @@StandaloneCoder И Вам спасибо!
      Ребенок 12 лет с удовольствием изучает питон по Вашим урокам. Он и заметил баг, но самостоятельно исправить пока не осилил. )

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +8

      Он - молодец! Всегда рад слышать, когда мои видео мотивируют изучать язык. Успехов в дальнейшем обучении!

    • @vladyan01
      @vladyan01 4 года назад +2

      @@StandaloneCoder у меня монитор меньше твоего и низ игры не видно, а размер окна никак не регулируеся

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +5

      @@vladyan01 уменьшите размер TILE, перепишите код под нужное разрешение, всего-то 10 строк кода переписать...

  • @TGrod
    @TGrod 4 года назад +7

    Ну конечно алгоритмы по поиску/"сжиганию" полных линий и повороту фигуры очень интересные) Долго думал, как они работают, так как в отладчике пока нет возможности чекнуть. Однозначно всё на высоте сделано)) На моменте с челом из новостей ты хорошо подметил) Несколько раз пришлось пересмотреть, чтоб понять речь этого робота)

  • @nch2284
    @nch2284 4 года назад +9

    Просто изумительно! Очень классно объясняешь! Ставлю лайк как обычно!

  • @govdamikhaylo4183
    @govdamikhaylo4183 4 года назад +16

    Наконец-то нормальное видео по тетрису на питоне )

    • @morriganu
      @morriganu 3 года назад +1

      еще б такое же под классы

    • @MilkMeny
      @MilkMeny 11 месяцев назад

      и как, сам написал? Не переписывая)

  • @sofiavasilieva1611
    @sofiavasilieva1611 4 года назад +4

    Очень классно. И музычка в конце подходит

  • @user-AndrMaster
    @user-AndrMaster 2 года назад +3

    У тебя лучшие видео по pygame!
    Кстати проверку заполненных линий можно сделать и так:
    # check lines
    line = H - 1
    for row in range(line, -1, -1):
    field[line] = field[row]
    if not all(field[row]):
    line -= 1

    • @Temich-w12
      @Temich-w12 6 месяцев назад

      Скажи пожалуйста а как он запускает файл

    • @Temich-w12
      @Temich-w12 6 месяцев назад

      Я только начал и не понимаю как он запускает его

  • @classtrue4523
    @classtrue4523 4 года назад +17

    У тебя классные видеоуроки.

  • @govdamikhaylo4183
    @govdamikhaylo4183 4 года назад +7

    Опачки ето же топ контент:)

  • @Dayplaylist
    @Dayplaylist Год назад +2

    Привет тебе от Coder Space🖐️😌

  • @iwfttl
    @iwfttl 4 года назад +11

    Чел, ты красавчик
    Чего голос свой не пишешь?

  • @binopart9873
    @binopart9873 4 года назад +5

    Теперь нужен бот, который будет дико шпилить в этот тетрис 😂

  • @ДмитрийДашкин-ф7з
    @ДмитрийДашкин-ф7з 4 года назад +2

    Поздравляю с одной 1 тысячей подписчиков!

  • @dasha_in_vibe
    @dasha_in_vibe 4 года назад +1

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

  • @masclickofficial9196
    @masclickofficial9196 4 года назад +3

    четко, не зря подписался

  • @Milashnaya
    @Milashnaya 4 года назад +1

    Обожаю тетрис! Супер!

  • @Drep
    @Drep 4 года назад +4

    Прикольно

  • @ЭдКалумнуз
    @ЭдКалумнуз 3 года назад

    Спасибо за вдохновение, мне это позволяет делать что-то подобное)

  • @NeonTechFox
    @NeonTechFox Год назад

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

  • @TGrod
    @TGrod 4 года назад +1

    Оп оп. Что-то интересное)

  • @ЕвгенийМарков-э1н
    @ЕвгенийМарков-э1н 4 года назад +1

    Круто, спасибо большое, повторил урок))

  • @DowJones25000
    @DowJones25000 4 года назад +1

    танчики ещё бы..))

  • @doumasama5654
    @doumasama5654 3 года назад

    Вау. ты так легко показываешь сложные проекты. Удачи

  • @АлександрТретьяков-я5р

    Благодарю за игру!!!

  • @elnurbda
    @elnurbda 4 года назад

    большое спасибо за видеоролик!

  • @seregeyvladimirov7065
    @seregeyvladimirov7065 Год назад

    Подскажите, пожалуйста, чтобы долго не искать, в какой строке был баг с 5 и 6 фигурами?
    Спасибо за работу, лайк однозначно

  • @DakuMag
    @DakuMag 4 года назад

    Очень большое спасибо.

  • @ВаняИляков-б4к
    @ВаняИляков-б4к 4 года назад +1

    Классные видосы! Но почему прячешь голос?)

    • @thzeroucken
      @thzeroucken 4 года назад

      Тебе не понять

    • @DimPerch
      @DimPerch 4 года назад +1

      Так даже прикольнее, своя фишка есть

    • @si0era
      @si0era 4 года назад

      может микрофона нету

    • @PabloAbuz
      @PabloAbuz 4 года назад +1

      Это уже как фишка

  • @matttube9369
    @matttube9369 2 года назад

    Thanks for the subtitles… only way Id understand this!

  • @TGrod
    @TGrod 4 года назад +1

    Такс. А алгоритм поворота фигуры ты сам придумал, или в инете нашёл?)

  • @pavlenko_rytp
    @pavlenko_rytp 4 года назад

    Видео просто супер

  • @z4476
    @z4476 8 месяцев назад

    Ничего не понятно, но очень интересно! Программирование не для меня...

  • @books896
    @books896 4 года назад +1

    Ты реально топ!!

  • @jerrysimon7687
    @jerrysimon7687 2 года назад +1

    Привет!
    Отличный код. Классный тетрис. Приятно играется) Успехов в программировании!
    Есть вопрос. Писал всё в точности как показано на видео (решил не брать готовый код с ГитХаб, самому интересней), писал-писал и на этапе...
    get_color = Lambda : (randrange(30, 256), randrange(30, 256), randrange(30, 256))
    ...застрял. Пишу в VS Code. Не робит весь код из-за двоеточия после слова "Lambda". Ошибка синтаксиса. Как это решить? Я не могу понять. Проблема надеюсь не в редакторе? Я надеюсь Вы ещё отвечаете на комментарии под этим видео.

    • @jerrysimon7687
      @jerrysimon7687 2 года назад +4

      Проблему решил. Оказалось команду "Лямбда" нужно писать "лямбда", с маленькой буквы, не с большой))
      Всего одна проблема и такая банальная была, я в шоке.

  • @tuavtorru3041
    @tuavtorru3041 4 года назад +1

    Скоро будет тыща так что заранее поздравляю

    • @tuavtorru3041
      @tuavtorru3041 4 года назад

      Уже тыща :DDD тебе нужна кнопка на которой будет написано:
      Hello World! Поздравляем с 1к и хороший аудиторией
      Крч я очень рад что ты получил тысячу человек которые смотрят твои видео.

  • @TGrod
    @TGrod 4 года назад

    Сегодня решил посмотреть формулу вращения точек вокруг центра фигуры. (надеюсь понятно объяснил, про какую формулу из видео я говорю). И в самом видео, как по мне, надо было показать прям скрин с википедии и то, как ты вывел свою формулу) прост я пол часа сидел и думал, почему у меня не сходится с твоей. Потом допёрло, что там ± стоит, а я выбрал +, а ты похоже -. Мораль сей басни такова: кидай хотя бы ссылку на вики)

  • @shuffledance2569
    @shuffledance2569 3 года назад +1

    Если что этот вопрос не по поводу тетрис , как сделать так чтобы фон обновлялся , по ходу игры , когда персонаж передвигается вперёд или вверх?

    • @gg_brolol2458
      @gg_brolol2458 3 года назад +1

      У меня такой же вопрос.

  • @deaplens2380
    @deaplens2380 3 года назад

    в начале видео ты показал 3д тетрис, попробую сделать такой же ориентируясь на кубик рубик

  • @PabloAbuz
    @PabloAbuz 4 года назад +1

    Балдеееееж

  • @DakuMag
    @DakuMag 4 года назад

    Желаю миллион подписчиков и миллион лайков.

  • @icephoenixgames6604
    @icephoenixgames6604 2 года назад +1

    Не вставляеться фотография. Что делать?
    Она у меня загружена в папку, сделал, как на видео, а вотография не вставляется

  • @Anonim-im6ln
    @Anonim-im6ln 3 года назад

    Топ!!!!)))

  • @vladyan01
    @vladyan01 4 года назад

    именно так и слышим

  • @googleaccaut7286
    @googleaccaut7286 3 года назад +1

    ни у кого не возникло такой проблемы, что один из кубиков фигуры не печатается, просто как будто его нет

  • @RedL1ke
    @RedL1ke 3 года назад +1

    Чувак а в какой проге ты пишешь код (ответь пж)

  • @KXM1337
    @KXM1337 5 месяцев назад

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

  • @MadTavernkeeper
    @MadTavernkeeper 4 года назад

    смотрю и думаю - как же питоновский pygame похож на плюсовский sfml

  • @duo1749
    @duo1749 Год назад

    У меня ошибка а while True:
    Ошибка Invalid Syntax. Ошибка возникла после figures_pos (делал на PyDroid3)

  • @ИринаМухамадеева-ш5з

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

  • @doumasama5654
    @doumasama5654 3 года назад

    Можно на стриме делать крутые проекты

  • @КонстантинЛактионов-щ1ю

    А если игра типа Puyo Puyo или columns, где собираются 3 блока одного цвета по горизонтали или вертикали, как определять что фигуры соединились, как это будет выглядеть на псевдо-коде ?

  • @YEMAM1
    @YEMAM1 2 года назад

    Один момент упущен. У вас фигуры появляются всегда в одной и той же ориентации.

  • @СергейКиреев-х5и
    @СергейКиреев-х5и 4 года назад +2

    ничиего не понятно но очень интересно

  • @gamesgames3566
    @gamesgames3566 2 года назад

    Здраствуйте , скажите пожалуйста как исправит баг где уходя в бог фигуры меняются

  • @РоманКорнелюк-ц1х
    @РоманКорнелюк-ц1х 2 года назад

    Подскажите пожалуйста , вот смотрю видос и не могу вообще понять , как строились наши фигуры через точки . 1:54

  • @Sfinxsx
    @Sfinxsx 2 года назад

    Как всегда бесподобно!
    А можно добавить возможно игры на двоих? Т.е. чтобы был ещё один игровой экран рядом, справа например. Управление разными клавишами: т.е. для 1 игрока одни для 2 другие

  • @saikkomemory
    @saikkomemory 3 года назад

    А почему меня при отрисовке сетки в терминале ошибка
    grid = [pygame.Rect(x * TILE, TILE, TILE) for x
    in range(W) for y in range(H)]
    TypeError: Argument must be rect style object

    • @gods9169
      @gods9169 2 года назад

      Пробелы поставь

  • @dubfy
    @dubfy 3 года назад +1

    *а как изменить название(title) в правом верхнем углу, изначально оно: pygame window а я хочю сделать TETRIS*

    • @vapant1195
      @vapant1195 3 года назад

      pygame.display.set_caption('TETRIS')

  • @churasik6921
    @churasik6921 2 года назад

    Как называется приложение для програмирования

  • @osipovarsen_
    @osipovarsen_ 4 года назад +6

    Не могу понять как он так легко перенес картинку в PyCharm, кто-нибудь может подсказать?

  • @lastley7886
    @lastley7886 2 года назад +1

    блин, видос длится 13 мин, а прогал я тетрис 2 часа :'(

  • @andreysemenyuk2521
    @andreysemenyuk2521 2 года назад

    Привет никак не могу скачать pygame где находится терминал в pycharm

  • @cheetah5309
    @cheetah5309 4 года назад

    Подскажите пожалуйста, как установить pygame 2.0.0 (пишет что нужна версия pygame не меньше 2. и sdl2) у меня показывает, что только 1.9.6 - максимальная

  • @kokc.
    @kokc. 2 года назад

    Как эта программа называется?

  • @CbIHOK32
    @CbIHOK32 4 года назад +1

    Привет, делаю 2D игру на pygame но столкнулся с проблемой: я не могу просчитать, когда какая-либо картинка столкнётся с другой картинкой, то есть случится коллизия, помоги мне в этом вопросе, пожалуйста, если сможешь. Единственным решением у меня было сделать сзади каждой картинки прямоугольник, и просчитывать коллизии прямоугольников, но это вышло бы очень сложно, код был бы нечитабельный, и у меня не все картинки квадратные. Очень прошу, помоги мне, Автор.

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +1

      в pygame есть прекрасный механизм для обработки столкновений, рекомендую посмотреть в этом видео ruclips.net/video/tSPF1sjwhho/видео.html
      А в твоем случае получить прямоугольник от картинки можно так:
      image_rect = image.get_rect() где image - твоя картинка

    • @kirillusenko
      @kirillusenko 4 года назад

      Pygame.sprite.group()

  • @cheetah5309
    @cheetah5309 4 года назад

    Подскажите пожалуйста, как переделать файл .py в .exe? Я всё перевел в .exe , но файл не открывается, так как кроме самого файла содержаться ещё и файлы с фото и шрифтом. Подскажите, как переделать файл вместе с фото и шрифтом?

    • @АлександрШейка-ц5ь
      @АлександрШейка-ц5ь 3 года назад

      Для этого дела нужен плагин.

    • @菊の花を愛しています
      @菊の花を愛しています 3 года назад

      pip install pyinstaller
      cd библиотека с нужным файлом/нужный файл.py
      pyinstaller -F -w нужный файл.py
      Сейчас точно не помню последнюю команду, которую нужно вводить в консоль.
      Потом полученное exe кидаешь в папку и к нему кидаешь остальные материалы и всё будеи работать.

  • @XZY_cube
    @XZY_cube Год назад

    Почему он не работает? я все правильно сделал но выдает ошибку

  • @nikkizanee
    @nikkizanee 3 года назад

    А можешь подсказать как сделать размер окна меньше. Я н понимаю можешь подсказать пожалуйста!!!

  • @MaxGlock
    @MaxGlock 4 года назад

    возможно, тетрис нужно немного оптимизировать, ибо немного притормаживает на "срубании" трёх и четырёх линий блоков (код взял с твоего github)

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      Это не тормоза, а специально установленая мною задержка при исчезновении полос, можете убрать если не нравится )

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      Удали блок кода - # delay for full lines
      И не будет "тормозов"

  • @Channe1_For_stream
    @Channe1_For_stream 2 года назад

    а какие разрешения у картинок?

  • @feci_3596
    @feci_3596 4 года назад

    жиза: ты просто сел сделать тэтрис смотришь видио и делаешь точно также и видио длится три минуты из тренадцати а ты успел наделать столько ошибок что думаешь что прошло 8 лет и ты такой сидишь в тупняке и непонемашь одного как?

  • @lazyflattme
    @lazyflattme 3 года назад

    ниxyia не понял но очень интересно

  • @ruardor
    @ruardor 3 года назад

    Для квадрата лучше отключить вращение - выглядит не очень.

  • @m_artmi24
    @m_artmi24 4 года назад +1

    201 лайк.

  • @ВадимЛебедев-и3г
    @ВадимЛебедев-и3г 4 года назад

    Можно сделать видео о том как делать игру на андроид и импорт на андроид. И ещё как сохранить файл из pycharma на рабочий стол?

  • @АлександрМатвеев-и9ч1с

    А как нарисовать фигуры?

  • @solodan_
    @solodan_ 4 года назад

    У меня один баг, когда фигуры выглядит так: W W
    W W
    То она одним квадратом может выйти за левую границу

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      Код из видео доступен по ссылке в описании

  • @cheetah5309
    @cheetah5309 4 года назад

    Помогите с кодом. У меня в строке 59 пишет ошибка: "Unsupported operand type(s) for +=: 'int' and 'tuple'". Строка написана в точности также как и в видео: "figure[i].x += dx". Помогите пожалуйста, не могу разобраться, в чем проблема

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +1

      Видимо где-то ошибка. В описании есть ссылка на код из видео. Посмотрите его в файле main.py и сравните

    • @cheetah5309
      @cheetah5309 4 года назад

      @@StandaloneCoder перепроверил строчки, везде всё сходиться

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      @@cheetah5309 интересно, тогда вышлите свой файл с кодом мне на почту, я посмотрю... Почта указана в разделе - о канале

    • @cheetah5309
      @cheetah5309 4 года назад

      @@StandaloneCoder отправил с этого аккаунта

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      @@cheetah5309 я посмотрел, неверно написана строка 42, исправить надо на эту:
      dx, rotate = 0, False

  • @Mineisel_s
    @Mineisel_s Год назад

    А как создать свою библиотеку?

  • @АлександрШепель-у7у

    что делать если дисплей вообще ничего не рисует?

  • @whitehat-it-4096
    @whitehat-it-4096 3 года назад

    Когда я смотрю на свой уровень знания языка Python и на твой уровень, мне как-то стыдно становится

    • @derty_776
      @derty_776 3 года назад

      Все когда-то начинали)

  • @КириллСмекин
    @КириллСмекин 4 года назад

    А как ты темную тему в Pycharm включил?

    • @TGrod
      @TGrod 4 года назад

      Я хз как сделать это после установки, но в начале, при первом запуске, он спрашивает про тему

    • @АндроидКузьмич
      @АндроидКузьмич 4 года назад

      file -- settings - color scheme (И там можно найти вообще все настройки)

    • @КириллСмекин
      @КириллСмекин 4 года назад +1

      @@АндроидКузьмич Спасибо 👍

    • @Snitra2023
      @Snitra2023 3 года назад

      @@TGrod у меня сразу было ...

  • @zalba1087
    @zalba1087 3 года назад +1

    это PyCharm?

  • @lazyferret1233
    @lazyferret1233 4 года назад

    Ты забыл про откладывание фигуры на потом

  • @saikkkko
    @saikkkko 3 года назад

    че такое game_sc

  • @MultiBootch
    @MultiBootch 2 года назад

    Некорректно работает разворот, в случае если фигура квадрат

  • @вмтгруппамусор
    @вмтгруппамусор 4 года назад

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

  • @КазбекОтеген-ч8к
    @КазбекОтеген-ч8к 2 года назад

    Как обнулить рекорд?

  • @asilraman606
    @asilraman606 2 года назад

    Брат можно все это код?

  • @silka4133
    @silka4133 4 года назад

    Пипец, остановился на 4:45. Блок при быстрый скорости спускается вниз, и он не управляем. Тупо вниз катится и всё. Видео кнч топ, но если могёшь помоги)0

    • @silka4133
      @silka4133 4 года назад

      ААА, РАЗОБРАЛСЯ. :)

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      весь код из видео доступен по ссылке в описании

    • @silka4133
      @silka4133 4 года назад

      @@StandaloneCoderУ меня вопрос снова по коду, ( Сделан он как у тебя на 8:06 ) У меня очень быстро двигаются фигуры! Прям очень, скорость уже на 20, но при любых поворотах она увеличивается, что мне делать?

    • @silka4133
      @silka4133 4 года назад

      @Standalone Coder Как загрузить твои фото??? У меня выдаёт чёрный экран... Можешь помочь пожалуйста.

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

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

  • @irmilina55
    @irmilina55 4 года назад

    сделай пожалуста как создать игру пакман на python pygame

  • @РоманСкандаков
    @РоманСкандаков 4 года назад +1

    ООП, модули? не, не слышал.

  • @kapykta842
    @kapykta842 8 месяцев назад

    код не читабельны

  • @Максим1-ч2т
    @Максим1-ч2т 4 года назад +1

    слабо Супер Марио замутить?

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +1

      как раз недавно думал об этом

  • @angel_heart_bigstar
    @angel_heart_bigstar Год назад

    дайте такую f под наклоном хочу от руки написать

  • @joeyskaggs1185
    @joeyskaggs1185 3 года назад

    Нашёл критический баг. Если одновременно нажать в сторону и поворот фигуры, фигура "ломается", вместо неё получается набор квадратиков. Сломанные фигуры можно поставить, они учитываются во время удаления ряда и тд. Буду пытаться это исправить, на самом деле мне кусок кода с управлением сразу не понравился, надо переработать его так, чтобы фигуры не ломались и можно было удерживать влево/вправо для перемещения фигур

  • @elseff
    @elseff 4 года назад

    ля чел, ты крут, кинь вк пж

  • @artemiymuratov6876
    @artemiymuratov6876 Год назад

    вот бы еще не в одном файле весь код. вообще бы респект был бы)