From b701bebf835625afc3691e835d23b2ad6a4cb014 Mon Sep 17 00:00:00 2001 From: Kacper Date: Wed, 9 Mar 2022 22:39:34 +0100 Subject: [PATCH] agent_model --- .gitignore | 1 + agent.py | 15 +++++++++++++++ main.py | 14 ++++++++++++-- resources/textures/trashmaster_blu.png | Bin 0 -> 7188 bytes resources/textures/trashmaster_orange.png | Bin 0 -> 8312 bytes 5 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 agent.py create mode 100644 resources/textures/trashmaster_blu.png create mode 100644 resources/textures/trashmaster_orange.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ed8ebf5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__ \ No newline at end of file diff --git a/agent.py b/agent.py new file mode 100644 index 0000000..63d3450 --- /dev/null +++ b/agent.py @@ -0,0 +1,15 @@ +import pygame.image + + +class trashmaster(pygame.sprite.Sprite): + def __init__(self): + super().__init__() + + + self.images = [] + self.image = pygame.image.load("resources/textures/trashmaster_blu.png") + self.image = pygame.transform.scale(self.image, (16, 16)) + self.images.append(self.image) + self.rect = self.image.get_rect() + + garbagetruck_list = pygame.sprite.Group() diff --git a/main.py b/main.py index c9db6e8..44687e7 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,9 @@ import pygame + +from agent import trashmaster + + + pygame.init() pygame.display.set_caption('Wall-e') @@ -12,12 +17,19 @@ tileImage = pygame.image.load('tile1.png') surfaceSize = width, height = (512, 512) surface = pygame.Surface(surfaceSize) + + for x in range(0, 512, 16): for y in range(0, 512, 16): surface.blit(tileImage, (x, y)) screen.blit(surface, (0,0)) +smieciara1 = trashmaster() +smieciara_list = pygame.sprite.Group() +smieciara_list.add(smieciara1) +smieciara_list.draw(screen) + pygame.display.update() running = True @@ -28,5 +40,3 @@ while running: pygame.quit() - -# test push \ No newline at end of file diff --git a/resources/textures/trashmaster_blu.png b/resources/textures/trashmaster_blu.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0950b4643f3cb44e49a34cf6deaba4d99a85ba GIT binary patch literal 7188 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