diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..81d39d3
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,2 @@
+# Default ignored files
+/workspace.xml
\ No newline at end of file
diff --git a/.idea/ProjektAI.iml b/.idea/ProjektAI.iml
new file mode 100644
index 0000000..9c88284
--- /dev/null
+++ b/.idea/ProjektAI.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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..ef004d1
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..fb0e061
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..9661ac7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Projekt “Automatyczny kelner ”.pdf b/Projekt “Automatyczny kelner ”.pdf
deleted file mode 100644
index d35dabd..0000000
Binary files a/Projekt “Automatyczny kelner ”.pdf and /dev/null differ
diff --git a/Raport - _Automatyczny kelner_.pdf b/Raport - _Automatyczny kelner_.pdf
new file mode 100644
index 0000000..4bd29e7
Binary files /dev/null and b/Raport - _Automatyczny kelner_.pdf differ
diff --git a/kelner/.idea/kelner.iml b/kelner/.idea/kelner.iml
index 9c88284..f79b4ad 100644
--- a/kelner/.idea/kelner.iml
+++ b/kelner/.idea/kelner.iml
@@ -2,7 +2,7 @@
-
+
diff --git a/kelner/.idea/workspace.xml b/kelner/.idea/workspace.xml
index 5b2d667..ee3e0fa 100644
--- a/kelner/.idea/workspace.xml
+++ b/kelner/.idea/workspace.xml
@@ -1,16 +1,8 @@
-
-
-
-
+
-
-
-
-
-
@@ -36,7 +28,8 @@
-
+
+
@@ -115,6 +108,11 @@
+
+
+
+
+
1584889744892
@@ -182,8 +180,8 @@
file://$PROJECT_DIR$/src/managers/DrawableCollection.py
- 69
-
+ 71
+
@@ -196,6 +194,6 @@
-
+
\ No newline at end of file
diff --git a/kelner/images/Backgroud.png b/kelner/images/Backgroud.png
new file mode 100644
index 0000000..91b5444
Binary files /dev/null and b/kelner/images/Backgroud.png differ
diff --git a/kelner/images/Untitleda.png b/kelner/images/Untitleda.png
new file mode 100644
index 0000000..f9f1991
Binary files /dev/null and b/kelner/images/Untitleda.png differ
diff --git a/kelner/images/check.png b/kelner/images/check.png
new file mode 100644
index 0000000..5058027
Binary files /dev/null and b/kelner/images/check.png differ
diff --git a/kelner/images/drive-download-20200405T181945Z-001.zip b/kelner/images/drive-download-20200405T181945Z-001.zip
new file mode 100644
index 0000000..72d8b64
Binary files /dev/null and b/kelner/images/drive-download-20200405T181945Z-001.zip differ
diff --git a/kelner/images/kelner.png b/kelner/images/kelner.png
new file mode 100644
index 0000000..6e0d499
Binary files /dev/null and b/kelner/images/kelner.png differ
diff --git a/kelner/images/ksiazka.png b/kelner/images/ksiazka.png
new file mode 100644
index 0000000..3cf2a19
Binary files /dev/null and b/kelner/images/ksiazka.png differ
diff --git a/kelner/images/kurczak.png b/kelner/images/kurczak.png
new file mode 100644
index 0000000..22af728
Binary files /dev/null and b/kelner/images/kurczak.png differ
diff --git a/kelner/images/piwo.png b/kelner/images/piwo.png
new file mode 100644
index 0000000..96a207f
Binary files /dev/null and b/kelner/images/piwo.png differ
diff --git a/kelner/images/plate.png b/kelner/images/plate.png
new file mode 100644
index 0000000..6f5173c
Binary files /dev/null and b/kelner/images/plate.png differ
diff --git a/kelner/images/stol.png b/kelner/images/stol.png
new file mode 100644
index 0000000..bc1e476
Binary files /dev/null and b/kelner/images/stol.png differ
diff --git a/kelner/images/wiking_blond.png b/kelner/images/wiking_blond.png
new file mode 100644
index 0000000..ebc4b63
Binary files /dev/null and b/kelner/images/wiking_blond.png differ
diff --git a/kelner/images/wiking_rudy.png b/kelner/images/wiking_rudy.png
new file mode 100644
index 0000000..0c2e26c
Binary files /dev/null and b/kelner/images/wiking_rudy.png differ
diff --git a/kelner/images/wiking_rudy2.png b/kelner/images/wiking_rudy2.png
new file mode 100644
index 0000000..702e5e8
Binary files /dev/null and b/kelner/images/wiking_rudy2.png differ
diff --git a/kelner/main.py b/kelner/main.py
index f99915b..255061b 100644
--- a/kelner/main.py
+++ b/kelner/main.py
@@ -7,14 +7,15 @@ from src.components.Table import Table
from src.managers.TaskManager import TaskManager
#create screen consts
-CellSize = 50 #pixel size of 1 square cell in the grid
+CellSize = 100 #pixel size of 1 square cell in the grid
GridCountX = 15 #number of columns in grid
-GridCountY = 11 #number of rows in grid
+GridCountY = 9 #number of rows in grid
ScreenWidth = CellSize * GridCountX #screen width in pixels
ScreenHeight = CellSize * GridCountY #screen height in pixels
+Offset = 50
#initialize background
-gridBoard = GridBoard(ScreenWidth, ScreenHeight, CellSize)
+gridBoard = GridBoard(ScreenWidth+200, ScreenHeight+200, CellSize)
#initialize drawable objects manager
drawableManager = DrawableCollection()
diff --git a/kelner/src/components/GridBoard.py b/kelner/src/components/GridBoard.py
index 222260b..8f848fc 100644
--- a/kelner/src/components/GridBoard.py
+++ b/kelner/src/components/GridBoard.py
@@ -9,6 +9,7 @@ class GridBoard:
self.__height = height
self.__cellSize = cellSize
self.__screen = pygame.display.set_mode((width, height)) # initialize screen
+ self.Offset = 50
#fills the screen with white and draws grid
def reinitialize(self):
diff --git a/kelner/src/components/Table.py b/kelner/src/components/Table.py
index 54812df..0b6de38 100644
--- a/kelner/src/components/Table.py
+++ b/kelner/src/components/Table.py
@@ -1,6 +1,7 @@
import pygame
from enum import Enum
from .Drawable import Drawable
+import random
class Table(Drawable):
@@ -9,24 +10,71 @@ class Table(Drawable):
Drawable.__init__(self, 0, 0, minX, maxX, minY, maxY, ratio)
self.__order = []
self.__status = Status.NotReady
+ self.ilosc_klientow = random.randint(1,3)
+ self.guest1 = self.getGuest()
+ self.guest2 = self.getGuest()
+ self.guest3 = self.getGuest()
+ self.ksiazka = self.__loadImg('./images/ksiazka.png')
+ self.stol = self.__loadImg('./images/stol.png')
+ self.check = self.__loadImg('./images/check.png')
+ self.plate = self.__loadImg('./images/plate.png')
+ self.Offset = 100
#sets table color based on it's status
def getColor(self):
color = None
if self.__status == Status.NotReady:
- color = self.GREY
+ color = self.__loadImg('./images/stol.png')
elif self.__status == Status.Ready:
- color = self.YELLOW
+ color = self.__loadImg('./images/kelner.png')
elif self.__status == Status.Waiting:
- color = self.RED
+ color = self.__loadImg('./images/kelner.png')
elif self.__status == Status.Served:
- color = self.GREEN
+ color = self.__loadImg('./images/kelner.png')
return color
+ def getGuest(self):
+ guest = None
+ i = random.randint(1,3)
+ if i == 1:
+ guest = self.__loadImg('./images/wiking_blond.png')
+ elif i == 2:
+ guest = self.__loadImg('./images/wiking_rudy.png')
+ elif i == 3:
+ guest = self.__loadImg('./images/wiking_rudy2.png')
+ return guest
+
+ def __loadImg(self, filePath):
+ return pygame.transform.scale((pygame.image.load(filePath)),(140,140))
+
def draw(self, screen):
- pygame.draw.circle(screen, self.getColor(), ((self.getX() * self.getRatio()) + (self.getRatio() // 2),
- (self.getY() * self.getRatio()) + (self.getRatio() // 2)),
- (self.getRatio() // 3))
+ screen.blit(self.stol, (self.getX() * 100-20+self.Offset, self.getY() * 100-20+self.Offset))
+ if self.ilosc_klientow == 1:
+ screen.blit(self.guest1, (self.getX() * 100 - 20+self.Offset, self.getY() * 100 - 60+self.Offset))
+ elif self.ilosc_klientow == 2:
+ screen.blit(self.guest1, (self.getX() * 100 - 62+self.Offset, self.getY() * 100 - 60+self.Offset))
+ screen.blit(self.guest2, (self.getX() * 100 - 20+self.Offset, self.getY() * 100 - 60+self.Offset))
+ elif self.ilosc_klientow == 3:
+ screen.blit(self.guest1, (self.getX() * 100 - 62+self.Offset, self.getY() * 100 - 60+self.Offset))
+ screen.blit(self.guest2, (self.getX() * 100 - 20+self.Offset, self.getY() * 100 - 60+self.Offset))
+ screen.blit(self.guest3, (self.getX() * 100 + 22+self.Offset, self.getY() * 100 - 60+self.Offset))
+
+ if self.__status == Status.NotReady:
+ screen.blit(self.ksiazka, (self.getX() * 100 - 20+self.Offset, self.getY() * 100 - 20+self.Offset))
+ elif self.__status == Status.Ready:
+ screen.blit(self.check, (self.getX() * 100 - 20+self.Offset, self.getY() * 100 - 20+self.Offset))
+ elif self.__status == Status.Waiting:
+ if self.ilosc_klientow == 1:
+ screen.blit(self.plate, (self.getX() * 100 - 20+self.Offset, self.getY() * 100 - 20+self.Offset))
+ elif self.ilosc_klientow == 2:
+ screen.blit(self.plate, (self.getX() * 100 - 62+self.Offset, self.getY() * 100 - 20+self.Offset))
+ screen.blit(self.plate, (self.getX() * 100 - 20+self.Offset, self.getY() * 100 - 20+self.Offset))
+ elif self.ilosc_klientow == 3:
+ screen.blit(self.plate, (self.getX() * 100 - 62+self.Offset, self.getY() * 100 - 20+self.Offset))
+ screen.blit(self.plate, (self.getX() * 100- 20+self.Offset, self.getY() * 100 - 20+self.Offset))
+ screen.blit(self.plate, (self.getX() * 100+ 22+self.Offset, self.getY() * 100 - 20+self.Offset))
+
+
def setOrder(self, order):
self.__order = order
diff --git a/kelner/src/components/Waiter.py b/kelner/src/components/Waiter.py
index 3e6c829..9b64ed0 100644
--- a/kelner/src/components/Waiter.py
+++ b/kelner/src/components/Waiter.py
@@ -6,8 +6,10 @@ class Waiter(Drawable):
def __init__(self, x, y, minX, maxX, minY, maxY, ratio):
#call base class constructor
Drawable.__init__(self, x, y, minX, maxX, minY, maxY, ratio)
- self.__image = self.__loadImg('./images/waiter.png')
+ self.__image = self.__loadImg('./images/kelner.png')
self.__acceptedOrders = []
+ self.Offset = 100
+
def moveUp(self):
if self.getY() > self.getMinY():
@@ -42,7 +44,7 @@ class Waiter(Drawable):
self.__acceptedOrders += [(table, table.getOrder())]
def __loadImg(self, filePath):
- return pygame.image.load(filePath)
+ return pygame.transform.scale((pygame.image.load(filePath)),(140,140))
def draw(self, screen):
- screen.blit(self.__image, (self.getX() * self.getRatio(), self.getY() * self.getRatio()))
\ No newline at end of file
+ screen.blit(self.__image, (self.getX()*100-20+self.Offset, self.getY()*100-20+self.Offset))
diff --git a/kelner/src/managers/DrawableCollection.py b/kelner/src/managers/DrawableCollection.py
index 9350290..9848c68 100644
--- a/kelner/src/managers/DrawableCollection.py
+++ b/kelner/src/managers/DrawableCollection.py
@@ -1,7 +1,7 @@
import random
from src.components.Table import Table, Status
from src.components.Waiter import Waiter
-
+import pygame
#drawable objects manager
class DrawableCollection:
#const, minimal distance between objects
@@ -10,6 +10,7 @@ class DrawableCollection:
def __init__(self):
#collection that holds all drawable objects
self.__drawables = []
+ self.image = pygame.transform.scale((pygame.image.load('./images/Backgroud.png')),(1700,1100))
#adds drawable objects to the collection
def add(self, drawable):
@@ -32,6 +33,7 @@ class DrawableCollection:
#draws all objects stored in collection
def draw(self, screen):
+ screen.blit(self.image, (0, 0))
for item in self.__drawables:
item.draw(screen)