diff --git a/common/__init__.py b/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/colors.py b/common/colors.py similarity index 100% rename from colors.py rename to common/colors.py diff --git a/constants.py b/common/constants.py similarity index 99% rename from constants.py rename to common/constants.py index 7c7cb50..fb59fbc 100644 --- a/constants.py +++ b/common/constants.py @@ -19,4 +19,4 @@ TILES = [ 'sand.png', 'water.png', 'grass_with_tree.jpg', -] \ No newline at end of file +] diff --git a/helpers.py b/common/helpers.py similarity index 100% rename from helpers.py rename to common/helpers.py diff --git a/logic/__init__.py b/logic/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/field.py b/logic/field.py similarity index 100% rename from field.py rename to logic/field.py diff --git a/game.py b/logic/game.py similarity index 86% rename from game.py rename to logic/game.py index ea90610..f1cb9a3 100644 --- a/game.py +++ b/logic/game.py @@ -1,22 +1,23 @@ -import pygame import sys -from colors import FONT_DARK, WHITE -from constants import GAME_TITLE, WINDOW_WIDTH, WINDOW_HEIGHT, FPS_COUNT, TILES -from grid import Grid -from helpers import draw_text -from logs import Logs -from stats import Stats -from knight import Knight -from monster import Monster -from spawner import Spawner +import pygame + +from common.colors import FONT_DARK, WHITE +from common.constants import GAME_TITLE, WINDOW_WIDTH, WINDOW_HEIGHT, FPS_COUNT, TILES +from common.helpers import draw_text +from models.knight import Knight +from models.monster import Monster +from ui.logs import Logs +from ui.stats import Stats +from .grid import Grid +from .spawner import Spawner class Game: def __init__(self): pygame.init() pygame.display.set_caption(GAME_TITLE) - pygame.display.set_icon(pygame.image.load('resources/icons/sword.png')) + pygame.display.set_icon(pygame.image.load('./resources/icons/sword.png')) self.screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) self.clock = pygame.time.Clock() @@ -26,7 +27,7 @@ class Game: converted_tile = pygame.image.load('resources/textures/' + tile_path).convert_alpha() self.tiles.append((tile_path, converted_tile)) - self.bg = pygame.image.load("resources/textures/bg.jpg") + self.bg = pygame.image.load("./resources/textures/bg.jpg") click = False @@ -113,15 +114,14 @@ class Game: grid = Grid(self.tiles) stats = Stats() logs = Logs() - knight1 = Knight("/resources/textures/knight.png") - knight2 = Knight("/resources/textures/knight.png") + knight1 = Knight("./resources/textures/knight.png") + knight2 = Knight("./resources/textures/knight.png") spawn = Spawner(grid, [knight1, knight2], 4, 5, 8, 0) spawn.spawn() knights_list = pygame.sprite.Group() knights_list.add(knight1) knights_list.add(knight2) - while running: self.screen.blit(self.bg, (0, 0)) @@ -138,7 +138,7 @@ class Game: logs.draw(self.screen) knights_list.draw(self.screen) - monster1 = Monster(self.screen, "/resources/textures/dragon.png") + monster1 = Monster(self.screen, "./resources/textures/dragon.png") monster_list = pygame.sprite.Group() monster_list.add(monster1) pygame.display.update() diff --git a/grid.py b/logic/grid.py similarity index 89% rename from grid.py rename to logic/grid.py index 7553f1a..7c5ef4c 100644 --- a/grid.py +++ b/logic/grid.py @@ -1,8 +1,10 @@ -import pygame import random -from field import Field -from constants import ROWS, COLUMNS, GRID_CELL_PADDING, GRID_CELL_WIDTH, GRID_CELL_HEIGHT, BORDER_WIDTH, BORDER_RADIUS +import pygame + +from common.constants import ROWS, COLUMNS, GRID_CELL_PADDING, GRID_CELL_WIDTH, GRID_CELL_HEIGHT, BORDER_WIDTH, \ + BORDER_RADIUS +from .field import Field class Grid: @@ -33,4 +35,3 @@ class Grid: GRID_CELL_HEIGHT] image = self.grid[row][column].converted_texture screen.blit(pygame.transform.scale(image, (GRID_CELL_WIDTH, GRID_CELL_HEIGHT)), box_rect) - diff --git a/spawner.py b/logic/spawner.py similarity index 85% rename from spawner.py rename to logic/spawner.py index 4117262..fe8322e 100644 --- a/spawner.py +++ b/logic/spawner.py @@ -1,6 +1,7 @@ -from constants import ROWS, COLUMNS, GRID_CELL_PADDING, GRID_CELL_WIDTH, GRID_CELL_HEIGHT, BORDER_WIDTH, BORDER_RADIUS import random +from common.constants import GRID_CELL_PADDING, GRID_CELL_WIDTH, GRID_CELL_HEIGHT + class Spawner: def __init__(self, grid, objs_to_spawn_list: list, width, height, pos_row, pos_column): @@ -20,9 +21,8 @@ class Spawner: (GRID_CELL_PADDING + GRID_CELL_HEIGHT) * row + GRID_CELL_PADDING + 7]) for obj in self.objs_to_spawn_list: - random_tile = random.randint(0, len(coords)-1) + random_tile = random.randint(0, len(coords) - 1) obj.rect.x = coords[random_tile][0] obj.rect.y = coords[random_tile][1] coords.pop(random_tile) obj.update() - diff --git a/main.py b/main.py index 3cf2c8a..83ef2f6 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,4 @@ -from game import Game +from logic.game import Game if __name__ == '__main__': game = Game() diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/knight.py b/models/knight.py similarity index 57% rename from knight.py rename to models/knight.py index b11128c..c2b282b 100644 --- a/knight.py +++ b/models/knight.py @@ -1,17 +1,13 @@ -import pygame.image - -from constants import ROWS, COLUMNS, GRID_CELL_PADDING, GRID_CELL_WIDTH, GRID_CELL_HEIGHT, BORDER_WIDTH, BORDER_RADIUS, \ - WINDOW_WIDTH, WINDOW_HEIGHT - -class Knight(pygame.sprite.Sprite): - def __init__(self, img): - super().__init__() - self.images = [] - self.image = pygame.image.load("resources/textures/knight.png") - self.image = pygame.transform.scale(self.image, (40, 40)) - self.images.append(self.image) - self.rect = self.image.get_rect() - - knights_list = pygame.sprite.Group() - - +import pygame.image + + +class Knight(pygame.sprite.Sprite): + def __init__(self, img): + super().__init__() + self.images = [] + self.image = pygame.image.load("./resources/textures/knight.png") + self.image = pygame.transform.scale(self.image, (40, 40)) + self.images.append(self.image) + self.rect = self.image.get_rect() + + knights_list = pygame.sprite.Group() diff --git a/monster.py b/models/monster.py similarity index 85% rename from monster.py rename to models/monster.py index 9b7b5e5..7e46a7a 100644 --- a/monster.py +++ b/models/monster.py @@ -1,5 +1,4 @@ import pygame.image -import random class Monster(pygame.sprite.Sprite): @@ -7,7 +6,7 @@ class Monster(pygame.sprite.Sprite): def __init__(self, screen, img): super().__init__() self.images = [] - self.image = pygame.image.load("resources/textures/dragon.png") + self.image = pygame.image.load("./resources/textures/dragon.png") self.image = pygame.transform.scale(self.image, (40, 40)) self.images.append(self.image) self.rect = self.image.get_rect() diff --git a/ui/__init__.py b/ui/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/logs.py b/ui/logs.py similarity index 78% rename from logs.py rename to ui/logs.py index beaff27..a3455e9 100644 --- a/logs.py +++ b/ui/logs.py @@ -1,8 +1,8 @@ import pygame -from colors import FONT_DARK, ORANGE, WHITE, RED -from constants import COLUMNS, GRID_CELL_PADDING, GRID_CELL_WIDTH, BORDER_WIDTH, BORDER_RADIUS -from helpers import draw_text +from common.colors import FONT_DARK, ORANGE, WHITE +from common.constants import COLUMNS, GRID_CELL_PADDING, GRID_CELL_WIDTH, BORDER_WIDTH, BORDER_RADIUS +from common.helpers import draw_text class Logs: diff --git a/stats.py b/ui/stats.py similarity index 78% rename from stats.py rename to ui/stats.py index f1e9994..30be6cb 100644 --- a/stats.py +++ b/ui/stats.py @@ -1,8 +1,8 @@ import pygame -from colors import FONT_DARK, ORANGE, WHITE, RED -from constants import COLUMNS, GRID_CELL_PADDING, GRID_CELL_WIDTH, BORDER_WIDTH, BORDER_RADIUS -from helpers import draw_text +from common.colors import FONT_DARK, ORANGE, WHITE, RED +from common.constants import COLUMNS, GRID_CELL_PADDING, GRID_CELL_WIDTH, BORDER_WIDTH, BORDER_RADIUS +from common.helpers import draw_text class Stats: @@ -21,8 +21,8 @@ class Stats: pygame.draw.rect(screen, ORANGE, pygame.Rect(x, y + 65, 340, 3)) # shields - shield_blue = pygame.image.load('resources/textures/shield_blue.png') - shield_red = pygame.image.load('resources/textures/shield_red.png') + shield_blue = pygame.image.load('./resources/textures/shield_blue.png') + shield_red = pygame.image.load('./resources/textures/shield_red.png') screen.blit(shield_blue, (x + 20, y + 80)) screen.blit(shield_red, (x + 200, y + 80)) draw_text('VS', FONT_DARK, screen, x + 150, y + 120, 36) @@ -41,4 +41,4 @@ class Stats: # points pygame.draw.rect(screen, ORANGE, pygame.Rect(x, y + 390, 340, 3)) draw_text('PUNKTY: 10', FONT_DARK, screen, x + 35, y + 408, 18, True) - draw_text('PUNKTY: 10', FONT_DARK, screen, x + 215, y + 408, 18, True) \ No newline at end of file + draw_text('PUNKTY: 10', FONT_DARK, screen, x + 215, y + 408, 18, True)