diff --git a/map_0.py b/map_0.py deleted file mode 100644 index d7248cc..0000000 --- a/map_0.py +++ /dev/null @@ -1,143 +0,0 @@ -import os -import pygame -import json -import csv - - -pygame.init() -screen_width = 1920 -screen_height = 960 -screen = pygame.display.set_mode((screen_width, screen_height)) - -class Wall(pygame.sprite.Sprite): - def __init__(self, color, size, pos): - super().__init__() - self.image = pygame.Surface(size) - self.image.fill(color) - self.rect = self.image.get_rect(topleft=pos) - -# Load image for player -player_image = pygame.image.load("Player_right.png").convert_alpha() -player_image = pygame.transform.scale(player_image, (16, 16)) # Adjust player size to fit the new scale - -class Player(pygame.sprite.Sprite): - def __init__(self, color, walls): - super().__init__() - self.image = player_image - self.rect = self.image.get_rect() - self.foot_size = 15 - self.dt = 0 - self.speed_x = 1 - self.max_speed_x = 700 - self.speed_y = 1 - self.max_speed_y = 1500 - self.walls = walls - - def player_input(self, dt): - keys = pygame.key.get_pressed() - move_direction_x = 0 - move_direction_y = 0 - - if keys[pygame.K_w]: - move_direction_y -= 1 - if keys[pygame.K_s]: - move_direction_y += 1 - if keys[pygame.K_a]: - move_direction_x -= 1 - if keys[pygame.K_d]: - move_direction_x += 1 - - # Apply movement - self.speed_x = move_direction_x * self.max_speed_x - self.speed_y = move_direction_y * self.max_speed_y - - self.rect.x += self.speed_x * dt - self.rect.y += self.speed_y * dt - - -# Get the directory of the current script -script_dir = os.path.dirname(__file__) - -# Initialize Pygame - - -# Set up the display - -pygame.display.set_caption('Medival Guns') - -# Load JSON data -with open(os.path.join(script_dir, 'data.json')) as json_file: - level_data = json.load(json_file) - -# Load Collisions -collisions = [] -with open(os.path.join(script_dir, 'Collisions.csv'), 'r') as csv_file: - csv_reader = csv.reader(csv_file) - for row in csv_reader: - # Convert non-empty strings to integers, skip empty strings - row_data = [int(cell) if cell else 0 for cell in row] - collisions.append(row_data) - - -#WALLS -walls_group = pygame.sprite.Group() - -for i, row in enumerate(collisions): - for j, el in enumerate(row): - if el: - walls_group.add(Wall("purple", (60, 60), (60*j, 60*i))) - -#collision functioning - def collision(self): - collisions = pygame.sprite.spritecollide(self, self.walls, False) - if collisions: - for wall in collisions: - if abs(self.rect.bottom - wall.rect.top) < self.foot_size: - self.rect.bottom = wall.rect.top - self.speed_y = 0 - self.jumping_time = 0 - self.is_jumping = False - - elif abs(self.rect.top - wall.rect.bottom) < self.foot_size: - self.rect.top = wall.rect.bottom - self.speed_y = 0 - - elif abs(self.rect.right - wall.rect.left) < self.foot_size: - self.rect.right = wall.rect.left - self.speed_x = 0 - elif abs(self.rect.left - wall.rect.right) < self.foot_size: - self.rect.left = wall.rect.right - self.speed_x = 0 - -# Load images for LAYERS -layers = {} -for layer in level_data["layers"]: - layers[layer] = pygame.image.load(layer).convert_alpha() - layers[layer] = pygame.transform.scale(layers[layer], (screen_width, screen_height)) - -# Main game loop -running = True -clock = pygame.time.Clock() -dt = 0 - -# Main game loop -while running: - # Event handling - for event in pygame.event.get(): - if event.type == pygame.QUIT: - running = False - - # Draw layers - for layer_name, layer_image in layers.items(): - screen.blit(layer_image, (0, 0)) - - #Draw walls - walls_group.draw(screen) - - # Update the display - pygame.display.flip() - - dt = clock.tick(60) / 1000 # Get time passed since last tick in seconds - -# Quit Pygame -pygame.quit()