- 59
- 190 610
Cidprim
Приєднався 28 вер 2021
CIDPRIM - это аббревиатура "Concept: IDea, PRoject, Implementation" в переводе "Концепция: идея, проект, реализация". По сути это идея реализации любого проекта от мысли в голове, до готового продукта. На практике же, видео материалы канала посвящены разработке программ и игр от простых задач, до сложных. А вообще весь мир песочница и строить города и замки можно в разных областях!)))
Создание Mario. Часть 1. Физика персонажа
На примере простой программы рассмотрим как работает двумерная физика, а главное напишем код физики и управления персонажем для игры Super Mario Bros.
Обзор пробной версии: ua-cam.com/video/fACwkKSouqA/v-deo.html
Ссылка на статью Яндекс Дзен: dzen.ru/a/Zl7hWV6DuFdyEreQ?share_to=link
Ссылка на файлы: cidprimstudio?w=wall-212199729_13%2Fall
00:13 - Обзор физики персонажа
01:10 - Разбор устройства простой физики
08:07 - Пишем код физики для игры Марио
09:45 - Переменные персонажа
14:33 - Структура игрового цикла
19:50 - Функции игрока
21:56 - Функция расчёта физики
30:02 - Управление персонажем (буфер клавиатуры)
47:33 - Исправление ошибки ))) допущенной на 40 минуте
48:00 - Дописываем вычисления персонажа
Обзор пробной версии: ua-cam.com/video/fACwkKSouqA/v-deo.html
Ссылка на статью Яндекс Дзен: dzen.ru/a/Zl7hWV6DuFdyEreQ?share_to=link
Ссылка на файлы: cidprimstudio?w=wall-212199729_13%2Fall
00:13 - Обзор физики персонажа
01:10 - Разбор устройства простой физики
08:07 - Пишем код физики для игры Марио
09:45 - Переменные персонажа
14:33 - Структура игрового цикла
19:50 - Функции игрока
21:56 - Функция расчёта физики
30:02 - Управление персонажем (буфер клавиатуры)
47:33 - Исправление ошибки ))) допущенной на 40 минуте
48:00 - Дописываем вычисления персонажа
Переглядів: 452
Відео
Обзор пробной версии игры Super Mario Bros
Переглядів 1987 місяців тому
В данном видео показана пробная версия полного клона игры Super Mario Bros, разработанная на языке Python с использованием модуля Pygame. Часть 1. Физика персонажа: ua-cam.com/video/K50 rbyTNM/v-deo.html Сообщество ВК: cidprimstudio Сылка на статью Дзен: dzen.ru/media/id/665a3858b995d30d5b9072eb/polnaia-instrukciia-razrabotki-igry-super-mario-bros-vvedenie-razbor-zadachi-665a38ace3b2816e...
Создание игры Танки на Pygame - Финал
Переглядів 1,8 тис.Рік тому
Созданию игры Танки по мотивам игры Battle City на Python с использованием модуля Pygame. Скидываю весь проект целиком, так как он на полке уже покрылся пылью) Ссылка на исходники: drive.google.com/file/d/1EgsBkyIjCkGgx1paUG3lJt5aIu8_ExdC/view?usp=sharing
Урок 33. Главное меню. Горизонтальное меню
Переглядів 682Рік тому
В данном видео рассмотрим код программы горизонтального меню.
Урок 33. Главное меню. Вертикальное меню с анимацией
Переглядів 952Рік тому
В данном видео рассмотрим код программы вертикального меню с анимацией выбранного пункта.
Урок 32. Google Динозаврик. Смена дня и ночи
Переглядів 546Рік тому
Это заключительная шестая часть разработки игры Google Динозаврик на Python с использованием Pygame. В данном видео будет рассмотрен процесс смены дня и ночи. Материалы для программы: drive.google.com/drive/folders/1FuqgTu-jBPU62W4ttqo5Vfuk2QlZrXUG?usp=sharing
Урок 31. Google Динозаврик. Лучший результат, звуки
Переглядів 593Рік тому
Это пятая часть разработки игры Google Динозаврик на Python с использованием Pygame. В данном видео будет рассмотрен процесс сохранения лучшего результата, а так же добавление звуков в игру. Материалы для программы: drive.google.com/drive/folders/1FuqgTu-jBPU62W4ttqo5Vfuk2QlZrXUG?usp=sharing
Урок 30. Google Динозаврик. Повышение сложности
Переглядів 560Рік тому
Это четвёртая часть разработки игры Google Динозаврик на Python с использованием Pygame. В данном видео будет рассмотрен процесс создания механики повышения сложности. Материалы для программы: drive.google.com/drive/folders/1FuqgTu-jBPU62W4ttqo5Vfuk2QlZrXUG?usp=sharing
Урок 29. Google Динозаврик. Кактусы и птеродактили
Переглядів 640Рік тому
Это третья часть разработки игры Google Динозаврик на Python с использованием Pygame. В данном видео будет рассмотрен процесс создания механики кактусов и птеродактилей. Материалы для программы: drive.google.com/drive/folders/1FuqgTu-jBPU62W4ttqo5Vfuk2QlZrXUG?usp=sharing
Урок 28. Google Динозаврик. Земля
Переглядів 459Рік тому
Это вторая часть разработки игры Google Динозаврик на Python с использованием Pygame. В данном видео будет рассмотрен процесс создания механики подвижной земли. Материалы для программы: drive.google.com/drive/folders/1FuqgTu-jBPU62W4ttqo5Vfuk2QlZrXUG?usp=sharing
Урок 27. Google Динозаврик. Создание персонажа
Переглядів 1,3 тис.Рік тому
Это первая часть разработки игры Google Динозаврик на Python с использованием Pygame. В данном видео будет рассмотрен процесс создания механики персонажа. Материалы для программы: drive.google.com/drive/folders/1FuqgTu-jBPU62W4ttqo5Vfuk2QlZrXUG?usp=sharing
Урок 25. ООП. Стрельба
Переглядів 547Рік тому
В данном видео будет рассказано как создать программу с использованием объектно-ориентированного программирования на Python с использованием модуля Pygame. Напишем небольшую заготовку для игры со множеством точечных объектов. Материалы для программы: drive.google.com/drive/folders/1DpiGM5KO_vy-pr1Y-ttTpoV_BPEbNdWu?usp=sharing
Урок 25. ООП. Снег, дождь, звёзды
Переглядів 810Рік тому
В данном видео будет рассказано как создать программу с использованием объектно-ориентированного программирования на Python с использованием модуля Pygame. Напишем несколько интересных демок, отображающих эфекты дождя, снега и звёзд. Материалы для программы: drive.google.com/drive/folders/1DpiGM5KO_vy-pr1Y-ttTpoV_BPEbNdWu?usp=sharing
Урок 23. Анимация. Игра Авиаудар с анимацией
Переглядів 541Рік тому
В данном видео будет рассмотрен код создания спрайтовой анимации в программах на Python с использованием модуля Pygame. Материалы для программы: drive.google.com/drive/folders/17Ma9Z8G3pudMrG26IVneRwCZEX1pd6iG?usp=sharing
Урок 18. Обработка столкновений. Игра Авиаудар
Переглядів 1,1 тис.2 роки тому
На данном видео рассмотрим методы проверки столкновений на основе объектов Rect. Так же будут рассмотрены методы вывода и позиционирования изображений. Материалы для программы: drive.google.com/drive/folders/1-SH21Z-XbLgLIwcPTcDMYM7zkxSK9bS-?usp=sharing
Урок 16. Двумерные карты. Создание двумерной карты.
Переглядів 1,6 тис.2 роки тому
Урок 16. Двумерные карты. Создание двумерной карты.
Урок 15. Физика 2D. Создание физики.
Переглядів 1,2 тис.2 роки тому
Урок 15. Физика 2D. Создание физики.
Урок 14. Обработка событий мыши. Игра Кликер.
Переглядів 4162 роки тому
Урок 14. Обработка событий мыши. Игра Кликер.
Урок 14. Обработка событий клавиатуры. Заготовка для шахмат.
Переглядів 4702 роки тому
Урок 14. Обработка событий клавиатуры. Заготовка для шахмат.
Урок 13. Работа с мышью. Создание игры.
Переглядів 8752 роки тому
Урок 13. Работа с мышью. Создание игры.
Урок 10 . Движение объектов. Кривая Безье.
Переглядів 1,2 тис.2 роки тому
Урок 10 . Движение объектов. Кривая Безье.
Скретч - Знакомство со средой разработки #2
Переглядів 1212 роки тому
Скретч - Знакомство со средой разработки #2
Scratch - Открытие сайта. Создание, сохранение и загрузка проекта. Регистрация #1
Переглядів 4212 роки тому
Scratch - Открытие сайта. Создание, сохранение и загрузка проекта. Регистрация #1
Создание игры Flappy brid на Python с использованием Pygame #4 - Музыка, оптимизация, компиляция
Переглядів 5 тис.2 роки тому
Создание игры Flappy brid на Python с использованием Pygame #4 - Музыка, оптимизация, компиляция
Создание игры Flappy brid на Python с использованием Pygame #3 - жизни, очки, повышение сложности
Переглядів 5 тис.2 роки тому
Создание игры Flappy brid на Python с использованием Pygame #3 - жизни, очки, повышение сложности
Создание игры Танки на Pygame - #5 Графика
Переглядів 6 тис.2 роки тому
Создание игры Танки на Pygame - #5 Графика
Создание игры Танки на Pygame - #4 Пользовательский интерфейс
Переглядів 4 тис.2 роки тому
Создание игры Танки на Pygame - #4 Пользовательский интерфейс
Создание игры Танки на Pygame - #3 Карта уровня
Переглядів 6 тис.2 роки тому
Создание игры Танки на Pygame - #3 Карта уровня
подскажите пожалуйста! не могу разобраться. с помощью каких клавиш стретяет красный игрок?
выглядит как код в GML
Ну это просто пушка !!! Спасибо вам огромное !! Огорчают маленькие просмотры (((
Подскажите что делать,если птичка летает,всё хорошо,но она как будто виснет,и начинает летать только в том случае,если я вожу мышкой по экрану
Спасибо огромное!
Очень хотелось бы увидеть продолжение, хотя и печально, что мало просмотров
А будет продолжение? Очень понравилось
Почему ты больше не снимаешь?😢
Спасибо!
спасибо огромное... я 40 минут искала как запустить программу...
😂😢🤷🤦🤦
а я помню вас продолжайте в томже духе
Переписал 3жды весь код, пересмотрел, все скобочки и пробелы учел и все равно не рисуются квадратики..
А как такое сделать на vs code? 3:34
Спасибо!
А если я хочу чтобы выводились не все строки из файла а только определенная?
Какой же вы классный! Целых 36 видео. Настоящий программист
я сделал такую проверку чтобы рисовать в шахмтаном порядке: if (row + col) % 2: pygame.draw.rect(window, 'gray', (col * 50, row * 50, 50, 50))
у кого не открывается ссылка , загуглите flappy bird assets, там будет ссылка на гитхаб и внутри все картинки
не находит файл с картинкой не на робочем столе не в папке с игрой, нигде!
Очень круто,продолжай в том же духе
Добрый день! Не подскажите, просто недавно увлекся программированием на пайтон, увидел ваше видео про привет мир) просто смотрю лекции мфти , затягивет) у меня никак не получается присвоить значение этой строке . Файл написал как у вас на видео,сохранен .. а вот как вызывать его к примеру через имя "у" непойму
Добрый день! Не понял ваш вопрос. Можете уточнить?
Кстати, вышла 1 часть видео про создание физики в игре ua-cam.com/video/K50__rbyTNM/v-deo.html
Лайк
у меня не рисуется
Попробуйте ещё раз посмотреть код в видео, скорее всего что-то пропустили.
ot arman agaia
Здавствуйте, эта игра написана на классах?
import pygame from random import randint pygame.init() WIDTH, HEIGHT = 800, 600 FPS = 60 window = pygame.display.set_mode((WIDTH, HEIGHT)) clock = pygame.time.Clock() pygame.display.set_caption('Flappy Bird') pygame.display.set_icon(pygame.image.load('C:/Users/w2/Downloads/icon-removebg-preview-removebg-preview.png')) font1 = pygame.font.Font(None, 35) font2 = pygame.font.Font(None, 80) imgBG = pygame.image.load('C:/Users/w2/Downloads/background (2).png') imgBird = pygame.image.load('C:/Users/w2/Downloads/bird.png') imgPT = pygame.image.load('C:/Users/w2/Downloads/pipe_top-removebg-preview.png') imgPB = pygame.image.load('C:/Users/w2/Downloads/pipe_bottom-removebg-preview.png') pygame.mixer.music.load('C:/Users/w2/Downloads/music.mp3') pygame.mixer.music.set_volume(0.1) pygame.mixer.music.play(-1) sndFall = pygame.mixer.Sound('C:/Users/w2/Downloads/fall.wav ') py, sy, ay = HEIGHT // 2, 0, 0 player = pygame.Rect(WIDTH // 3, py, 34, 24) frame = 0 state = 'start' timer = 10 pipes = [] bges = [] pipesScores = [] pipeSpeed = 3 pipeGateSize = 200 pipeGatePos = HEIGHT // 2 bges.append(pygame.Rect(0, 0, 288, 600)) lives = 3 scores = 0 play = True while play: for event in pygame.event.get(): if event.type == pygame.QUIT: play = False press = pygame.mouse.get_pressed() keys = pygame.key.get_pressed() click = press[0] or keys[pygame.K_SPACE] if timer > 0: timer -= 1 frame = (frame + 0.2) % 4 for i in range(len(bges)-1, -1, -1): bg = bges[i] bg.x -= pipeSpeed // 2 if bg.right < 0: bges.remove(bg) if bges[len(bges)-1].right <= WIDTH: bges.append(pygame.Rect(bges[len(bges)-1].right, 0, 288, 600)) for i in range(len(pipes)-1, -1, -1): pipe = pipes[i] pipe.x -= pipeSpeed if pipe.right < 0: pipes.remove(pipe) if pipe in pipesScores: pipesScores.remove(pipe ) if state == 'start': if click and timer == 0 and len(pipes) == 0: state = 'play' py += (HEIGHT // 2 - py) * 0.1 player.y = py elif state == 'play': if click: ay = -2 else: ay = 0 py += sy sy = (sy + ay + 1) * 0.98 player.y = py if len(pipes) == 0 or pipes[len(pipes)-1].x < WIDTH - 200: pipes.append(pygame.Rect(WIDTH, 0, 52,pipeGatePos - pipeGateSize // 2)) pipes.append(pygame.Rect(WIDTH, pipeGatePos + pipeGateSize // 2, 52, HEIGHT - pipeGatePos + pipeGateSize // 2)) pipeGatePos += randint (- 100,100) if pipeGatePos < pipeGateSize: pipeGatePos = pipeGateSize elif pipeGatePos > HEIGHT - pipeGateSize: pipeGatePos = HEIGHT - pipeGateSize if player.top < 0 or player.bottom > HEIGHT: state = 'fall' for pipe in pipes: if player.colliderect(pipe): state = 'fall' if pipe.right < player.left and pipe not in pipesScores: pipesScores.append(pipe) scores += 5 pipeSpeed = 3 + scores // 100 elif state == 'fall': sndFall.play() sy, ay = 0, 0 pipeGatePos = HEIGHT // 2 lives -= 1 if lives > 0: state = 'start' timer = 60 else: state = 'game over' timer = 180 else: py += sy sy = (sy + ay + 1) * 0.98 player.y = py if timer == 0: play = False window.fill('black') for bg in bges: window.blit(imgBG, bg) for pipe in pipes: if pipe.y == 0: rect = imgPT.get_rect(bottomleft = pipe.bottomleft) window.blit(imgPT, rect) else: rect = imgPB.get_rect(topleft = pipe.topleft) window.blit(imgPB, rect) image = imgBird.subsurface(34 * int(frame), 0, 34, 24) image = pygame.transform.rotate(image, -sy * 2) window.blit(image, player) text = font1.render('level: ' + str(scores), 1, 'black') window.blit(text, (10, 10)) text = font1.render('HP: ' + str(lives), 1, 'black') window.blit(text, (10, HEIGHT - 30)) pygame.display.update() clock.tick(FPS) pygame.quit()
сколько всит питон
Спасибо вам огромное. Единственный на ролик, где доступно объясняется как сделать физику. Очень просто, но и при этом реалистично. С меня однозначно лайк!
от армана агайа
Я всматривался в логику кода и долго не мог понять что не так, он не должен по идее работать. Снежинки должны были оставаться статичными, ведь мы меняли не переменную snow, а лишь переменную obj, которая лишь брала данные из переменной snow. Пришлось спрашивать нейросеть: Илья, [04.04.2024 16:49] Почему когда выполняется этот код, то в каждом новом цикле While True меняется переменная spisok, хотя я не прописывал изменение этой переменной? Я лишь прописал изменение переменной i, которая лишь ссылается на переменную spisok. spisok = [[5]] while True: for i in spisok: i[0] += 1 print(i) print(spisok) А в следующем коде всё работает именно так, как я и ожидал. То есть переменная spisok остаётся прежней. Почему в этот раз она не меняется? А ведь разница всего лишь в дополнительных квадратных скобках. spisok = [5] while True: for i in spisok: i += 1 print(i) print(spisok) ChatGPT4 | Midjourney, [04.04.2024 16:49] Проблема, с которой вы столкнулись, связана с тем, как Python работает с изменяемыми и неизменяемыми типами данных, а также с тем, как происходит копирование объектов. 1. В первом примере у вас переменная spisok содержит список, который состоит из вложенного списка [[5]]. Когда вы выполняете операцию i[0] += 1, вы изменяете элемент внутри вложенного списка, на который ссылается переменная i. Так как i ссылается на этот вложенный список, и переменная spisok содержит ссылку на этот список, вы видите изменения как в i, так и в spisok. 2. Во втором примере переменная spisok содержит просто список [5], который состоит из целого числа. Когда вы выполняете операцию i += 1, вы создаете новое значение, увеличенное на 1, и переменная i начинает ссылаться на это новое значение. Однако переменная spisok по-прежнему ссылается на исходное значение [5], так как это неизменяемый тип данных. Итак, в первом примере изменения видны в переменной spisok, потому что происходит изменение внутреннего списка, на который она ссылается. Во втором примере изменения видны только в i, так как сам список не изменяется, а создается новое значение, на которое ссылается i. Если вам нужно добиться желаемого поведения именно во втором случае, можно рассмотреть другие подходы, например использование индексации для изменения элементов списка вместо изменения самого значения элемента.
Зря вы забросили канал. Он имеет большое преимущество перед остальными. Когда я загуглил "пишем первую программу", я хотел увидеть в первую очередь где вообще пишутся программы, потому что я скачал некий интерпретатор Питон, (который мне посоветовала нейросеть на вопрос "где пишутся программы"), а я понятия не имел что за нах за интерпретатор такой и с чем его едят. Я открыл питон, ничё понял, просто чёрное окно, нет никаких кнопок типа Сохранить, Открыть. И как же здесь хоть что-нибудь напрограммировать!? Я пошёл в Ютуб, а на запрос "Пишем первую программу" с первых же секунд на меня начали сыпать кучи абсолютно незнакомых мне терминов. "И так, начнём для начала загрузим модуль библиотеки..." Какой ещё модуль!? Какая ещё библиотека!? И откуда мне следует всё это загружать, с интернета что ли? Я что, должен по-умолчанию с рождения знать что это такое? Для меня библиотека - это место, где книжки можно читать. А так же помимо отсутствия каких-либо объяснении просто быстро говорят, как будто это само собой разумеющееся. Для них да, для меня это тёмный лес. Поэтому я стал искать дальше, что-то ещё более простое. Я забил "Пишем программу Hello, World", поскольку мне просто повезло знать, что это самое первое, что проходят в программировании (лет 15-20 назад я пробовал написать html, и начинал с вывода фразы Hello, World). Вот так я нашёл вас, и всё понятно, все видео посмотрел вплоть до этого пока. Никаких претензии, всё достаточно подробно объясняете, но без лишней воды, достаточно медленно, но и не слишком длинные видео. Местами есть непонятности, но наконец-то я начал хоть что-то понимать в программировании, разбираюсь, тыкаю, пробую, ошибаюсь, спрашиваю нейросеть, исправляюсь и начинаю понимать, спасибо вам за основу. Но я скоро досмотрю все ваши видео, а дальше что? Снимайте ещё, пробуйте как-то распространять.
Можешь пожалуйста ссылку ссылку где скачать картинки обновить а то у меня не открываются
2:32 что он сделал я не понял😅 Куда нажимать?
Да уже много времени прошло но совет скачайте пайчарн версия для комьюнити и там болие всё понятно. Скорее всего в этом видео использовалос сочетание клавиш о которых ни чего не сказали
@Чокнутыевидосы я уже забыл про этот комментарий. 7 месяцев назад офигеть как время летит
@@FRIGUS-k8m согласен. Время очень быстро летит. Я студент колледжа и сессия ужас как быстро приближается
@Cidprim а как создаются модули по типу mido? Я имею ввиду с самого начала, без зависимостей
press = pygame.key.get_pressed() keys = pygame.key.get_pressed() keys = press[pygame.K_SPACE] if state == 'start': if keys: state = 'play' elif state == 'play': if keys: ay = -2 else: ay = 0 py += sy sy = (sy + ay + 1) * 0.98 player.y = py elif state == 'fall': pass else: pass вот код кто хочет что бы птичка(квадрат) подпрыгивал с помощью кнопки Space
а можно в тринкет делать это?я не поняла что такое каркас
Подскажите, как удалить сохранённые файлы с пайтона?
super!
достойно!
Так ведь для статик и классметодов параметр self не используется. Выходит он обязателен не для всех. Да и само название атрибута - это только соглашение.
а как его привязать к игре ?
У меня окно pygame window не закрывается помоги
Наконец то кто-то пояснил как классы работают!
А где видео про дождь и звезды?(((
как скачать отдельные спрайты для игры?
Круто искал основу для игры и нашол только не знаю как запустить
Можно исходный код?
сам пиши
круто
Огромное спасибо за видео !! Согласен с другими комментаторами - ваш канал это кладезь знаний для новичков ! Смотрю все подряд. Многие вещи додумал/прочитал сам в мануале, м много чего узнал и не терпится применить !! Всех благ !
Спасибо !!! Прекрасная работа, очень полезно для обучения !!