def main(x=HALF_WIDTH // 4, y=HALF_HEIGHT - 50, heart=100, eat=100, energy=100, money=0, *inventory): player = Player(sprites, sc, x, y, heart, eat, energy, inventory, money) drawing = Drawing(sc, sc_map) pygame.mouse.set_visible(False) pygame.mixer.music.load('sound\\music\\Free Zen Spirit — Zen Spirit Music.mp3') pygame.mixer.music.play() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: exit() player.movement() sc.fill(BLACK) drawing.background(player.angle) walls = ray_casting_walls(player, drawing.textures) drawing.world(walls + [obj.object_locate(player) for obj in sprites.list_of_objects]) drawing.fps(clock) pygame.draw.rect(sc, BLACK, (WIDTH - 400, 0, 700, HEIGHT)) pygame.draw.rect(sc, BLACK, (0, 0, WIDTH, 30)) pygame.draw.rect(sc, BLACK, (0, HEIGHT - 50, WIDTH, 100)) pygame.draw.rect(sc, WHITE, (WIDTH - 400, 0, 700, HEIGHT - 300), 3) pygame.draw.rect(sc, WHITE, (WIDTH - 400, HEIGHT - 300, 700, 300), 3) player.draw_hp() pygame.display.flip() clock.tick(FPS) '''
import pygame from settings import * from player import Player import math from map import * from ray_casting import * from drawing import Drawing pygame.init() sc = pygame.display.set_mode((WIDTH, HEIGHT)) sc_map = pygame.Surface((WIDTH //MAP_SCALE, HEIGHT//MAP_SCALE)) clock = pygame.time.Clock() player = Player() drawing = Drawing(sc, sc_map) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: exit() player.movement() sc.fill(BLACK) drawing.background() drawing.world(player.pos, player.angle) drawing.fps(clock) drawing.mini_map(player) pygame.display.flip() clock.tick()
# отрисовка меню drawing.menu() # запуск музыки interaction.play_music() while True: pygame.mouse.set_visible(False) player.movement() # анализ нажатия клавиш drawing.background(player.angle) # отрисовка неба и пола walls, wall_shot = ray_casting_walls( player, drawing.textures) # улавливание стен лучами drawing.world( walls + [obj.object_locate(player) for obj in sprites.list_of_objects]) # отрисовка мира drawing.fps(clock) # счетчик фпс drawing.mini_map(player) # миникарта drawing.player_weapon([wall_shot, sprites.sprite_shot]) # отрисовка оружия interaction.interaction_objects() interaction.npc_action( ) # анализ действия нпс. на данный момент бесполезно без ии interaction.clear_world( ) # удаление мертвых объектов из списка для анализа pygame.draw.circle(sc, (0, 255, 0), (HALF_WIDTH, HALF_HEIGHT), 5, 1) # прицел interaction.check_win() pygame.display.flip()