From 8a54333c434fa6d9111a9a561abea1b2a089e802 Mon Sep 17 00:00:00 2001 From: jakzar Date: Sun, 10 Mar 2024 15:03:56 +0100 Subject: [PATCH 1/5] Dodano mozliwosc zarzadania slotami --- Slot.py | 22 +++++++++++ images/traktor.png | Bin 0 -> 64278 bytes main.py | 95 ++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 107 insertions(+), 10 deletions(-) create mode 100644 Slot.py create mode 100644 images/traktor.png diff --git a/Slot.py b/Slot.py new file mode 100644 index 0000000..61645bc --- /dev/null +++ b/Slot.py @@ -0,0 +1,22 @@ +import pygame + +CUBE_SIZE=128 +WIDTH = 1024 +HEIGHT = 512 +BLACK=(0,0,0) +BORDER_COLOR=BLACK +BORDER_THICKNESS=1 #Has to be INT value +class Slot: + def __init__(self,x_axis,y_axis,color,screen): #TODO crop and related to it things handling. for now as a place holder crop=>color + self.x_axis=x_axis + self.y_axis=y_axis + self.color=color + self.screen=screen + self.field=pygame.Rect(self.x_axis*CUBE_SIZE,self.y_axis*CUBE_SIZE,CUBE_SIZE,CUBE_SIZE) + def draw(self): + pygame.draw.rect(self.screen,self.color,self.field,0) #Draw field + pygame.draw.rect(self.screen,BLACK,self.field,BORDER_THICKNESS) #Draw border + pygame.display.update() + def color_change(self,color): + self.color=color + self.draw() diff --git a/images/traktor.png b/images/traktor.png new file mode 100644 index 0000000000000000000000000000000000000000..69a5056cfa9f618affc2df26fefaf7b10f2b47f5 GIT binary patch literal 64278 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 Date: Sun, 10 Mar 2024 15:03:56 +0100 Subject: [PATCH 2/5] Dodano mozliwosc zarzadania slotami --- Slot.py | 22 ++++++++++++++++ main.py | 79 +++++++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 87 insertions(+), 14 deletions(-) create mode 100644 Slot.py diff --git a/Slot.py b/Slot.py new file mode 100644 index 0000000..61645bc --- /dev/null +++ b/Slot.py @@ -0,0 +1,22 @@ +import pygame + +CUBE_SIZE=128 +WIDTH = 1024 +HEIGHT = 512 +BLACK=(0,0,0) +BORDER_COLOR=BLACK +BORDER_THICKNESS=1 #Has to be INT value +class Slot: + def __init__(self,x_axis,y_axis,color,screen): #TODO crop and related to it things handling. for now as a place holder crop=>color + self.x_axis=x_axis + self.y_axis=y_axis + self.color=color + self.screen=screen + self.field=pygame.Rect(self.x_axis*CUBE_SIZE,self.y_axis*CUBE_SIZE,CUBE_SIZE,CUBE_SIZE) + def draw(self): + pygame.draw.rect(self.screen,self.color,self.field,0) #Draw field + pygame.draw.rect(self.screen,BLACK,self.field,BORDER_THICKNESS) #Draw border + pygame.display.update() + def color_change(self,color): + self.color=color + self.draw() diff --git a/main.py b/main.py index f8031d8..b7efa41 100644 --- a/main.py +++ b/main.py @@ -1,40 +1,91 @@ import pygame +import Slot +import random +import time pygame.init() + +BLACK = (0, 0, 0) +BROWN = (139, 69, 19) +WHITE = (255, 255, 255) +RED=(255,0,0) +GREEN=(0,255,0) + CUBE_SIZE = 128 NUM_X = 8 NUM_Y = 4 WIDTH = 1024 HEIGHT = 512 screen = pygame.display.set_mode((WIDTH, HEIGHT)) -WHITE = (255, 255, 255) screen.fill(WHITE) pygame.display.update() -BLACK = (0, 0, 0) -BROWN = (139, 69, 19) + + + + + + + +SLOT_DICT={} #Slot are stored in dictionary with key being a Tuple of x and y coordinates so top left slot key is (0,0) and value is slot object +"""#Draw grid and tractor (old one) def draw_grid(): - for x in range(NUM_X): - for y in range(NUM_Y): - pygame.draw.rect(screen, BROWN, (x * CUBE_SIZE, y * CUBE_SIZE, CUBE_SIZE, CUBE_SIZE)) - - for x in range(0, WIDTH, CUBE_SIZE): - pygame.draw.line(screen, BLACK, (x, 0), (x, HEIGHT)) - for y in range(0, HEIGHT, CUBE_SIZE): - pygame.draw.line(screen, BLACK, (0, y), (WIDTH, y)) + for x in range(0, 8): + pygame.draw.line(screen, BLACK, (x*CUBE_SIZE, 0), (x*CUBE_SIZE, HEIGHT)) #We got 8 lines in Y axis so to draw them we use x from range <0,7) to make slot manage easier + for y in range(0, 5): + pygame.draw.line(screen, BLACK, (0, y*CUBE_SIZE), (WIDTH, y*CUBE_SIZE)) #We got 4 lines in X axis so to draw them we use y from range <0,5) to make slot manage easier # Draw tractor + tractor_image = pygame.image.load('images/traktor.png') + tractor_image = pygame.transform.scale(tractor_image, (CUBE_SIZE, CUBE_SIZE)) + screen.blit(tractor_image, (CUBE_SIZE - 128, CUBE_SIZE - 128))""" + +def draw_tractor(): #TODO? I think we should move draw_tractor to tractor class in the future tractor_image = pygame.image.load('images/traktor.png') tractor_image = pygame.transform.scale(tractor_image, (CUBE_SIZE, CUBE_SIZE)) screen.blit(tractor_image, (CUBE_SIZE - 128, CUBE_SIZE - 128)) + pygame.display.update() +#Draw grid and tractor (new one) +def draw_grid(): + for x in range(0,8): + for y in range(0,5): + new_slot=Slot.Slot(x,y,BROWN,screen) + SLOT_DICT[(x,y)]=new_slot + for entity in SLOT_DICT: + SLOT_DICT[entity].draw() + draw_tractor() +def change_color_of_slot(coordinates,color): + SLOT_DICT[coordinates].color_change(color) +def random_color(): + x=random.randint(0,3) + switcher={0:BROWN, + 1:GREEN, + 2:RED, + 3:WHITE} + return switcher[x] + +def randomize_colors(): + font=pygame.font.Font('freesansbold.ttf',32) + text=font.render('Randomizing crops',True,BLACK,WHITE) + textRect=text.get_rect() + textRect.center=(WIDTH//2,HEIGHT//2) + screen.blit(text,textRect) + pygame.display.update() + time.sleep(3) + for coordinates in SLOT_DICT: + SLOT_DICT[coordinates].color_change(random_color()) + draw_tractor() + +def init_demo(): + draw_grid() + time.sleep(2) + randomize_colors() +init_demo() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: quit() - draw_grid() - - pygame.display.update() \ No newline at end of file From c3d2c3384f35091e8e61707ed3091068465dfb8f Mon Sep 17 00:00:00 2001 From: jakzar Date: Sun, 10 Mar 2024 17:50:40 +0100 Subject: [PATCH 3/5] Dodano mozliwosc zarzadzania slotami. --- __pycache__/Slot.cpython-312.pyc | Bin 0 -> 1710 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 __pycache__/Slot.cpython-312.pyc diff --git a/__pycache__/Slot.cpython-312.pyc b/__pycache__/Slot.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34e9cfe5036019b3c7d8cf665ee72e27b0cf838f GIT binary patch literal 1710 zcmb^xO>Y}j@a=kcv;Io+VNgO9Y7RZ@0i>dUXj+gO*CcK$2icA)Z6cP{?l#zL?eKOZ zYS#xJa%d!~ij&(@K|+EkNVKQ&12_Q(B7$l?dO(6p4oE0IAoaw|+g&>?J~GnIo0&In zzGr_-rxOHV?a#lQ7h;6`flLHaNc7(VqDyRI3og-#E$V_D(?wg-W45eIj-<=BqAMa< zBKFuevDG~>c&U#y1ucGvO!2S-xJtlgmB6(Yqo_1QhXSw`d;>rMLjPqzUE&aMOTewL zO~A1TSh8b)<));`Oe(t#-;()@04Z=lN~He-pe|_(ZDIsBfZHN)kq6R_0T%`hcM@>; zl7kqJ}8vxOaMemwqS14*KQ*IdM zjjG3#W^l?@!);Kecoub>I#V{A8|HO~NhQbfSvmu3sn^@0C_A<#UyF zY`|-qO{N+~wO;iNqm|~Oh($Nv5}*$0WnQ`^eVUAp=^5Y>A@^i@wtMcgb9epwH}Bp2 z=Is8d`3IFpYY*4HpWT1s(obg(R^R_++PEd%PV~VPu?9T^X3+8TAng(#6*!Elf9?3J zgnG~^wDBB(RDDhaEJ#PpgDpf|6aF{<4A+(|xGXZF>ZyP5kZ@16X- z@|FID{y=(^c$oO^%z^s$2%Rrizn=egVRzx+&36yfB~%#S8Go$K?W=RYs;6iMY+J`y z5o!L5cpZrU{31wg@DqUR5RR9L;#g>6Pz_85Xv~odJT#sSGG!^go`&_IS>JG4lRV|) zB8<$#n!s*^+n}cI#CPJilRWC8rr=)HVW$m)B@E+w!`^a{P8r6>Tc#V_Q0yx&E1d&s zm+;3yv2m~|BHVfIYnvR2viyN?l#0pOzADO@KpmAdm3N+=0Gi2H3l}TPOj*tsmX<4Y z24$(R;klJ7DEqDPe}unp6aA}lT$yFiGRejkU1iNxXFJ30O>DH literal 0 HcmV?d00001 From 3902881d28cc9aea88aaa768500c13e89a85e50a Mon Sep 17 00:00:00 2001 From: jakzar Date: Sun, 10 Mar 2024 17:53:36 +0100 Subject: [PATCH 4/5] Dodano .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba0430d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__/ \ No newline at end of file From 45e88ebdb620376c8623cfede2303ea960dd4276 Mon Sep 17 00:00:00 2001 From: jakzar Date: Sun, 10 Mar 2024 18:17:56 +0100 Subject: [PATCH 5/5] Usunieto niepotrzebny folder --- __pycache__/Slot.cpython-312.pyc | Bin 1710 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 __pycache__/Slot.cpython-312.pyc diff --git a/__pycache__/Slot.cpython-312.pyc b/__pycache__/Slot.cpython-312.pyc deleted file mode 100644 index 34e9cfe5036019b3c7d8cf665ee72e27b0cf838f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1710 zcmb^xO>Y}j@a=kcv;Io+VNgO9Y7RZ@0i>dUXj+gO*CcK$2icA)Z6cP{?l#zL?eKOZ zYS#xJa%d!~ij&(@K|+EkNVKQ&12_Q(B7$l?dO(6p4oE0IAoaw|+g&>?J~GnIo0&In zzGr_-rxOHV?a#lQ7h;6`flLHaNc7(VqDyRI3og-#E$V_D(?wg-W45eIj-<=BqAMa< zBKFuevDG~>c&U#y1ucGvO!2S-xJtlgmB6(Yqo_1QhXSw`d;>rMLjPqzUE&aMOTewL zO~A1TSh8b)<));`Oe(t#-;()@04Z=lN~He-pe|_(ZDIsBfZHN)kq6R_0T%`hcM@>; zl7kqJ}8vxOaMemwqS14*KQ*IdM zjjG3#W^l?@!);Kecoub>I#V{A8|HO~NhQbfSvmu3sn^@0C_A<#UyF zY`|-qO{N+~wO;iNqm|~Oh($Nv5}*$0WnQ`^eVUAp=^5Y>A@^i@wtMcgb9epwH}Bp2 z=Is8d`3IFpYY*4HpWT1s(obg(R^R_++PEd%PV~VPu?9T^X3+8TAng(#6*!Elf9?3J zgnG~^wDBB(RDDhaEJ#PpgDpf|6aF{<4A+(|xGXZF>ZyP5kZ@16X- z@|FID{y=(^c$oO^%z^s$2%Rrizn=egVRzx+&36yfB~%#S8Go$K?W=RYs;6iMY+J`y z5o!L5cpZrU{31wg@DqUR5RR9L;#g>6Pz_85Xv~odJT#sSGG!^go`&_IS>JG4lRV|) zB8<$#n!s*^+n}cI#CPJilRWC8rr=)HVW$m)B@E+w!`^a{P8r6>Tc#V_Q0yx&E1d&s zm+;3yv2m~|BHVfIYnvR2viyN?l#0pOzADO@KpmAdm3N+=0Gi2H3l}TPOj*tsmX<4Y z24$(R;klJ7DEqDPe}unp6aA}lT$yFiGRejkU1iNxXFJ30O>DH