Тёмный

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

Standalone Coder
Подписаться 31 тыс.
Просмотров 57 тыс.
50% 1

В этом видео узнаете как сделать игру Tetris (Тетрис) на Python, используя библиотеку Pygame.
Pygame это удобная библиотека для создания несложных игр, превосходно подходит для начинающих программировать на языке Python (Пайтон, "Питон").
Чтобы установить Pygame, напечатайте в терминале и нажмите Enter: "pip install pygame" (без кавычек)
Код:
github.com/StanislavPetrovV/P...
#standalonecoder

Опубликовано:

 

2 авг 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 162   
@andg4512
@andg4512 3 года назад
А что, никто не заметил, что 5 и 6 фигуры одинаковы? То есть, обе фигуры "Г" повернуты в одну сторону.
@StandaloneCoder
@StandaloneCoder 3 года назад
Благодарю за внимательность! Внесено исправление github.com/StanislavPetrovV/Python-Tetris
@andg4512
@andg4512 3 года назад
@@StandaloneCoder И Вам спасибо! Ребенок 12 лет с удовольствием изучает питон по Вашим урокам. Он и заметил баг, но самостоятельно исправить пока не осилил. )
@StandaloneCoder
@StandaloneCoder 3 года назад
Он - молодец! Всегда рад слышать, когда мои видео мотивируют изучать язык. Успехов в дальнейшем обучении!
@vladyan01
@vladyan01 3 года назад
@@StandaloneCoder у меня монитор меньше твоего и низ игры не видно, а размер окна никак не регулируеся
@StandaloneCoder
@StandaloneCoder 3 года назад
@@vladyan01 уменьшите размер TILE, перепишите код под нужное разрешение, всего-то 10 строк кода переписать...
@TGrod
@TGrod 3 года назад
Ну конечно алгоритмы по поиску/"сжиганию" полных линий и повороту фигуры очень интересные) Долго думал, как они работают, так как в отладчике пока нет возможности чекнуть. Однозначно всё на высоте сделано)) На моменте с челом из новостей ты хорошо подметил) Несколько раз пришлось пересмотреть, чтоб понять речь этого робота)
@nch2284
@nch2284 3 года назад
Просто изумительно! Очень классно объясняешь! Ставлю лайк как обычно!
@sofiavasilieva1611
@sofiavasilieva1611 3 года назад
Очень классно. И музычка в конце подходит
@govdamikhaylo4183
@govdamikhaylo4183 3 года назад
Наконец-то нормальное видео по тетрису на питоне )
@morriganu
@morriganu 3 года назад
еще б такое же под классы
@MilkMeny
@MilkMeny 6 месяцев назад
и как, сам написал? Не переписывая)
@user-iu6xg8wo8l
@user-iu6xg8wo8l 3 года назад
Спасибо за вдохновение, мне это позволяет делать что-то подобное)
@binopart9873
@binopart9873 3 года назад
Теперь нужен бот, который будет дико шпилить в этот тетрис 😂
@classtrue4523
@classtrue4523 3 года назад
У тебя классные видеоуроки.
@govdamikhaylo4183
@govdamikhaylo4183 3 года назад
Опачки ето же топ контент:)
@user-km3jx9yx2q
@user-km3jx9yx2q 3 года назад
Круто, спасибо большое, повторил урок))
@Milashnaya
@Milashnaya 3 года назад
Обожаю тетрис! Супер!
@Dayplaylist
@Dayplaylist Год назад
Привет тебе от Coder Space🖐️😌
@masclickofficial9196
@masclickofficial9196 3 года назад
четко, не зря подписался
@user-pb3wp1tj4y
@user-pb3wp1tj4y 3 года назад
Поздравляю с одной 1 тысячей подписчиков!
@user-pb3wp1tj4y
@user-pb3wp1tj4y 3 года назад
И поздравляю с 51 тысячей просмотров!
@user-AndrMaster
@user-AndrMaster 2 года назад
У тебя лучшие видео по pygame! Кстати проверку заполненных линий можно сделать и так: # check lines line = H - 1 for row in range(line, -1, -1): field[line] = field[row] if not all(field[row]): line -= 1
@Stalkerih
@Stalkerih Месяц назад
Скажи пожалуйста а как он запускает файл
@Stalkerih
@Stalkerih Месяц назад
Я только начал и не понимаю как он запускает его
@iwfttl
@iwfttl 3 года назад
Чел, ты красавчик Чего голос свой не пишешь?
@seregeyvladimirov7065
@seregeyvladimirov7065 Год назад
Подскажите, пожалуйста, чтобы долго не искать, в какой строке был баг с 5 и 6 фигурами? Спасибо за работу, лайк однозначно
@elnurbda
@elnurbda 3 года назад
большое спасибо за видеоролик!
@TGrod
@TGrod 3 года назад
Такс. А алгоритм поворота фигуры ты сам придумал, или в инете нашёл?)
@dasha_in_vibe
@dasha_in_vibe 3 года назад
Когда-то давно делал безумный проект с песочные тетрисом, сделаны с огромным количеством костылей, и не правильных, но чтоб не переделывать говорю всем что так и задуманно
@TGrod
@TGrod 3 года назад
Оп оп. Что-то интересное)
@DakuMag
@DakuMag 3 года назад
Очень большое спасибо.
@user-iu5ie8vx3g
@user-iu5ie8vx3g Год назад
Благодарю за игру!!!
@mr.pavlenkorytp5390
@mr.pavlenkorytp5390 3 года назад
Видео просто супер
@matttube9369
@matttube9369 2 года назад
Thanks for the subtitles… only way Id understand this!
@Drep
@Drep 3 года назад
Прикольно
@NeonTechFox
@NeonTechFox 7 месяцев назад
Мой первый тетрис вышел на 400 строк вроде бы, решил посмотреть как будет сделано здесь. Сравнивая с моим это небо и земля конечно, я тогда только начинал изучать питон
@doumasama5654
@doumasama5654 3 года назад
Вау. ты так легко показываешь сложные проекты. Удачи
@user-ch7yu6ig5o
@user-ch7yu6ig5o 2 года назад
А если игра типа Puyo Puyo или columns, где собираются 3 блока одного цвета по горизонтали или вертикали, как определять что фигуры соединились, как это будет выглядеть на псевдо-коде ?
@books896
@books896 3 года назад
Ты реально топ!!
@TGrod
@TGrod 3 года назад
Сегодня решил посмотреть формулу вращения точек вокруг центра фигуры. (надеюсь понятно объяснил, про какую формулу из видео я говорю). И в самом видео, как по мне, надо было показать прям скрин с википедии и то, как ты вывел свою формулу) прост я пол часа сидел и думал, почему у меня не сходится с твоей. Потом допёрло, что там ± стоит, а я выбрал +, а ты похоже -. Мораль сей басни такова: кидай хотя бы ссылку на вики)
@timurcult8310
@timurcult8310 3 года назад
Балдеееееж
@DowJones25000
@DowJones25000 3 года назад
танчики ещё бы..))
@shuffledance2569
@shuffledance2569 2 года назад
Если что этот вопрос не по поводу тетрис , как сделать так чтобы фон обновлялся , по ходу игры , когда персонаж передвигается вперёд или вверх?
@gg_brolol2458
@gg_brolol2458 2 года назад
У меня такой же вопрос.
@DakuMag
@DakuMag 3 года назад
Желаю миллион подписчиков и миллион лайков.
@jerrysimon7687
@jerrysimon7687 Год назад
Привет! Отличный код. Классный тетрис. Приятно играется) Успехов в программировании! Есть вопрос. Писал всё в точности как показано на видео (решил не брать готовый код с ГитХаб, самому интересней), писал-писал и на этапе... get_color = Lambda : (randrange(30, 256), randrange(30, 256), randrange(30, 256)) ...застрял. Пишу в VS Code. Не робит весь код из-за двоеточия после слова "Lambda". Ошибка синтаксиса. Как это решить? Я не могу понять. Проблема надеюсь не в редакторе? Я надеюсь Вы ещё отвечаете на комментарии под этим видео.
@jerrysimon7687
@jerrysimon7687 Год назад
Проблему решил. Оказалось команду "Лямбда" нужно писать "лямбда", с маленькой буквы, не с большой)) Всего одна проблема и такая банальная была, я в шоке.
@deaplens2380
@deaplens2380 2 года назад
в начале видео ты показал 3д тетрис, попробую сделать такой же ориентируясь на кубик рубик
@icephoenixgames6604
@icephoenixgames6604 Год назад
Не вставляеться фотография. Что делать? Она у меня загружена в папку, сделал, как на видео, а вотография не вставляется
@Anonim-im6ln
@Anonim-im6ln 2 года назад
Топ!!!!)))
@gamesgames3566
@gamesgames3566 2 года назад
Здраствуйте , скажите пожалуйста как исправит баг где уходя в бог фигуры меняются
@cheetah5309
@cheetah5309 3 года назад
Подскажите пожалуйста, как установить pygame 2.0.0 (пишет что нужна версия pygame не меньше 2. и sdl2) у меня показывает, что только 1.9.6 - максимальная
@StandaloneCoder
@StandaloneCoder 3 года назад
pip install pygame==2.0.0dev10
@tuavtorru3041
@tuavtorru3041 3 года назад
Скоро будет тыща так что заранее поздравляю
@tuavtorru3041
@tuavtorru3041 3 года назад
Уже тыща :DDD тебе нужна кнопка на которой будет написано: Hello World! Поздравляем с 1к и хороший аудиторией Крч я очень рад что ты получил тысячу человек которые смотрят твои видео.
@nikkizanee
@nikkizanee 3 года назад
А можешь подсказать как сделать размер окна меньше. Я н понимаю можешь подсказать пожалуйста!!!
@KXM1337
@KXM1337 11 дней назад
врдя-ли уже кто-то ответит, но может кто-нибудь подсказать, как для этого кода сделать простое окно авторизации после того как проиграл, и чтоб очки и логин введенный в окно авторизации, сохранились в базе данных sqlite
@vladyan01
@vladyan01 3 года назад
именно так и слышим
@duo1749
@duo1749 Год назад
У меня ошибка а while True: Ошибка Invalid Syntax. Ошибка возникла после figures_pos (делал на PyDroid3)
@Channe1_For_stream
@Channe1_For_stream Год назад
а какие разрешения у картинок?
@z4476
@z4476 3 месяца назад
Ничего не понятно, но очень интересно! Программирование не для меня...
@saikkomemory
@saikkomemory 2 года назад
А почему меня при отрисовке сетки в терминале ошибка 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 года назад
Пробелы поставь
@PP667
@PP667 3 года назад
Привет, делаю 2D игру на pygame но столкнулся с проблемой: я не могу просчитать, когда какая-либо картинка столкнётся с другой картинкой, то есть случится коллизия, помоги мне в этом вопросе, пожалуйста, если сможешь. Единственным решением у меня было сделать сзади каждой картинки прямоугольник, и просчитывать коллизии прямоугольников, но это вышло бы очень сложно, код был бы нечитабельный, и у меня не все картинки квадратные. Очень прошу, помоги мне, Автор.
@StandaloneCoder
@StandaloneCoder 3 года назад
в pygame есть прекрасный механизм для обработки столкновений, рекомендую посмотреть в этом видео ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tSPF1sjwhho.html А в твоем случае получить прямоугольник от картинки можно так: image_rect = image.get_rect() где image - твоя картинка
@kirillusenko
@kirillusenko 3 года назад
Pygame.sprite.group()
@user-mo6mr1lr1m
@user-mo6mr1lr1m 3 года назад
в какой программе делаешь? типа язык то питон, а программа в видео какая?
@StandaloneCoder
@StandaloneCoder 3 года назад
PyCharm
@user-mo6mr1lr1m
@user-mo6mr1lr1m 3 года назад
@@StandaloneCoder спасибо
@doumasama5654
@doumasama5654 3 года назад
Можно на стриме делать крутые проекты
@cheetah5309
@cheetah5309 3 года назад
Подскажите пожалуйста, как переделать файл .py в .exe? Я всё перевел в .exe , но файл не открывается, так как кроме самого файла содержаться ещё и файлы с фото и шрифтом. Подскажите, как переделать файл вместе с фото и шрифтом?
@user-qs8vf5dm3c
@user-qs8vf5dm3c 3 года назад
Для этого дела нужен плагин.
@unmeiji8
@unmeiji8 2 года назад
pip install pyinstaller cd библиотека с нужным файлом/нужный файл.py pyinstaller -F -w нужный файл.py Сейчас точно не помню последнюю команду, которую нужно вводить в консоль. Потом полученное exe кидаешь в папку и к нему кидаешь остальные материалы и всё будеи работать.
@kokc.
@kokc. 2 года назад
Как эта программа называется?
@MadTavernkeeper
@MadTavernkeeper 3 года назад
смотрю и думаю - как же питоновский pygame похож на плюсовский sfml
@dubfy
@dubfy 3 года назад
*а как изменить название(title) в правом верхнем углу, изначально оно: pygame window а я хочю сделать TETRIS*
@vapant1195
@vapant1195 3 года назад
pygame.display.set_caption('TETRIS')
@osipovarsen_
@osipovarsen_ 3 года назад
Не могу понять как он так легко перенес картинку в PyCharm, кто-нибудь может подсказать?
@user-ur3fw2er9g
@user-ur3fw2er9g 3 года назад
Классные видосы! Но почему прячешь голос?)
@thzeroucken
@thzeroucken 3 года назад
Тебе не понять
@DimPerch
@DimPerch 3 года назад
Так даже прикольнее, своя фишка есть
@si0era
@si0era 3 года назад
может микрофона нету
@timurcult8310
@timurcult8310 3 года назад
Это уже как фишка
@user-ib1xc5lo9s
@user-ib1xc5lo9s 3 года назад
201 лайк.
@andreysemenyuk2521
@andreysemenyuk2521 2 года назад
Привет никак не могу скачать pygame где находится терминал в pycharm
@user-le2wg5oc1c
@user-le2wg5oc1c 2 года назад
Подскажите пожалуйста , вот смотрю видос и не могу вообще понять , как строились наши фигуры через точки . 1:54
@user-le2wg5oc1c
@user-le2wg5oc1c 2 года назад
как их строить ???
@Sfinxsx
@Sfinxsx 2 года назад
Как всегда бесподобно! А можно добавить возможно игры на двоих? Т.е. чтобы был ещё один игровой экран рядом, справа например. Управление разными клавишами: т.е. для 1 игрока одни для 2 другие
@yuliyaparamonova5596
@yuliyaparamonova5596 2 года назад
Net, pygame ne mojet rabotat s dvuma ludmi
@RedL1ke
@RedL1ke 3 года назад
Чувак а в какой проге ты пишешь код (ответь пж)
@StandaloneCoder
@StandaloneCoder 3 года назад
PyCharm
@RedL1ke
@RedL1ke 3 года назад
@@StandaloneCoder спс
@user-wk9lb6si3x
@user-wk9lb6si3x Год назад
А как нарисовать фигуры?
@user-ig3jh6uc3g
@user-ig3jh6uc3g 3 года назад
ничиего не понятно но очень интересно
@lazyflattme
@lazyflattme 3 года назад
ниxyia не понял но очень интересно
@MaxGlock
@MaxGlock 3 года назад
возможно, тетрис нужно немного оптимизировать, ибо немного притормаживает на "срубании" трёх и четырёх линий блоков (код взял с твоего github)
@StandaloneCoder
@StandaloneCoder 3 года назад
Это не тормоза, а специально установленая мною задержка при исчезновении полос, можете убрать если не нравится )
@StandaloneCoder
@StandaloneCoder 3 года назад
Удали блок кода - # delay for full lines И не будет "тормозов"
@user-tz1ie4ze2i
@user-tz1ie4ze2i 3 года назад
что делать если дисплей вообще ничего не рисует?
@cheetah5309
@cheetah5309 3 года назад
Помогите с кодом. У меня в строке 59 пишет ошибка: "Unsupported operand type(s) for +=: 'int' and 'tuple'". Строка написана в точности также как и в видео: "figure[i].x += dx". Помогите пожалуйста, не могу разобраться, в чем проблема
@StandaloneCoder
@StandaloneCoder 3 года назад
Видимо где-то ошибка. В описании есть ссылка на код из видео. Посмотрите его в файле main.py и сравните
@cheetah5309
@cheetah5309 3 года назад
@@StandaloneCoder перепроверил строчки, везде всё сходиться
@StandaloneCoder
@StandaloneCoder 3 года назад
@@cheetah5309 интересно, тогда вышлите свой файл с кодом мне на почту, я посмотрю... Почта указана в разделе - о канале
@cheetah5309
@cheetah5309 3 года назад
@@StandaloneCoder отправил с этого аккаунта
@StandaloneCoder
@StandaloneCoder 3 года назад
@@cheetah5309 я посмотрел, неверно написана строка 42, исправить надо на эту: dx, rotate = 0, False
@YEMAM1
@YEMAM1 Год назад
Один момент упущен. У вас фигуры появляются всегда в одной и той же ориентации.
@user-yd4tv2eq2l
@user-yd4tv2eq2l 3 года назад
Можно сделать видео о том как делать игру на андроид и импорт на андроид. И ещё как сохранить файл из pycharma на рабочий стол?
@StandaloneCoder
@StandaloneCoder 3 года назад
File -> Save as... и далее выбрать рабочий стол
@user-yd4tv2eq2l
@user-yd4tv2eq2l 3 года назад
@@StandaloneCoder спасибо, а игра на андроид и её импорт будет? Если вам удобно
@StandaloneCoder
@StandaloneCoder 3 года назад
не исключено, подумаю над этим
@user-yd4tv2eq2l
@user-yd4tv2eq2l 3 года назад
@@StandaloneCoder спасибо
@churasik6921
@churasik6921 2 года назад
Как называется приложение для програмирования
@drobovic8314
@drobovic8314 Год назад
Phycarm Phyton 3.10
@googleaccaut7286
@googleaccaut7286 3 года назад
ни у кого не возникло такой проблемы, что один из кубиков фигуры не печатается, просто как будто его нет
@Belui_Volk
@Belui_Volk 3 года назад
у меня
@ruardor
@ruardor 3 года назад
Для квадрата лучше отключить вращение - выглядит не очень.
@Mineisel_s
@Mineisel_s Год назад
А как создать свою библиотеку?
@user-lp4dc4hs2x
@user-lp4dc4hs2x 3 года назад
А как ты темную тему в Pycharm включил?
@TGrod
@TGrod 3 года назад
Я хз как сделать это после установки, но в начале, при первом запуске, он спрашивает про тему
@user-sx9hl6xp6s
@user-sx9hl6xp6s 3 года назад
file -- settings - color scheme (И там можно найти вообще все настройки)
@user-lp4dc4hs2x
@user-lp4dc4hs2x 3 года назад
@@user-sx9hl6xp6s Спасибо 👍
@Snitra2023
@Snitra2023 2 года назад
@@TGrod у меня сразу было ...
@irmilina55
@irmilina55 3 года назад
сделай пожалуста как создать игру пакман на python pygame
@ALL_cube_xzy
@ALL_cube_xzy Год назад
Почему он не работает? я все правильно сделал но выдает ошибку
@saikkkko
@saikkkko 2 года назад
че такое game_sc
@lazyferret1233
@lazyferret1233 3 года назад
Ты забыл про откладывание фигуры на потом
@lastley7886
@lastley7886 2 года назад
блин, видос длится 13 мин, а прогал я тетрис 2 часа :'(
@asilraman606
@asilraman606 2 года назад
Брат можно все это код?
@MultiBootch
@MultiBootch Год назад
Некорректно работает разворот, в случае если фигура квадрат
@zalba1087
@zalba1087 3 года назад
это PyCharm?
@Snitra2023
@Snitra2023 2 года назад
Да
@feci_3596
@feci_3596 3 года назад
жиза: ты просто сел сделать тэтрис смотришь видио и делаешь точно также и видио длится три минуты из тренадцати а ты успел наделать столько ошибок что думаешь что прошло 8 лет и ты такой сидишь в тупняке и непонемашь одного как?
@user-yb4ej1gj5m
@user-yb4ej1gj5m 2 года назад
Как обнулить рекорд?
@user-ok3ot1tf2j
@user-ok3ot1tf2j 3 года назад
прям видно как ты разиваешься, в последних видосах по стилю все очень классно, а тут и куча глобальных переменных и ни ООП ни функциональщицы
@silka4133
@silka4133 3 года назад
Пипец, остановился на 4:45. Блок при быстрый скорости спускается вниз, и он не управляем. Тупо вниз катится и всё. Видео кнч топ, но если могёшь помоги)0
@silka4133
@silka4133 3 года назад
ААА, РАЗОБРАЛСЯ. :)
@StandaloneCoder
@StandaloneCoder 3 года назад
весь код из видео доступен по ссылке в описании
@silka4133
@silka4133 3 года назад
@@StandaloneCoderУ меня вопрос снова по коду, ( Сделан он как у тебя на 8:06 ) У меня очень быстро двигаются фигуры! Прям очень, скорость уже на 20, но при любых поворотах она увеличивается, что мне делать?
@silka4133
@silka4133 3 года назад
@Standalone Coder Как загрузить твои фото??? У меня выдаёт чёрный экран... Можешь помочь пожалуйста.
@StandaloneCoder
@StandaloneCoder 3 года назад
зайди по ссылке под видео, там на странице будет зелёная кнопка "CODE", нажми на нее и выбери "Download ZIP", тогда скачаешь полностью с картинками весь проект.
@solodan_
@solodan_ 3 года назад
У меня один баг, когда фигуры выглядит так: W W W W То она одним квадратом может выйти за левую границу
@StandaloneCoder
@StandaloneCoder 3 года назад
Код из видео доступен по ссылке в описании
@whitehat-it-4096
@whitehat-it-4096 3 года назад
Когда я смотрю на свой уровень знания языка Python и на твой уровень, мне как-то стыдно становится
@derty_776
@derty_776 2 года назад
Все когда-то начинали)
@elseff
@elseff 3 года назад
ля чел, ты крут, кинь вк пж
@user-ni4fn7go2r
@user-ni4fn7go2r 3 года назад
ООП, модули? не, не слышал.
@user-qs8vf5dm3c
@user-qs8vf5dm3c 3 года назад
Такую маленькую программку можно и процедурно состряпать.
@joeyskaggs1185
@joeyskaggs1185 2 года назад
Нашёл критический баг. Если одновременно нажать в сторону и поворот фигуры, фигура "ломается", вместо неё получается набор квадратиков. Сломанные фигуры можно поставить, они учитываются во время удаления ряда и тд. Буду пытаться это исправить, на самом деле мне кусок кода с управлением сразу не понравился, надо переработать его так, чтобы фигуры не ломались и можно было удерживать влево/вправо для перемещения фигур
@user-wm1bk5bn7g
@user-wm1bk5bn7g 3 года назад
слабо Супер Марио замутить?
@StandaloneCoder
@StandaloneCoder 3 года назад
как раз недавно думал об этом
@angel_heart_bigstar
@angel_heart_bigstar 9 месяцев назад
дайте такую f под наклоном хочу от руки написать
@kapykta842
@kapykta842 3 месяца назад
код не читабельны
@artemiymuratov6876
@artemiymuratov6876 Год назад
вот бы еще не в одном файле весь код. вообще бы респект был бы)
Далее
How to Make a 3D Game in Python from Scratch [ Pygame ]
16:14
Пишу 3D Движок на Python [ Pygame + Numpy ]
21:56
31 portals of impossible shape
35:50
Просмотров 620 тыс.
Иллюзия истины [Veritasium]
8:21
Просмотров 587 тыс.