-Added garage -Fixed bugs that were causing crashes realted to mouse position out of the window

This commit is contained in:
jakzar 2024-04-15 10:02:09 +02:00
parent a8c5b1b434
commit d38c4d9593
6 changed files with 31 additions and 8 deletions

3
App.py
View File

@ -74,11 +74,14 @@ def demo_move():
traktor.random_move(pole) traktor.random_move(pole)
def get_info(old_info): def get_info(old_info):
try:
(x,y)=pygame.mouse.get_pos() (x,y)=pygame.mouse.get_pos()
new_info=pole.check_collision(x,y) new_info=pole.check_collision(x,y)
if(old_info!=new_info): if(old_info!=new_info):
print(new_info) print(new_info)
return new_info return new_info
except:
pass

View File

@ -6,6 +6,7 @@ class Image:
def __init__(self): def __init__(self):
self.plants_image_dict={} self.plants_image_dict={}
self.tractor_image=None self.tractor_image=None
self.garage_image=None
def load_images(self): def load_images(self):
files_plants={0:"borowka", files_plants={0:"borowka",
1:"kukurydza", 1:"kukurydza",
@ -19,6 +20,8 @@ class Image:
self.plants_image_dict[files_plants[index]]=plant_image self.plants_image_dict[files_plants[index]]=plant_image
tractor_image=pygame.image.load("images/traktor.png") tractor_image=pygame.image.load("images/traktor.png")
tractor_image=pygame.transform.scale(tractor_image,(dCon.CUBE_SIZE,dCon.CUBE_SIZE)) tractor_image=pygame.transform.scale(tractor_image,(dCon.CUBE_SIZE,dCon.CUBE_SIZE))
garage=pygame.image.load("images/garage.png")
self.garage_image=pygame.transform.scale(garage,(dCon.CUBE_SIZE,dCon.CUBE_SIZE))
def return_random_plant(self): def return_random_plant(self):
x=random.randint(0,5) x=random.randint(0,5)
keys=list(self.plants_image_dict.keys()) keys=list(self.plants_image_dict.keys())
@ -27,3 +30,6 @@ class Image:
def return_plant(self,plant_name): def return_plant(self,plant_name):
return (plant_name,self.plants_image_dict[plant_name]) return (plant_name,self.plants_image_dict[plant_name])
def return_garage(self):
return self.garage_image

View File

@ -33,12 +33,17 @@ class Pole:
slot_dict=self.get_slot_dict() slot_dict=self.get_slot_dict()
for coordinates in slot_dict: for coordinates in slot_dict:
slot_dict[coordinates].draw() slot_dict[coordinates].draw()
garage=self.slot_dict[(0,0)]
garage.set_garage_image()
def randomize_colors(self): def randomize_colors(self):
pygame.display.update() pygame.display.update()
time.sleep(3) time.sleep(3)
self.ui.render_text("Randomizing Crops") self.ui.render_text("Randomizing Crops")
for coordinates in self.slot_dict: for coordinates in self.slot_dict:
if(coordinates==(0,0)):
continue
else:
self.slot_dict[coordinates].set_random_plant() self.slot_dict[coordinates].set_random_plant()
def change_color_of_slot(self,coordinates,color): #Coordinates must be tuple (x,y) (left top slot has cord (0,0) ), color has to be from defined in Colors.py or custom in RGB value (R,G,B) def change_color_of_slot(self,coordinates,color): #Coordinates must be tuple (x,y) (left top slot has cord (0,0) ), color has to be from defined in Colors.py or custom in RGB value (R,G,B)

View File

@ -15,6 +15,7 @@ class Slot:
self.screen=screen self.screen=screen
self.field=pygame.Rect(self.x_axis*dCon.CUBE_SIZE,self.y_axis*dCon.CUBE_SIZE,dCon.CUBE_SIZE,dCon.CUBE_SIZE) self.field=pygame.Rect(self.x_axis*dCon.CUBE_SIZE,self.y_axis*dCon.CUBE_SIZE,dCon.CUBE_SIZE,dCon.CUBE_SIZE)
self.image_loader=image_loader self.image_loader=image_loader
self.garage_image=None
def draw(self): def draw(self):
pygame.draw.rect(self.screen,Colors.BROWN,self.field,0) #Draw field pygame.draw.rect(self.screen,Colors.BROWN,self.field,0) #Draw field
@ -39,6 +40,11 @@ class Slot:
self.screen.blit(self.plant_image, (self.x_axis * dCon.CUBE_SIZE, self.y_axis * dCon.CUBE_SIZE)) self.screen.blit(self.plant_image, (self.x_axis * dCon.CUBE_SIZE, self.y_axis * dCon.CUBE_SIZE))
pygame.draw.rect(self.screen, Colors.BLACK, self.field, BORDER_THICKNESS) pygame.draw.rect(self.screen, Colors.BLACK, self.field, BORDER_THICKNESS)
def set_garage_image(self):
self.plant_image=self.image_loader.return_garage()
self.screen.blit(self.plant_image, (self.x_axis * dCon.CUBE_SIZE, self.y_axis * dCon.CUBE_SIZE))
pygame.draw.rect(self.screen, Colors.BLACK, self.field, BORDER_THICKNESS)
def random_plant(self): #Probably will not be used later only for demo purpouse def random_plant(self): #Probably will not be used later only for demo purpouse
return self.image_loader.return_random_plant() return self.image_loader.return_random_plant()

View File

@ -155,5 +155,8 @@ class Tractor:
else: else:
print("Brak akcji przypisanych do tego sprzętu.") print("Brak akcji przypisanych do tego sprzętu.")
def irrigateSlot(self): def irrigateSlot(self):
try:
self.slot.irrigatePlant() self.slot.irrigatePlant()
except:
pass

BIN
images/garage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB