diff --git a/src/dock.png b/src/dock.png deleted file mode 100644 index 3b46f51..0000000 Binary files a/src/dock.png and /dev/null differ diff --git a/src/background.png b/src/img/background.png similarity index 100% rename from src/background.png rename to src/img/background.png diff --git a/src/img/dock_left.png b/src/img/dock_left.png new file mode 100644 index 0000000..be11e82 Binary files /dev/null and b/src/img/dock_left.png differ diff --git a/src/package.png b/src/img/package.png similarity index 100% rename from src/package.png rename to src/img/package.png diff --git a/src/img/package_builders.png b/src/img/package_builders.png new file mode 100644 index 0000000..c029d08 Binary files /dev/null and b/src/img/package_builders.png differ diff --git a/src/img/package_explosive.png b/src/img/package_explosive.png new file mode 100644 index 0000000..358bd11 Binary files /dev/null and b/src/img/package_explosive.png differ diff --git a/src/img/package_grocery.png b/src/img/package_grocery.png new file mode 100644 index 0000000..94901dd Binary files /dev/null and b/src/img/package_grocery.png differ diff --git a/src/shelf.png b/src/img/shelf.png similarity index 100% rename from src/shelf.png rename to src/img/shelf.png diff --git a/src/wozek2.png b/src/img/wozek2.png similarity index 100% rename from src/wozek2.png rename to src/img/wozek2.png diff --git a/src/main.py b/src/main.py index 3a47c48..a25e64e 100644 --- a/src/main.py +++ b/src/main.py @@ -7,28 +7,30 @@ pygame.init() WIDTH = 675 HEIGHT = 675 size = 75 +QTY_OF_PACKAGES = 8 -IMAGE = pygame.image.load('wozek2.png') -BACKGROUND = pygame.transform.scale(pygame.image.load('background.png'), (WIDTH, HEIGHT)) -DOCK = pygame.transform.scale(pygame.image.load('dock.png'), (75, 75)) +IMAGE = pygame.image.load('img/wozek2.png') +BACKGROUND = pygame.transform.scale(pygame.image.load('img/background.png'), (WIDTH, HEIGHT)) +DOCK = pygame.transform.scale(pygame.image.load('img/dock_left.png'), (75, 75)) def generate_package(a, b): y = random.randint(1, 4) x = random.randint(10, 150) if y == 1: - p1 = Package((a, b), x, "Grocery", 'package.png') + p1 = Package((a, b), x, "Grocery", 'img/package_grocery.png') elif y == 2: - p1 = Package((a, b), x, "Explosive", 'package_explo.png') + p1 = Package((a, b), x, "Explosive", 'img/package_explosive.png') elif y == 3: - p1 = Package((a, b), x, "Electronic", 'package_electro.png') + p1 = Package((a, b), x, "Electronic", 'img/package.png') elif y == 4: - p1 = Package((a, b), x, "Builders", 'package_explo.png') + p1 = Package((a, b), x, "Builders", 'img/package_builders.png') return p1 class Package: def __init__(self, pos, content, content_size, pack_image): + self.pos = pos self.content = content self.content_size = content_size self.image = pygame.transform.scale(pygame.image.load(pack_image), (50, 50)) @@ -40,27 +42,40 @@ class Shelf: def __init__(self, pos, content, content_size): self.content = content self.content_size = content_size - self.image = pygame.transform.scale(pygame.image.load('shelf.png'), (75, 75)) + self.image = pygame.transform.scale(pygame.image.load('img/shelf.png'), (60, 60)) self.rect = self.image.get_rect(center=pos) class Agent: def __init__(self, pos): + self.pos = pos self.image = IMAGE self.rect = self.image.get_rect(center=pos) def move(self, key): if key == pygame.K_UP and self.rect.y - size > 0: self.rect.move_ip(0, -size) + self.pos = (self.pos[0], self.pos[1] - size) if key == pygame.K_DOWN and self.rect.y + size < HEIGHT: self.rect.move_ip(0, size) + self.pos = (self.pos[0], self.pos[1] + size) if key == pygame.K_RIGHT and self.rect.x + size < WIDTH: self.rect.move_ip(size, 0) + self.pos = (self.pos[0] + size, self.pos[1]) if key == pygame.K_LEFT and self.rect.x - size > 0: self.rect.move_ip(-size, 0) + self.pos = (self.pos[0] - size, self.pos[1]) + + def lift_package(self, key): + if key == pygame.K_e: + for package in Package_list: + if package.is_package_up: + package.is_package_up = False + elif package.pos == agent.pos: + package.is_package_up = True board = pygame.Surface((WIDTH, HEIGHT), pygame.SRCALPHA) # transparently surface @@ -69,17 +84,19 @@ for x in range(9): for y in range(9): pygame.draw.rect(board, (0, 0, 0), (x * size, y * size, size, size), 3) -agent = Agent((122, 40)) +agent = Agent((40, 640)) Shelf_list = [ - Shelf((187, 187), 'Grocery', 5), Shelf((300, 300), 'Explosive', 5), - Shelf((500, 500), 'Electronic', 5), Shelf((400, 440), 'Builders', 5)] + Shelf((640, 340), 'Explosive', 5), Shelf((565, 340), 'Explosive', 5), Shelf((490, 340), 'Explosive', 5), Shelf((415, 340), 'Explosive', 5), + Shelf((640, 190), 'Grocery', 5), Shelf((565, 190), 'Grocery', 5), Shelf((490, 190), 'Grocery', 5), Shelf((415, 190), 'Grocery', 5), + Shelf((640, 640), 'Builders', 5), Shelf((565, 640), 'Builders', 5), Shelf((490, 640), 'Builders', 5), Shelf((415, 640), 'Builders', 5), + Shelf((640, 490), 'Electronic', 5), Shelf((565, 490), 'Electronic', 5), Shelf((490, 490), 'Electronic', 5), Shelf((415, 490), 'Electronic', 5)] screen = pygame.display.set_mode([WIDTH, HEIGHT]) Package_list = [ - generate_package(40, 40), generate_package(120, 120), generate_package(250, 250) + generate_package(40, 40) ] running = True @@ -91,6 +108,23 @@ while running: if event.type == pygame.KEYDOWN: agent.move(event.key) + agent.lift_package(event.key) + + for package in Package_list: + if package.is_package_up: + package.rect.move_ip(agent.pos[0] - package.pos[0], agent.pos[1] - package.pos[1]) + package.pos = agent.pos + + if len(Package_list) < QTY_OF_PACKAGES: + + is_dock_empty = True + + for package in Package_list: + if package.pos == (40, 40): + is_dock_empty = False + + if is_dock_empty: + Package_list.append(generate_package(40, 40)) # screen.fill((0, 0, 0)) @@ -103,8 +137,6 @@ while running: for package in Package_list: screen.blit(package.image, package.rect) - - pygame.display.update() pygame.quit() diff --git a/src/package_electro.png b/src/package_electro.png deleted file mode 100644 index 80bd70b..0000000 Binary files a/src/package_electro.png and /dev/null differ diff --git a/src/package_explo.png b/src/package_explo.png deleted file mode 100644 index aa6694b..0000000 Binary files a/src/package_explo.png and /dev/null differ diff --git a/src/wozek.png b/src/wozek.png deleted file mode 100644 index 1007973..0000000 Binary files a/src/wozek.png and /dev/null differ