#прототип Rush Royale
import pygame, sys, time
last_mob = time.time()-1000
WIDTH = 700
HEIGHT = 1400
FPS = 30
x, y = 50, 1300
Black = (0,0,0)
Green = (0, 255, 0)
Aqua = (90,90,205)
LightGreen = (50,240,70)
x_mob = 0
pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game")
clock = pygame.time.Clock()
surf = pygame.Surface((800,1400))
surfGame = pygame.Surface((800,1400))
f = pygame.font.SysFont('calibri',60)
f1 = pygame.font.SysFont ('calibri', 60)
group = pygame.sprite.Group()
group.update()
class Enemy(pygame.sprite.Sprite): #сам противник, который движется
def __init__(self, hp_mob, speed_mob, x, y):
pygame.sprite.Sprite.__init__(self)
self.hp_mob = hp_mob
self.speed_mob = speed_mob
self.image = pygame.Surface((50, 50))
self.x = x
self.y = y
self.image.fill(Green)
self.rect = self.image.get_rect()
self.rect.center = (x, y)
def update(self): #передвижение
self.rect.y -=5
if self.rect.y <=700:
self.rect.y =700
self.rect.x +=3 #перемещение противника по x(не показывается в x_mob)
def mobReturn(self): #функция, которая должна вернуть значение self.rect.x в переменную x_mob
self.x_mob = self.rect.x
return self.x_mob
class Bullet(pygame.sprite.Sprite):
def update(self):
if x_mob>=100:
sys.exit() #проверка(если переменная x_mob больше 100, то игра закрывается)
Mob = Enemy(10,20, 50,950)
while 1:
textBuy = f.render('30',1, Black)
testBut = f.render(f'x_Mob: {x_mob}', 1, Black)
x_mob = Mob.mobReturn()
fin1 = pygame.mouse.get_pos()
screen.fill(Aqua)
screen.blit(testBut, (350, 600))
clock.tick(FPS)
group.add(Mob)
if time.time()-last_mob >0.9:
last_mob = time.time()
Mob = Enemy(10,20,50,950)
pygame.draw.rect(screen, LightGreen,(80,800,630,400))
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.exit()
sys.exit()
group.draw(screen)
group.update()
pygame.display.flip()
pygame.quit()