From 5d259b8b066786005fffd27a34185326592a364c Mon Sep 17 00:00:00 2001 From: jakzar Date: Mon, 11 Mar 2024 13:24:12 +0100 Subject: [PATCH] Dodano klase Traktor i dodano podstawowy, pseudolosowy ruch --- Tractor.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ main.py | 24 +++++++++++++++--------- 2 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 Tractor.py diff --git a/Tractor.py b/Tractor.py new file mode 100644 index 0000000..1dc53a4 --- /dev/null +++ b/Tractor.py @@ -0,0 +1,44 @@ +import pygame +import Slot +import random +CUBE_SIZE=128 +WIDTH = 1024 +HEIGHT = 512 + +class Tractor: + def __init__(self,x_axis,y_axis,screen): + self.x_axis=x_axis + self.y_axis=y_axis + self.tractor_image = pygame.image.load('images/traktor.png') + self.tractor_image = pygame.transform.scale(self.tractor_image, (CUBE_SIZE, CUBE_SIZE)) + self.screen=screen + self.slot=None + + def draw_tractor(self): + self.screen.blit(self.tractor_image, (self.x_axis*CUBE_SIZE,self.y_axis*CUBE_SIZE)) + pygame.display.update() + + def move_tractor(self,x): + if(x==0): + if(self.x_axis+1<=7): + print("Ruch w prawo") + self.x_axis=self.x_axis+1 + if(x==1): + if(self.x_axis-1>=0): + print("Ruch w lewo") + self.x_axis=self.x_axis-1 + if(x==2): + if(self.y_axis+1<=3): + print("Ruch w gore") + self.y_axis=self.y_axis+1 + if(x==3): + if(self.y_axis-1>=0): + print("Ruch w dol") + self.y_axis=self.y_axis-1 + self.draw_tractor() + + + def random_move(self): + x=random.randint(0,3) + self.move_tractor(x) + \ No newline at end of file diff --git a/main.py b/main.py index 2f0b258..f726cac 100644 --- a/main.py +++ b/main.py @@ -1,8 +1,10 @@ import pygame import Slot +import Tractor import random import time + pygame.init() @@ -23,7 +25,8 @@ pygame.display.update() - +#Tractor creation +traktor=Tractor.Tractor(0,0,screen) @@ -41,11 +44,7 @@ def draw_grid(): 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,WIDTH//CUBE_SIZE): #We got 8 cubes in X axis so we use for from 0 to 7 do draw them all @@ -53,8 +52,8 @@ def draw_grid(): new_slot=Slot.Slot(x,y,BROWN,screen) #Creation of empty slot SLOT_DICT[(x,y)]=new_slot #Adding slots to dict for entity in SLOT_DICT: - SLOT_DICT[entity].draw() #For each slot in dictionary draw it on the screen - draw_tractor() + SLOT_DICT[entity].draw() + traktor.draw_tractor() def change_color_of_slot(coordinates,color): #Coordinates must be tuple (x,y) x from range 0,7 and y in range 0,3 (left top slot has cord (0,0) ), color has to be from defined or custom in RGB value (R,G,B) SLOT_DICT[coordinates].color_change(color) @@ -78,16 +77,23 @@ def randomize_colors(): time.sleep(3) for coordinates in SLOT_DICT: SLOT_DICT[coordinates].color_change(random_color()) - draw_tractor() + traktor.draw_tractor() def init_demo(): #Demo purpose draw_grid() time.sleep(2) randomize_colors() + time.sleep(2) + +def demo_move(): + SLOT_DICT[(traktor.x_axis,traktor.y_axis)].draw() + traktor.random_move() #Main program init_demo() while True: + time.sleep(1) + demo_move() for event in pygame.event.get(): if event.type == pygame.QUIT: quit()