From 2c996cc86fce1a2320196d6b507b444e370c3649 Mon Sep 17 00:00:00 2001 From: mikoMaz Date: Sun, 12 Mar 2023 20:22:10 +0100 Subject: [PATCH] add field class. To fix: tractor renders under field --- main.py | 29 +++++++++++++++++++++++++++++ resources/field.png | Bin 0 -> 577 bytes 2 files changed, 29 insertions(+) create mode 100644 resources/field.png diff --git a/main.py b/main.py index 7a5d8973..6bbb34a2 100644 --- a/main.py +++ b/main.py @@ -61,7 +61,32 @@ class Tractor: self.move(self.direction) +class Field: + def __init__(self, parent_screen): + self.parent_screen = parent_screen + self.block = pygame.image.load(r'resources\field.png').convert() + + def place_field(self, field_matrix): + for m, posY in enumerate(field_matrix): + for n, posX in enumerate(posY): + if field_matrix[m][n] == 1: + self.parent_screen.blit(self.block, (n * 50, m * 50)) + + pygame.display.flip() + + class Game: + field_matrix = [[0 for m in range(10)] for n in range(10)] + + for i in range(10): + while True: + field_posX = random.randint(0, 9) + field_posY = random.randint(0, 9) + + if field_matrix[field_posY][field_posX] == 0: + field_matrix[field_posY][field_posX] = 1 + break + def __init__(self): pygame.init() self.screenWidth = 500 @@ -74,6 +99,9 @@ class Game: self.lines = Lines(self.surface) + self.field = Field(self.surface) + self.field.place_field(self.field_matrix) + def run(self): running = True last_time = datetime.now() @@ -101,6 +129,7 @@ class Game: if (time_now - last_time).total_seconds() > 1: # tractor moves every 1 sec last_time = datetime.now() self.tractor.walk() + self.field.place_field(self.field_matrix) self.lines.draw_lines() print(f'x, y = ({int(self.tractor.x / 50)}, {int(self.tractor.y / 50)})') diff --git a/resources/field.png b/resources/field.png new file mode 100644 index 0000000000000000000000000000000000000000..4becef63e9a6fa7f378cab79803cbf7a812e6a24 GIT binary patch literal 577 zcmV-H0>1r;P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&0oF-GK~z{r<&w*7 z12GH*(@jcpFTSL%RF^Q2!R0(?14)IoXqE zR)z(`E)TQ}wBYLZg$BJ~7!Rpw*=vHYEIA2XEkCF<*HU#7PEX!8`$5TQ=mnBgkCT?3 z{WWJ|an3_a=B|w1rKK9#liv%Yt~F26($7FfGA(E$VY-GjT`lYGu_-twT|BW?KHX-a zGU+Pu&?=3)!UI^h%lEh#u2ULifoxrnRJz)Cwyv)PhJO)PjgG(DK+R za_+6?*`Ng;e&V`iBhX4lL&{%Yqm@H8GWI*Q7#Js^{Nxu&oNVesE%L)CHLcQUOVugX z3a3D|r&lm+wD{so%U6dHdsTXI!KZxWp(P2Xnu+9)iw-RfDbWnBKL_!Y;KpU^6G^@_vbp`{^UF6HSJL%dxFZ%c}j-ASs!6xbR)kF_9T z8D{eW0Sfdw&;poEjb2$kK~pEKyhq5hmauX-UqLN<_3&DY)c(XLalicnwu~STU55*i P00000NkvXXu0mjfxa$Dr literal 0 HcmV?d00001