From c7351ef952fc55d7263be0adde911fbafed51101 Mon Sep 17 00:00:00 2001 From: Adam Osiowy Date: Sun, 29 Mar 2020 17:27:02 +0200 Subject: [PATCH] dodany pakiet numpy --- game.py | 89 ++++++++++++++++++++++++++++--------------------------- main.py | 1 + modele.py | 6 ++-- 3 files changed, 50 insertions(+), 46 deletions(-) diff --git a/game.py b/game.py index 305af37..ddf57e9 100644 --- a/game.py +++ b/game.py @@ -1,5 +1,6 @@ import pygame import modele +import numpy as np # kolory BLACK = (0, 0, 0) @@ -16,54 +17,55 @@ HEIGHT = 60 # margines pomiedzy kratkami MARGIN = 5 +# rozmiar kratki +ILOSC_WIERSZY = 100 +ILOSC_KOLUMN = 100 + # rozmiar okna WINDOW_SIZE = [980, 980] +# TWORZENIE OBIEKTOW + + + +smieciarka = modele.Smieciarka(10, 10) + +kontener_plastik = modele.Kontener(0, 0) +kontener_plastik.setImage(pygame.image.load("resources/pojemnik_plastik.png")) + +kontener_metal = modele.Kontener(0, 4) +kontener_metal.setImage(pygame.image.load("resources/pojemnik_metal.png")) + +kontener_organiczne = modele.Kontener(2, 2) +kontener_organiczne.setImage(pygame.image.load("resources/pojemnik_organiczne.png")) + +kontener_papier = modele.Kontener(4, 0) +kontener_papier.setImage(pygame.image.load("resources/pojemnik_papier.png")) + +kontener_szklo = modele.Kontener(4, 4) +kontener_szklo.setImage(pygame.image.load("resources/pojemnik_szklo.png")) + +kratka_list = pygame.sprite.Group() +kontener_list = pygame.sprite.Group() +smieciarka_list = pygame.sprite.Group() +all_sprites_list = pygame.sprite.Group() + +# kratka_list +kontener_list.add(kontener_plastik, kontener_metal, kontener_organiczne, kontener_papier, kontener_szklo) +smieciarka_list.add(smieciarka) +all_sprites_list.add(kontener_plastik, kontener_metal, kontener_organiczne, kontener_papier, kontener_szklo, + smieciarka) + def game(): - # TWORZENIE OBIEKTOW - smieciarka = modele.Smieciarka(10, 10) - kontener_plastik = modele.Kontener(0, 0) - kontener_plastik.image = pygame.image.load("resources/pojemnik_plastik.png") - kontener_metal = modele.Kontener(0, 4) - kontener_metal.image = pygame.image.load("resources/pojemnik_metal.png") - kontener_organiczne = modele.Kontener(2, 2) - kontener_organiczne.image = pygame.image.load("resources/pojemnik_organiczne.png") - kontener_papier = modele.Kontener(4, 0) - kontener_papier.image = pygame.image.load("resources/pojemnik_papier.png") - kontener_szklo = modele.Kontener(4, 4) - kontener_szklo.image = pygame.image.load("resources/pojemnik_szklo.png") - - - - kontener_list = pygame.sprite.Group() - smieciarka_list = pygame.sprite.Group() - all_sprites_list = pygame.sprite.Group() - - kontener_list.add(kontener_plastik, kontener_metal, kontener_organiczne, kontener_papier, kontener_szklo) - smieciarka_list.add(smieciarka) - all_sprites_list.add(kontener_plastik, kontener_metal, kontener_organiczne, kontener_papier, kontener_szklo, - smieciarka) - pygame.init() - # Create a 2 dimensional array. A two dimensional - # array is simply a list of lists. - grid = [] - for row in range(100): - # Add an empty array that will hold each cell - # in this row - grid.append([]) - for column in range(100): - grid[row].append(0) # Append a cell - - # Set row 0, cell 0 to one. (Remember rows and - # column numbers start at zero.) - grid[0][0] = 1 + plansza = np.array([[0 for i in range(ILOSC_KOLUMN)] for j in range(ILOSC_WIERSZY)]) + plansza[0][0] = 1 # Set the HEIGHT and WIDTH of the screen - screen = pygame.display.set_mode(WINDOW_SIZE) + obraz = pygame.display.set_mode(WINDOW_SIZE) # Set title of screen pygame.display.set_caption("Inteligentna śmieciarka") @@ -74,7 +76,6 @@ def game(): # Used to manage how fast the screen updates clock = pygame.time.Clock() - # -------- Main Program Loop ----------- while not done: for event in pygame.event.get(): # User did something @@ -87,7 +88,7 @@ def game(): column = pos[0] // (WIDTH + MARGIN) row = pos[1] // (HEIGHT + MARGIN) # Set that location to one - grid[row][column] = 1 + plansza[row][column] = 1 print("Click ", pos, "Grid coordinates: ", row, column) elif event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: @@ -100,7 +101,7 @@ def game(): smieciarka.w_dol() # Set the screen background - screen.fill(BLACK) + obraz.fill(BLACK) # Draw the grid for row in range(15): @@ -108,14 +109,14 @@ def game(): color = GREY # if grid[row][column] == 1: # color = BLUE - pygame.draw.rect(screen, + pygame.draw.rect(obraz, color, [(MARGIN + WIDTH) * column + MARGIN, (MARGIN + HEIGHT) * row + MARGIN, WIDTH, HEIGHT]) - screen.blit(pygame.image.load("resources/wysypisko.jpg"), (5, 5)) - all_sprites_list.draw(screen) + obraz.blit(pygame.image.load("resources/wysypisko.jpg"), (5, 5)) + all_sprites_list.draw(obraz) # Limit to 60 frames per second clock.tick(60) diff --git a/main.py b/main.py index 0a8e980..1a6c4a5 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,7 @@ import game def main(): print("poczatek programu") + game.game() if __name__ == '__main__': diff --git a/modele.py b/modele.py index 8ad6e47..a653dd3 100644 --- a/modele.py +++ b/modele.py @@ -50,9 +50,11 @@ class Kontener(pygame.sprite.Sprite): self.x = x self.y = y pygame.sprite.Sprite.__init__(self) - self.image = pygame.image.__init__() + self.image = pygame.image.__class__ self.rect = pygame.Rect(self.x * WIDTH + MARGIN * self.x + MARGIN, self.y * HEIGHT + MARGIN * self.y + MARGIN, WIDTH, HEIGHT) + def setImage(self,image): + self.image = image class Kratka(pygame.sprite.Sprite): @@ -60,7 +62,7 @@ class Kratka(pygame.sprite.Sprite): self.pozX = poz_x self.pozY = poz_y pygame.sprite.Sprite.__init__(self) - self.image = pygame.image.__init__() + self.image = pygame.image.__class__ self.rect = pygame.Rect(self.pozX * WIDTH + MARGIN * self.pozX + MARGIN, self.pozY * HEIGHT + MARGIN * self.pozY + MARGIN, WIDTH, HEIGHT)