Предмет:
ИнформатикаАвтор:
abelardoимпортировать pygame
импортировать случайный
pygame.init()
ШИРИНА = 800
ВЫСОТА = 600
назад = (0, 0, 0)
БЕЛЫЙ = (255, 255, 255)
КРАСНЫЙ = (255, 0, 0)
ЗЕЛЕНЫЙ = (0, 255, 0)
экран = pygame.display.set_mode((ШИРИНА,ВЫСОТА))
pygame.display.set_caption("Патискаф направляется к Титанику!")
класс Монстр():
def __init__(self,name,x=0,y=0,width=10,height=10, color=None):
self.name = имя
self.rect = pygame.Rect(x, y, ширина, высота)
self.fill_color = назад
если цвет:
self.fill_color = цвет
цвет по определению (я, новый_цвет):
self.fill_color = новый_цвет
заполнение по умолчанию (самостоятельно):
pygame.draw.rect(экран, self.fill_color, self.rect)
определение точки столкновения (я, х, у):
вернуть self.rect.collidepoint(x, y)
def colliderect(self, rect):
вернуть self.rect.colliderect(прямоугольник)
класс Игрок():
def __init__(я, имя, x=0, y=0, ширина=10, высота=10, цвет=нет):
self.name = имя
self.rect = pygame.Rect(x, y, ширина, высота)
self.fill_color = назад
если цвет:
self.fill_color = цвет
цвет по определению (я, новый_цвет):
self.fill_color = новый_цвет
заполнение по умолчанию (самостоятельно):
pygame.draw.rect(экран, self.fill_color,self.rect)
определение точки столкновения (я, х, у):
вернуть self.rect.collidepoint(x,y)
def colliderect(self, rect):
вернуть self.rect.colliderect(прямоугольник)
размер_игрока = 50
player_x=ШИРИНА/2-player_size/2
player_y = HEIGHT-player_size
player_speed=5
размер_монстра=50
monster_x = random.randint (0, WIDTH-monster_size)
monster_y=-размер_монстра
monster_speed=2
оценка=0
часы = pygame.time.Clock()
game_over = Ложь
шрифт = pygame.font.Font (нет, 36)
защита show_score (x, y):
score_text=font.render("Оценка: [оценка}", True, WHITE)
screen.blit(score_text, (x, y))
защитная коллизия (player_x, player_y, monster_x, monster_y):
расстояние = ((player_x - monster_x)**2+ (player_y - monster_y)**2)**0,5
если расстояние < player_size/2+monster_size/2:
вернуть Истина
вернуть ложь
player = Player ("Potiskaaf", player_x, player_y, player_size, player_size, БЕЛЫЙ)
monster1 = Monster("Монстр", monster_x, monster_y, monster_size, monster_size, RED)
монстр2 = Монстр("Монстр2", монстр_x,монстр_у, размер_монстра, размер_монстра, ЗЕЛЕНЫЙ)
пока не game_over:
для события в pygame.event.get():
если event.type == pygame.ВЫЙТИ:
game_over = Истина
если event.type == pygame.KEYDOWN:
если event.key == pygame.K_LEFT:
player_x-=player_speed
elif event.key == pygame.K_RIGHT:
player_x+=player_speed
monster_y+= скорость_монстра
если столкновение (player_x, player_y, monster_x, monster_y):
оценка+=1
monster_x = random.randint(0, WIDTH-monster_size)
monster_y=-размер_монстра
screen.fill(назад)
player.rect.topleft = (player_x, player_y)
player.fill()
monster1.rect.topleft = (monster_x,monster_y)
монстр1.заполнить()
show_score(10, 10)
pygame.display.update()
часы.тик(30)
pygame.выйти()
Автор:
brysonojdkДобавить свой ответ
Предмет:
Английский языкАвтор:
bubОтветов:
Смотреть
Предмет:
Українська літератураАвтор:
lindsayblairОтветов:
Смотреть
Предмет:
Английский языкАвтор:
kaylawalkerОтветов:
Смотреть