Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 9

Python и библиотека Pygame

17.04.2020, 10:50. Показов 4881. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Я сделал Мини игру в которой бегает человечек по пустыни и на него бегут кактусы ( не удивляйтесь, я новичок))) )
Так вот, скажите пожалуйста что написать в коде чтобы реализовать столкновение с кактусом и чтобы после столкновения был вариант либо перезапустить игру либо выйти из игры. Я перепробовал очень много вариантов и ничего не получилось. Буду благодарен если дадите готовый этот же, но уже с нужными поправками код. Заранее спасибо. Вот код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import pygame
pygame.init()
win = pygame.display.set_mode((1420, 900))
walkLeft = pygame.image.load("карат.png")
walkRight = pygame.image.load("карат2.png")
playerStand = pygame.image.load("круто.png")
caca = pygame.image.load("кактус.png")
pygame.display.set_caption("Cubes Game")
 
 
cactus_width = 30
cactus_height = 100
cactus_x = 900
cactus_y = 682
 
clock = pygame.time.Clock()
 
bg = pygame.image.load("пустыня.jpg")
usr_x = 430
usr_y = 680
x = 430
y = 680
widht = 40
height = 60
speed = 5
left = False
right = False
isJump = False
JumpCount = 10
def print_font(message, x = 500, y = 400, font_color = (0, 0, 0), font_tupe = "arial", font_size = 32):
    font_tupe = pygame.font.SysFont(font_tupe, font_size)
    text = font_tupe.render(message, True, font_color)
    win.blit(text, (x, y))
 
def pause():
    win.blit(caca,(cactus_x, cactus_y, cactus_width, cactus_height))
    win.blit (playerStand, (x, y))
    paused = True
    while paused:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()
        keys = pygame.key.get_pressed()
        if keys[pygame.K_RETURN]:
            paused = False
        pygame.display.update()
        clock.tick()
        print_font("Пауза. Нажмите Enter чтобы продолжить." )
 
run = True
while run:
 
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()
 
    win.blit(bg,(0, 0))
    def draw_cactus():
        global cactus_x, cactus_y, cactus_width,cactus_height
 
        if cactus_x >= -cactus_width:
            win.blit(caca,(cactus_x, cactus_y, cactus_width, cactus_height))
            cactus_x -= 4
        else:
            cactus_x = 1500
 
    keys = pygame.key.get_pressed()
    if keys[pygame.K_SPACE]:
        pause()
    if keys[pygame.K_LEFT] and x > 5:
        win.blit (walkLeft, (x, y))
        x -= speed
        left = True
        right = False
    elif keys[pygame.K_RIGHT] and x < 1300:
        win.blit (walkRight, (x, y))
        x += speed
        left = False
        right = True
    else:
        win.blit (playerStand, (x, y))
        left = False
        right = False
    if not (isJump):
        if keys [pygame.K_UP]:
            isJump = True
    else:
        if JumpCount >= -10:
            if JumpCount  < 0:
                y += (JumpCount **2) / 2
            else:
                y -= (JumpCount ** 2) / 2
            JumpCount -= 1
        else:
            isJump = False
            JumpCount = 10
 
 
 
    draw_cactus()
 
 
    pygame.display.update()
    pygame.display.flip()
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2020, 10:50
Ответы с готовыми решениями:

Библиотека pygame, зависает окно
Всем привет, начала осваивать питон и библиотеку pygame, но вот какая проблема при открытии просто зависает, оно открывается, но...

PyGame python 3.4
Возможно вопрос задавало много людей, но как поставить PyGame на Python 3.4?

Python Pygame
Почему-то капли оставляют за собой след, а мне надо, чтобы они просто вниз уходили. Подскажите, в чем ошибка? import pygame ...

5
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
18.04.2020, 07:09
Цитата Сообщение от Павел Ко Посмотреть сообщение
Привет всем! Я сделал Мини игру в которой бегает человечек по пустыни и на него бегут кактусы ( не удивляйтесь, я новичок))) )
Выложите код в нормальном виде и с изображениями
0
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 9
20.04.2020, 12:17  [ТС]
Извините, а как выложить код чтобы он сохранился с отступами?
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
20.04.2020, 12:42
Цитата Сообщение от Павел Ко Посмотреть сообщение
а как выложить код чтобы он сохранился с отступами?
В редакторе есть кнопки, нажмите python
0
4 / 3 / 3
Регистрация: 21.03.2020
Сообщений: 19
30.04.2020, 09:30
Лучший ответ Сообщение было отмечено Павел Ко как решение

Решение

Павел Ко, очень хотелось тебе помочь, но будь другом, выложи, пожалуйста, архив со своими изображениями. Иначе никак тебе не помочь
Вот тебе книжка: http://iro23.ru/sites/default/... -_2017.pdf , там всё подробно описано, как делать свою игру на pygame
1
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 9
13.05.2021, 09:37  [ТС]
Спасибо за книгу, код я давно исправил, еще год назад, книга хороша, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.05.2021, 09:37
Помогаю со студенческими работами здесь

Модуль pygame в python 2,7,x
Всем доброго времени суток. Возникла следующая проблема: хочу загрузить изображения игрока и врага для игры, для игрока картинка...

Pygame для Python 3.7 64bit
Подскажите пожалуйста, что из всего этого многообразия подойдет для python 3.7.0? https://bitbucket.org/pygame/pygame/downloads/ ...

Движение по заданному углу. Python. Pygame
Здравствуйте, я хочу сделать движение спрайта по заданному углу, значение угла меняется при нажатии клавиш влево-вправо. Как сделать...

Игра на Python с использованием библиотеки Pygame!
Кто может помочь по написанию игры на Python с использованием библиотеки Pygame! Вот тема: Средствами python разработать игровое...

Змейка на python с pygame (100 строчек начинающего)
Здравствуйте, уважаемые форумчане. Я бы очень хотел побольше критики (начиная от ошибок в этом тексте и заканчивая неправильно выбранной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru