From b1541a41022dacafe826ac862b7a83bb88458781 Mon Sep 17 00:00:00 2001 From: Pygame_Project Date: Mon, 26 Feb 2024 10:31:49 +0200 Subject: [PATCH] norm teksturi i ubit bota --- bullet.png | Bin 0 -> 41213 bytes main.py | 2 +- stena.jpeg | Bin 11612 -> 6273 bytes test.py | 291 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 292 insertions(+), 1 deletion(-) create mode 100644 bullet.png create mode 100644 test.py diff --git a/bullet.png b/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5cfd1c06a02a499f88d2aa40fbc1218d046e8f GIT binary patch literal 41213 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 literal 0 HcmV?d00001 diff --git a/main.py b/main.py index 4c156e9..aee1d21 100644 --- a/main.py +++ b/main.py @@ -6,7 +6,7 @@ import math SCREEN_WIDTH = 1920 SCREEN_HEIGHT = 1080 PLAYER_SIZE = 150 -BULLET_SIZE = 30 +BULLET_SIZE = 20 FPS = 60 BULLET_SPEED = 6 TANK_SPEED = 2 diff --git a/stena.jpeg b/stena.jpeg index d88c63e5f0bfd8a2d98cd48ac1fa541fa6c09953..df3a14f18e24a19b5882c41e9496f7a355308a72 100644 GIT binary patch literal 6273 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 PoeQG{GzGwX7o`6JKCy}< literal 11612 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 diff --git a/test.py b/test.py new file mode 100644 index 0000000..c64f77b --- /dev/null +++ b/test.py @@ -0,0 +1,291 @@ +import pygame +import random +import math + +# Определение констант +SCREEN_WIDTH = 1920 +SCREEN_HEIGHT = 1080 +PLAYER_SIZE = 150 +BULLET_SIZE = 20 +FPS = 60 +BULLET_SPEED = 6 +TANK_SPEED = 2 +BOT_SPEED = 2 +FIRE_DELAY = 500 # Задержка между выстрелами в миллисекундах +WHITE = (255, 255, 255) +BLACK = (0, 0, 0) + +# Инициализация Pygame +pygame.init() + +# Создание игрового окна +screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT), flags=pygame.FULLSCREEN) +pygame.display.set_caption("Танчики") + +# Загрузка изображений +background_image = pygame.transform.scale(pygame.image.load("travka_pol.jpeg"), (960, 540)) +stena = pygame.transform.scale(pygame.image.load("stena.jpeg").convert(), (100, 100)) +stenki = pygame.transform.scale(pygame.image.load("stena.jpeg").convert(), (200, 200)) +tank_image = pygame.transform.scale(pygame.image.load("ntank-removebg-preview.png"), (PLAYER_SIZE, PLAYER_SIZE)) +bullet_image = pygame.transform.scale(pygame.image.load("bullet.png"), (BULLET_SIZE, BULLET_SIZE)) + + +# Определение класса танка +class Tank(pygame.sprite.Sprite): + def __init__(self, x, y): + super().__init__() + self.original_image = tank_image + self.image = self.original_image + self.rect = self.image.get_rect(center=(x, y)) + self.angle = -90 # Поворот на 90 градусов против часовой стрелки + self.last_fire_time = pygame.time.get_ticks() # Время последнего выстрела + + def update(self): + keys = pygame.key.get_pressed() + if keys[pygame.K_w]: + self.move_forward() + mouse_pos = pygame.mouse.get_pos() + self.angle = math.degrees(math.atan2(mouse_pos[1] - self.rect.centery, mouse_pos[0] - self.rect.centerx)) + 90 + self.image = pygame.transform.rotate(self.original_image, -self.angle) + self.rect = self.image.get_rect(center=self.rect.center) + + def move_forward(self): + angle_rad = math.radians(self.angle + 270) + self.rect.x += TANK_SPEED * math.cos(angle_rad) + self.rect.y += TANK_SPEED * math.sin(angle_rad) + + def shoot(self): + current_time = pygame.time.get_ticks() + if current_time - self.last_fire_time > FIRE_DELAY: # Проверка задержки между выстрелами + # Коррекция угла вылета пули, чтобы она вылетала из дула танка + offset_angle = -90 # Угол смещения для вылета пули из дула + corrected_angle = self.angle + offset_angle + + # Вычисляем координаты дула танка + offset_x = 70 * math.cos(math.radians(corrected_angle)) + offset_y = 70 * math.sin(math.radians(corrected_angle)) + bullet = PlayerBullet(self.rect.centerx + offset_x, self.rect.centery + offset_y, self.angle + 270) + all_sprites.add(bullet) + bullets.add(bullet) + self.last_fire_time = current_time # Обновление времени последнего выстрела + + +# Определение класса снаряда игрока +class PlayerBullet(pygame.sprite.Sprite): + def __init__(self, x, y, angle): + super().__init__() + self.original_image = bullet_image + self.image = self.original_image + self.rect = self.image.get_rect(center=(x, y)) + self.angle = angle + + def update(self): + self.rect.x += BULLET_SPEED * math.cos(math.radians(self.angle)) + self.rect.y += BULLET_SPEED * math.sin(math.radians(self.angle)) + if not screen.get_rect().colliderect(self.rect): + self.kill() + + +# Определение класса снаряда бота +class BotBullet(pygame.sprite.Sprite): + def __init__(self, x, y, angle): + super().__init__() + self.original_image = bullet_image + self.image = self.original_image + self.rect = self.image.get_rect(center=(x, y)) + self.angle = angle + + def update(self): + self.rect.x += BULLET_SPEED * math.cos(math.radians(self.angle)) + self.rect.y += BULLET_SPEED * math.sin(math.radians(self.angle)) + if not screen.get_rect().colliderect(self.rect): + self.kill() + + +# Определение класса для бота +class Bot(pygame.sprite.Sprite): + def __init__(self, x, y): + super().__init__() + self.original_image = tank_image + self.image = self.original_image + self.rect = self.image.get_rect(center=(x, y)) + self.angle = random.randint(0, 360) # Случайный начальный угол поворота + self.last_fire_time = pygame.time.get_ticks() # Время последнего выстрела + self.rotate_delay = random.randint(100, 500) # Начальная задержка перед поворотом + self.rotate_timer = 0 + + def update(self): + self.move_random() + self.rotate_random() + self.check_bounds() + #self.shoot_random() + + def move_random(self): + # Движение вперёд в направлении текущего угла поворота + angle_rad = math.radians(self.angle + 270) + self.rect.x += BOT_SPEED * math.cos(angle_rad) + self.rect.y += BOT_SPEED * math.sin(angle_rad) + + def rotate_random(self): + # Случайный поворот бота + self.rotate_timer += 1 + if self.rotate_timer >= self.rotate_delay: + self.angle += random.randint(-10, 10) # Случайный поворот + self.rotate_delay = random.randint(100, 500) # Новая случайная задержка перед поворотом + self.rotate_timer = 0 + + def check_bounds(self): + # Проверка выхода за границы экрана + if self.rect.left < 0: + self.rect.left = 0 + elif self.rect.right > SCREEN_WIDTH: + self.rect.right = SCREEN_WIDTH + if self.rect.top < 0: + self.rect.top = 0 + elif self.rect.bottom > SCREEN_HEIGHT: + self.rect.bottom = SCREEN_HEIGHT + + #def shoot_random(self): + # Выстрел в направлении дула + #current_time = pygame.time.get_ticks() + #if current_time - self.last_fire_time > random.randint(1000, 5000): + #bullet = BotBullet(self.rect.centerx, self.rect.centery, self.angle + 90) # Стрельба в направлении дула + #all_sprites.add(bullet) + #bullets.add(bullet) + #self.last_fire_time = current_time + + +# Создание групп спрайтов +all_sprites = pygame.sprite.Group() +tanks = pygame.sprite.Group() +bullets = pygame.sprite.Group() + +# Создание игрока +player = Tank(SCREEN_WIDTH // 4, SCREEN_HEIGHT // 2) +all_sprites.add(player) +tanks.add(player) + +bot = Bot(3 * SCREEN_WIDTH // 4, SCREEN_HEIGHT // 2) +all_sprites.add(bot) +tanks.add(bot) + +# Основной игровой цикл +clock = pygame.time.Clock() +running = True + +while running: + player_bullets = [] + bot_bullets = [] + + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + elif event.type == pygame.MOUSEBUTTONDOWN and event.button == 1: # Обработка левой кнопки мыши + player.shoot() + + # Обновление всех спрайтов + all_sprites.update() + + # Проверка столкновений пуль с танками + for bullet in bullets: + if isinstance(bullet, PlayerBullet): + tank_hit = pygame.sprite.spritecollideany(bullet, tanks, pygame.sprite.collide_mask) + if tank_hit and isinstance(tank_hit, Bot): + tank_hit.kill() # Удаляем бота, если попал игрок + bullet.kill() # Удаляем пулю + elif isinstance(bullet, BotBullet): + tank_hit = pygame.sprite.spritecollideany(bullet, tanks, pygame.sprite.collide_mask) + if tank_hit and isinstance(tank_hit, Tank): + tank_hit.kill() # Удаляем игрока, если попал бот + bullet.kill() # Удаляем пулю + bullet.update() + + # Отрисовка фона + for i in range(2): + for j in range(2): + screen.blit(background_image, (i * 960, j * 540)) + + all_sprites.draw(screen) + screen.blit(stena, (360, 40)) + + screen.blit(stena, (460, 730)) + screen.blit(stena, (460, 830)) + screen.blit(stena, (460, 930)) + + screen.blit(stena, (960, 40)) + screen.blit(stena, (960, 140)) + screen.blit(stena, (960, 240)) + + screen.blit(stena, (660, 240)) + + screen.blit(stena, (960, 440)) + screen.blit(stena, (960, 540)) + screen.blit(stena, (960, 640)) + screen.blit(stena, (960, 740)) + + screen.blit(stena, (1260, 740)) + screen.blit(stena, (1360, 740)) + screen.blit(stena, (1460, 740)) + screen.blit(stena, (1560, 740)) + screen.blit(stena, (1660, 740)) + + screen.blit(stena, (360, 240)) + screen.blit(stena, (360, 340)) + screen.blit(stena, (360, 440)) + + screen.blit(stena, (0, 540)) + screen.blit(stena, (60, 540)) + screen.blit(stena, (260, 540)) + screen.blit(stena, (360, 540)) + screen.blit(stena, (460, 540)) + screen.blit(stena, (560, 540)) + screen.blit(stena, (660, 540)) + screen.blit(stena, (760, 540)) + screen.blit(stena, (860, 540)) + + screen.blit(stena, (1160, 240)) + screen.blit(stena, (1260, 240)) + screen.blit(stena, (1360, 240)) + screen.blit(stena, (1460, 240)) + screen.blit(stena, (1460, 340)) + screen.blit(stena, (1760, 340)) + screen.blit(stena, (1860, 340)) + + screen.blit(stenki, (-150, 0)) + screen.blit(stenki, (-150, 200)) + screen.blit(stenki, (-150, 400)) + screen.blit(stenki, (-150, 600)) + screen.blit(stenki, (-150, 800)) + screen.blit(stenki, (-150, 1000)) + screen.blit(stenki, (0, -150)) + screen.blit(stenki, (200, -150)) + screen.blit(stenki, (400, -150)) + screen.blit(stenki, (600, -150)) + screen.blit(stenki, (800, -150)) + screen.blit(stenki, (1000, -150)) + screen.blit(stenki, (1200, -150)) + screen.blit(stenki, (1400, -150)) + screen.blit(stenki, (1600, -150)) + screen.blit(stenki, (1800, -150)) + screen.blit(stenki, (1870, 0)) + screen.blit(stenki, (1870, 200)) + screen.blit(stenki, (1870, 400)) + screen.blit(stenki, (1870, 600)) + screen.blit(stenki, (1870, 800)) + screen.blit(stenki, (1870, 1000)) + screen.blit(stenki, (0, 1030)) + screen.blit(stenki, (200, 1030)) + screen.blit(stenki, (400, 1030)) + screen.blit(stenki, (600, 1030)) + screen.blit(stenki, (800, 1030)) + screen.blit(stenki, (1000, 1030)) + screen.blit(stenki, (1200, 1030)) + screen.blit(stenki, (1400, 1030)) + screen.blit(stenki, (1600, 1030)) + screen.blit(stenki, (1800, 1030)) + + pygame.display.flip() + clock.tick(FPS) + +# Завершение работы Pygame +pygame.quit()