reprezentacja wiedzy 1
21
Environment.py
Normal file
@ -0,0 +1,21 @@
|
||||
import pygame
|
||||
from Shelf import Shelf
|
||||
from Grid import Grid
|
||||
|
||||
HORIZONTAL = 1250
|
||||
VERTICAL = 750
|
||||
|
||||
TILE_SIZE = 50
|
||||
|
||||
background = (49, 51, 53)
|
||||
|
||||
class Environment:
|
||||
def __init__(self, window):
|
||||
self.window = window
|
||||
self.grid = Grid(self.window)
|
||||
self.Shelf = Shelf(self.window)
|
||||
|
||||
def drawEnviroment(self):
|
||||
self.window.fill(background)
|
||||
self.Shelf.drawShelves()
|
||||
self.grid.drawGrid()
|
37
Forklift.py
Normal file
@ -0,0 +1,37 @@
|
||||
import pygame
|
||||
from Environment import Environment
|
||||
from Package import Package
|
||||
|
||||
TILE_SIZE = 50
|
||||
|
||||
class Forklift:
|
||||
def __init__(self, window):
|
||||
self.window = window
|
||||
self.image = pygame.image.load('resources/images.png').convert_alpha()
|
||||
self.x = 50
|
||||
self.y = 350
|
||||
self.environment = Environment(self.window)
|
||||
self.hasPackage = False
|
||||
self.package = Package(self.window)
|
||||
|
||||
def drawForklift(self):
|
||||
self.environment.drawEnviroment()
|
||||
self.package.drawPackage()
|
||||
self.window.blit(self.image, (self.x, self.y))
|
||||
pygame.display.flip()
|
||||
|
||||
def moveForkliftRight(self):
|
||||
self.x += TILE_SIZE
|
||||
self.drawForklift()
|
||||
|
||||
def moveForkliftLeft(self):
|
||||
self.x -= TILE_SIZE
|
||||
self.drawForklift()
|
||||
|
||||
def moveForkliftUp(self):
|
||||
self.y -= TILE_SIZE
|
||||
self.drawForklift()
|
||||
|
||||
def moveForkliftDown(self):
|
||||
self.y += TILE_SIZE
|
||||
self.drawForklift()
|
24
Grid.py
Normal file
@ -0,0 +1,24 @@
|
||||
import pygame
|
||||
|
||||
HORIZONTAL = 1250
|
||||
VERTICAL = 750
|
||||
|
||||
TILE_SIZE = 50
|
||||
|
||||
line_color = (85, 85, 85)
|
||||
|
||||
class Grid:
|
||||
def __init__(self, window):
|
||||
self.window = window
|
||||
|
||||
def drawGrid(self):
|
||||
num_of_columns = int(HORIZONTAL / TILE_SIZE)
|
||||
num_of_rows = int(VERTICAL / TILE_SIZE)
|
||||
x = 0
|
||||
y = 0
|
||||
for i in range(num_of_columns):
|
||||
x += TILE_SIZE
|
||||
pygame.draw.line(self.window, line_color, (x, 0), (x, VERTICAL))
|
||||
for i in range(num_of_rows):
|
||||
y += TILE_SIZE
|
||||
pygame.draw.line(self.window, line_color, (0, y), (HORIZONTAL, y))
|
25
Package.py
Normal file
@ -0,0 +1,25 @@
|
||||
import numpy as np
|
||||
import pygame
|
||||
import glob2
|
||||
import random
|
||||
|
||||
TILE_SIZE = 50
|
||||
|
||||
class Package:
|
||||
def __init__(self, window):
|
||||
self.window = window
|
||||
self.imageDefault = pygame.image.load('resources/indeks.png').convert_alpha()
|
||||
self.x = 1150
|
||||
self.y = 350
|
||||
self.markImage = self.getMarkingImage()
|
||||
|
||||
def getMarkingImage(self):
|
||||
file_path_type = ["resources/package/*.jpg"]
|
||||
images = glob2.glob(random.choice(file_path_type))
|
||||
markImage = random.choice(images)
|
||||
print(markImage)
|
||||
return markImage
|
||||
|
||||
def drawPackage(self):
|
||||
self.window.blit(self.imageDefault, (self.x, self.y))
|
||||
pygame.display.flip()
|
36
Program.py
Normal file
@ -0,0 +1,36 @@
|
||||
import pygame
|
||||
from pygame.locals import *
|
||||
from Forklift import Forklift
|
||||
|
||||
HORIZONTAL = 1250
|
||||
VERTICAL = 750
|
||||
|
||||
TILE_SIZE = 50
|
||||
|
||||
class Program:
|
||||
def __init__(self):
|
||||
pygame.init()
|
||||
self.window = pygame.display.set_mode((HORIZONTAL, VERTICAL))
|
||||
self.caption = pygame.display.set_caption('Autonomiczny wózek widłowy')
|
||||
self.agent = Forklift(self.window)
|
||||
self.agent.drawForklift()
|
||||
|
||||
def run(self):
|
||||
running = True
|
||||
while running:
|
||||
for event in pygame.event.get():
|
||||
if event.type == KEYDOWN:
|
||||
if event.key == K_RIGHT:
|
||||
self.agent.moveForkliftRight()
|
||||
if event.key == K_LEFT:
|
||||
self.agent.moveForkliftLeft()
|
||||
if event.key == K_UP:
|
||||
self.agent.moveForkliftUp()
|
||||
if event.key == K_DOWN:
|
||||
self.agent.moveForkliftDown()
|
||||
if event.key == K_ESCAPE:
|
||||
running = False
|
||||
elif event.type == pygame.QUIT:
|
||||
running = False
|
||||
|
||||
|
24
Shelf.py
Normal file
@ -0,0 +1,24 @@
|
||||
import pygame
|
||||
|
||||
HORIZONTAL = 1250
|
||||
VERTICAL = 750
|
||||
|
||||
TILE_SIZE = 50
|
||||
shelf = (138, 126, 74)
|
||||
|
||||
class Shelf:
|
||||
def __init__(self, window):
|
||||
self.window = window
|
||||
self.color = shelf
|
||||
self.width = 5 * TILE_SIZE
|
||||
self.height = TILE_SIZE
|
||||
|
||||
def drawShelves(self):
|
||||
|
||||
for j in range(0, 5 * TILE_SIZE, 2 * TILE_SIZE):
|
||||
for i in range(TILE_SIZE + 1, HORIZONTAL - TILE_SIZE, 6 * TILE_SIZE):
|
||||
pygame.draw.rect(self.window, shelf, pygame.Rect(i, j, self.width, self.height))
|
||||
|
||||
for k in range(VERTICAL - 5 * TILE_SIZE, VERTICAL, 2 * TILE_SIZE):
|
||||
for l in range(TILE_SIZE + 1, HORIZONTAL - TILE_SIZE, 6 * TILE_SIZE):
|
||||
pygame.draw.rect(self.window, shelf, pygame.Rect(l, k, self.width, self.height))
|
BIN
__pycache__/Environment.cpython-39.pyc
Normal file
BIN
__pycache__/Forklift.cpython-39.pyc
Normal file
BIN
__pycache__/Grid.cpython-39.pyc
Normal file
BIN
__pycache__/Package.cpython-39.pyc
Normal file
BIN
__pycache__/Program.cpython-39.pyc
Normal file
BIN
__pycache__/Shelf.cpython-39.pyc
Normal file
86
main.py
@ -1,87 +1,7 @@
|
||||
import pygame
|
||||
from pygame.locals import *
|
||||
|
||||
HORIZONTAL = 1250 # poziomy wymiar okna
|
||||
VERTICAL = 750 # pionowy wymiar okna
|
||||
|
||||
TILE_SIZE = 50 # rozmiar kafelka
|
||||
|
||||
background = (49, 51, 53) # kolor tla
|
||||
line_color = (85, 85, 85) # kolor linii
|
||||
shelf = (138, 126, 74) # kolor polki
|
||||
|
||||
window = pygame.display.set_mode((HORIZONTAL, VERTICAL)) # okno 1250 x 750
|
||||
pygame.display.set_caption('Autonomiczny wózek widłowy')
|
||||
|
||||
def drawGrid():
|
||||
num_of_columns = int(HORIZONTAL / TILE_SIZE)
|
||||
num_of_rows = int(VERTICAL / TILE_SIZE)
|
||||
x = 0
|
||||
y = 0
|
||||
for i in range(num_of_columns):
|
||||
x += TILE_SIZE
|
||||
pygame.draw.line(window, line_color, (x, 0), (x, VERTICAL))
|
||||
for i in range(num_of_rows):
|
||||
y += TILE_SIZE
|
||||
pygame.draw.line(window, line_color, (0, y), (HORIZONTAL, y))
|
||||
|
||||
def drawShelves():
|
||||
width = 5 * TILE_SIZE
|
||||
height = TILE_SIZE
|
||||
for i in range(TILE_SIZE + 1, HORIZONTAL - TILE_SIZE, 6 * TILE_SIZE):
|
||||
pygame.draw.rect(window, shelf, pygame.Rect(i, 0, width, height))
|
||||
pygame.draw.rect(window, shelf, pygame.Rect(i, 101, width, height))
|
||||
pygame.draw.rect(window, shelf, pygame.Rect(i, 201, width, height))
|
||||
pygame.draw.rect(window, shelf, pygame.Rect(i, 501, width, height))
|
||||
pygame.draw.rect(window, shelf, pygame.Rect(i, 601, width, height))
|
||||
pygame.draw.rect(window, shelf, pygame.Rect(i, 701, width, height))
|
||||
|
||||
class Forklift:
|
||||
def __init__(self):
|
||||
self.image = pygame.image.load('resources/images.png').convert_alpha()
|
||||
self.x = 50
|
||||
self.y = 350
|
||||
|
||||
def drawForklift(self):
|
||||
window.blit(self.image, (self.x, self.y))
|
||||
|
||||
class Package:
|
||||
def __init__(self):
|
||||
self.image = pygame.image.load('resources/indeks.png').convert_alpha()
|
||||
self.x = 1150
|
||||
self.y = 350
|
||||
|
||||
def drawPackage(self):
|
||||
window.blit(self.image, (self.x, self.y))
|
||||
|
||||
def run():
|
||||
running = True
|
||||
|
||||
forklift = Forklift()
|
||||
package = Package()
|
||||
|
||||
while running:
|
||||
for event in pygame.event.get():
|
||||
if event.type == KEYDOWN:
|
||||
if event.key == K_RIGHT:
|
||||
forklift.x += TILE_SIZE
|
||||
if event.key == K_LEFT:
|
||||
forklift.x -= TILE_SIZE
|
||||
if event.key == K_UP:
|
||||
forklift.y -= TILE_SIZE
|
||||
if event.key == K_DOWN:
|
||||
forklift.y += TILE_SIZE
|
||||
if event.key == K_ESCAPE:
|
||||
running = False
|
||||
elif event.type == pygame.QUIT:
|
||||
running = False
|
||||
|
||||
window.fill(background)
|
||||
drawGrid()
|
||||
drawShelves()
|
||||
forklift.drawForklift()
|
||||
package.drawPackage()
|
||||
pygame.display.flip()
|
||||
from Program import Program
|
||||
|
||||
if __name__ == "__main__":
|
||||
run()
|
||||
program = Program()
|
||||
program.run()
|
||||
|
BIN
resources/package/1.jpg
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
resources/package/2.jpg
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
resources/package/3.jpg
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
resources/package/4.jpg
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
resources/package/5.jpg
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
resources/package/6.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
resources/package/7.jpg
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
resources/packaging-symbols-set_389832-806_jpg.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |