diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..eaf91e2
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..c57d2b8
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..d1ea2d8
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/wozek.iml b/.idea/wozek.iml
new file mode 100644
index 0000000..d9e6024
--- /dev/null
+++ b/.idea/wozek.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/car_parts.png b/car_parts.png
new file mode 100644
index 0000000..4d0bc1e
Binary files /dev/null and b/car_parts.png differ
diff --git a/car_parts.png:Zone.Identifier b/car_parts.png:Zone.Identifier
new file mode 100644
index 0000000..06205ea
--- /dev/null
+++ b/car_parts.png:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://cloudconvert.com/
+HostUrl=https://eu-central.storage.cloudconvert.com/tasks/89fd002d-da8d-428b-8ab9-f34e46a152d2/car_parts.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cloudconvert-production%2F20240313%2Ffra%2Fs3%2Faws4_request&X-Amz-Date=20240313T125446Z&X-Amz-Expires=86400&X-Amz-Signature=5a6c7c1a4a9ace4b9847c1333519558594ff9acf8eef806f38e598003f86ffca&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D%22car_parts.png%22&response-content-type=image%2Fpng&x-id=GetObject
diff --git a/clothes.png b/clothes.png
new file mode 100644
index 0000000..4470dec
Binary files /dev/null and b/clothes.png differ
diff --git a/clothes.png:Zone.Identifier b/clothes.png:Zone.Identifier
new file mode 100644
index 0000000..7ab04df
--- /dev/null
+++ b/clothes.png:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://cloudconvert.com/
+HostUrl=https://eu-central.storage.cloudconvert.com/tasks/bed19f02-21bb-4af5-9a42-7cc3365f2bf4/clothes.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cloudconvert-production%2F20240313%2Ffra%2Fs3%2Faws4_request&X-Amz-Date=20240313T125445Z&X-Amz-Expires=86400&X-Amz-Signature=f4586482e9493741e4b8acf756f10e3f879fc503bf0f4d05c1d4131aee65006a&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D%22clothes.png%22&response-content-type=image%2Fpng&x-id=GetObject
diff --git a/forklift.png b/forklift.png
new file mode 100644
index 0000000..2502962
Binary files /dev/null and b/forklift.png differ
diff --git a/forklift.png:Zone.Identifier b/forklift.png:Zone.Identifier
new file mode 100644
index 0000000..d202ca1
--- /dev/null
+++ b/forklift.png:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://cloudconvert.com/
+HostUrl=https://eu-central.storage.cloudconvert.com/tasks/72d14743-46c1-4131-ad52-b8c020251781/DALL%C2%B7E%202024-03-13%2013.49.29%20-%20A%20cute%2C%20cartoonish%20forklift%20in%20a%20simple%2C%20colorful%20style%2C%20isolated%20on%20a%20white%20background%2C%20suitable%20for%20a%2032x32%20pixels%20square%20format.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cloudconvert-production%2F20240313%2Ffra%2Fs3%2Faws4_request&X-Amz-Date=20240313T125232Z&X-Amz-Expires=86400&X-Amz-Signature=47f29abd7d2833b597df60a061ece32135317b2715f4a5a5bd731d101328378a&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D%22DALL%C2%B7E%202024-03-13%2013.49.29%20-%20A%20cute%2C%20cartoonish%20forklift%20in%20a%20simple%2C%20colorful%20style%2C%20isolated%20on%20a%20white%20background%2C%20suitable%20for%20a%2032x32%20pixels%20square%20format.png%22&response-content-type=image%2Fpng&x-id=GetObject
diff --git a/fruit.png b/fruit.png
new file mode 100644
index 0000000..66a075f
Binary files /dev/null and b/fruit.png differ
diff --git a/fruit.png:Zone.Identifier b/fruit.png:Zone.Identifier
new file mode 100644
index 0000000..31de4cb
--- /dev/null
+++ b/fruit.png:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://cloudconvert.com/
+HostUrl=https://eu-central.storage.cloudconvert.com/tasks/bb36c777-c2d4-47c2-988b-532a79573e35/fruit.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cloudconvert-production%2F20240313%2Ffra%2Fs3%2Faws4_request&X-Amz-Date=20240313T125445Z&X-Amz-Expires=86400&X-Amz-Signature=f19271408b0122b54201104cb6b223d8421964134753883343dec7c677f11f37&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D%22fruit.png%22&response-content-type=image%2Fpng&x-id=GetObject
diff --git a/nuclear_waste.png b/nuclear_waste.png
new file mode 100644
index 0000000..826348d
Binary files /dev/null and b/nuclear_waste.png differ
diff --git a/nuclear_waste.png:Zone.Identifier b/nuclear_waste.png:Zone.Identifier
new file mode 100644
index 0000000..f224628
--- /dev/null
+++ b/nuclear_waste.png:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://cloudconvert.com/
+HostUrl=https://eu-central.storage.cloudconvert.com/tasks/7b680dc5-6ff4-4d66-a9fd-ee8b636e3bf1/nuclear_waste.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=cloudconvert-production%2F20240313%2Ffra%2Fs3%2Faws4_request&X-Amz-Date=20240313T125444Z&X-Amz-Expires=86400&X-Amz-Signature=09442679e02fcce160ea1f20fd133696d8b766e1e728a06c853e03fe9b951e05&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D%22nuclear_waste.png%22&response-content-type=image%2Fpng&x-id=GetObject
diff --git a/wozek.py b/wozek.py
new file mode 100644
index 0000000..73c9775
--- /dev/null
+++ b/wozek.py
@@ -0,0 +1,145 @@
+import pygame
+import sys
+import random
+import os
+
+# Initialize Pygame
+pygame.init()
+
+# Constants
+TILE_SIZE = 96 # Size of a square tile in pixels
+GRID_WIDTH, GRID_HEIGHT = 16, 8 # Grid dimensions
+SCREEN_WIDTH, SCREEN_HEIGHT = GRID_WIDTH * TILE_SIZE, GRID_HEIGHT * TILE_SIZE
+FPS = 60 # Frames per second
+
+# Setup display
+screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
+pygame.display.set_caption('Forklift Game')
+
+# Clock
+clock = pygame.time.Clock()
+
+# Function to load and scale images
+def load_image(name, scale=None):
+ """Loads an image and optionally scales it."""
+ image = pygame.image.load(name).convert_alpha()
+ if scale:
+ image = pygame.transform.scale(image, scale)
+ return image
+
+# Placeholder for images (will be loaded after video mode set)
+forklift_image_full = None
+freight_images_full = None
+
+# Game variables
+forklift_pos = [7, 3] # Adjusted starting position of the forklift
+carrying_freight = False
+carried_freight = None
+freight_positions = {} # Dictionary to keep track of freight positions and types
+
+# Load images
+def load_images():
+ global forklift_image_full, freight_images_full
+ forklift_image_full = load_image('forklift.png', (TILE_SIZE, TILE_SIZE))
+ freight_images_full = {
+ 'clothes': load_image('clothes.png', (TILE_SIZE, TILE_SIZE)),
+ 'fruit': load_image('fruit.png', (TILE_SIZE, TILE_SIZE)),
+ 'nuclear_waste': load_image('nuclear_waste.png', (TILE_SIZE, TILE_SIZE)),
+ 'car_parts': load_image('car_parts.png', (TILE_SIZE, TILE_SIZE)),
+ }
+
+# Initialize or reset game elements
+def init_game():
+ freight_positions.clear()
+ load_images() # Ensure images are loaded after video mode set
+ reset_truck_bed_freight()
+
+# Reset freight on the truck bed
+def reset_truck_bed_freight():
+ types = list(freight_images_full.keys())
+ for x in range(12, 16):
+ freight_positions[(x, 0)] = random.choice(types)
+
+# Drawing functions
+def draw_board():
+ screen.fill((255, 255, 255))
+ for x in range(GRID_WIDTH):
+ for y in range(GRID_HEIGHT):
+ pygame.draw.rect(screen, (0, 0, 0), pygame.Rect(x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE), 1)
+
+def draw_truck_bed_and_racks():
+ for x in range(12, 16):
+ pygame.draw.rect(screen, (0, 0, 255), (x * TILE_SIZE, 0, TILE_SIZE, TILE_SIZE))
+ for y in range(5, 8):
+ for x in range(GRID_WIDTH):
+ pygame.draw.rect(screen, (165, 42, 42), (x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE))
+
+def draw_forklift_and_freight():
+ x, y = forklift_pos
+ if carrying_freight:
+ # Draw smaller images when carrying freight
+ small_size = (TILE_SIZE // 2, TILE_SIZE // 2)
+ forklift_small = pygame.transform.scale(forklift_image_full, small_size)
+ freight_small = pygame.transform.scale(freight_images_full[carried_freight], small_size)
+ screen.blit(forklift_small, (x * TILE_SIZE, y * TILE_SIZE + TILE_SIZE // 2))
+ screen.blit(freight_small, (x * TILE_SIZE + TILE_SIZE // 2, y * TILE_SIZE))
+ else:
+ screen.blit(forklift_image_full, (x * TILE_SIZE, y * TILE_SIZE))
+
+def draw_freight():
+ for (x, y), freight_type in freight_positions.items():
+ screen.blit(freight_images_full[freight_type], (x * TILE_SIZE, y * TILE_SIZE))
+
+# Game mechanics
+def move_forklift(dx, dy):
+ global forklift_pos
+ new_pos = [forklift_pos[0] + dx, forklift_pos[1] + dy]
+ if 0 <= new_pos[0] < GRID_WIDTH and 0 <= new_pos[1] < GRID_HEIGHT:
+ forklift_pos = new_pos
+
+def handle_freight():
+ global carrying_freight, carried_freight, freight_positions
+ pos_tuple = tuple(forklift_pos)
+ if carrying_freight:
+ if pos_tuple not in freight_positions:
+ freight_positions[pos_tuple] = carried_freight
+ carrying_freight = False
+ carried_freight = None
+ else:
+ if pos_tuple in freight_positions:
+ carried_freight = freight_positions.pop(pos_tuple)
+ carrying_freight = True
+
+# Main game loop
+def game_loop():
+ init_game()
+ running = True
+ while running:
+ for event in pygame.event.get():
+ if event.type == pygame.QUIT:
+ running = False
+ elif event.type == pygame.KEYDOWN:
+ if event.key == pygame.K_LEFT:
+ move_forklift(-1, 0)
+ elif event.key == pygame.K_RIGHT:
+ move_forklift(1, 0)
+ elif event.key == pygame.K_UP:
+ move_forklift(0, -1)
+ elif event.key == pygame.K_DOWN:
+ move_forklift(0, 1)
+ elif event.key == pygame.K_SPACE:
+ handle_freight()
+ elif event.key == pygame.K_r:
+ reset_truck_bed_freight()
+
+ draw_board()
+ draw_truck_bed_and_racks()
+ draw_freight()
+ draw_forklift_and_freight()
+ pygame.display.flip()
+ clock.tick(FPS)
+
+ pygame.quit()
+ sys.exit()
+
+game_loop()