хочу попробовать сделать мини-игру на своем телефоне, и я хотел бы, чтобы команда time sleep останавливала весь код, но пока она работает, я могу нажимать на кнопки, поэтому событии работают, то есть они не останавливают, и когда я нажимаю кнопку, то при продолжении команды будет не 20 жизней, а меньше, столько, сколько я снял во время паузы, извините за кривоватый код) помогите пожалуйста, перепробовал все что мог, вот код:
<
import pygame
import time
import sys
import random
WIDTH = 700
HEIGHT = 1350
Fps = 30
Red = (255, 0, 0)
Black = (0, 0, 0)
White = (255, 255, 255)
Blue = (0, 0, 255)
Green = (0, 255)
LigthBlue = (100, 200, 255)
a = 260
b = 1150
pygame.init()
pygame.mixer.init()
class Mob():
def __init__(self, hp= 20, color=Red):
self.hp = hp
self.color = color
def object(color):
pygame.draw.rect(screen, Red, (40, 70, 640, 800))
f = pygame.font.SysFont('calibri', 42)
f1 = pygame.font.SysFont('', 100)
ButtonText = f.render ('Ударить', 1, Black)
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('clicker mobs')
clock = pygame.time.Clock()
m = Mob(20, Red)
while 1:
text = f.render(f'Hp:{m.hp}', 1, Blue)
textEnd = f1.render ('Вы победили',1, White)
posEnd = text.get_rect(center = (WIDTH/2-190, HEIGHT/2-100))
pos1 = text.get_rect (center = (330, 1200))
pos = text.get_rect (center = (350, 35))
fin = pygame.mouse.get_pos()
screen.fill(LigthBlue)
clock.tick(Fps)
pygame.draw.rect (screen, Blue, (260,1150,220,100))
screen.blit (text, pos )
screen.blit(ButtonText, pos1 )
m.object()
for event in pygame.event.get():
if event == pygame.QUIT:
sys.exit()
if event.type == pygame.FINGERDOWN:
if a<=fin[0]<=a+220 and b<=fin[1]<=b+100:
m.hp -=2
if m.hp<=0:
screen.blit (textEnd, posEnd)
pygame.display.flip()
pygame.time.delay(1000)
m.hp =20
pygame.display.flip()
>