Dodano komentarze
This commit is contained in:
parent
a51cc452fc
commit
6b6341d7c3
@ -24,15 +24,20 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/game.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="402">
|
||||
<caret line="61" column="19" lean-forward="true" selection-start-line="61" selection-start-column="19" selection-end-line="61" selection-end-column="19" />
|
||||
<state relative-caret-position="413">
|
||||
<caret line="58" column="32" selection-start-line="58" selection-start-column="32" selection-end-line="58" selection-end-column="32" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/Images/tableSmall.png">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/gridElement.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@ -42,11 +47,11 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/table.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="176">
|
||||
<caret line="8" column="26" selection-start-line="8" selection-start-column="26" selection-end-line="8" selection-end-column="26" />
|
||||
<state relative-caret-position="506">
|
||||
<caret line="23" column="8" selection-start-line="23" selection-start-column="8" selection-end-line="23" selection-end-column="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -54,8 +59,8 @@
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/pool.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="88">
|
||||
<caret line="4" column="6" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="6" />
|
||||
<state relative-caret-position="176">
|
||||
<caret line="8" column="65" lean-forward="true" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="65" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
@ -75,12 +80,14 @@
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/waiter.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="248">
|
||||
<caret line="254" column="67" lean-forward="true" selection-start-line="254" selection-start-column="67" selection-end-line="254" selection-end-column="67" />
|
||||
<state relative-caret-position="682">
|
||||
<caret line="31" column="71" selection-start-line="31" selection-start-column="71" selection-end-line="31" selection-end-column="71" />
|
||||
<folding>
|
||||
<element signature="e#0#14#0" expanded="true" />
|
||||
<element signature="e#5084#9581#0" />
|
||||
<element signature="e#12891#16593#0" />
|
||||
<element signature="e#5085#9582#0" />
|
||||
<element signature="e#9661#13495#0" />
|
||||
<element signature="e#13574#17411#0" />
|
||||
<element signature="e#17456#17806#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
@ -123,9 +130,9 @@
|
||||
<option value="$PROJECT_DIR$/order.py" />
|
||||
<option value="$PROJECT_DIR$/orderTable.py" />
|
||||
<option value="$PROJECT_DIR$/pool.py" />
|
||||
<option value="$PROJECT_DIR$/table.py" />
|
||||
<option value="$PROJECT_DIR$/waiter.py" />
|
||||
<option value="$PROJECT_DIR$/game.py" />
|
||||
<option value="$PROJECT_DIR$/table.py" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -264,19 +271,20 @@
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.21443625" />
|
||||
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.13382508" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info id="Favorites" order="2" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Find" order="1" weight="0.32936078" />
|
||||
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.49894625" weight="0.2979415" />
|
||||
<window_info active="true" anchor="bottom" id="Run" order="2" sideWeight="0.49894625" visible="true" weight="0.2979415" />
|
||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.2713348" />
|
||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||
<window_info anchor="bottom" id="TODO" order="6" weight="0.32936078" />
|
||||
<window_info anchor="bottom" id="Version Control" order="7" sideWeight="0.49947312" weight="0.32936078" />
|
||||
<window_info active="true" anchor="bottom" id="Terminal" order="8" visible="true" weight="0.32936078" />
|
||||
<window_info anchor="bottom" id="Terminal" order="8" weight="0.32936078" />
|
||||
<window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.50105375" side_tool="true" weight="0.32936078" />
|
||||
<window_info anchor="bottom" id="Python Console" order="10" weight="0.32936078" />
|
||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
||||
@ -391,9 +399,6 @@
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/run.py" />
|
||||
<entry file="file://$PROJECT_DIR$/Images/tableSmall.png">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Images/water.jpg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
@ -424,6 +429,13 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/order.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="132">
|
||||
<caret line="6" selection-start-line="6" selection-end-line="6" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/orderTable.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="374">
|
||||
@ -431,19 +443,26 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/table.py">
|
||||
<entry file="file://$PROJECT_DIR$/game.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="176">
|
||||
<caret line="8" column="26" selection-start-line="8" selection-start-column="26" selection-end-line="8" selection-end-column="26" />
|
||||
<state relative-caret-position="413">
|
||||
<caret line="58" column="32" selection-start-line="58" selection-start-column="32" selection-end-line="58" selection-end-column="32" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pool.py">
|
||||
<entry file="file://$PROJECT_DIR$/Images/tableSmall.png">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/waiter.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="88">
|
||||
<caret line="4" column="6" selection-start-line="4" selection-start-column="6" selection-end-line="4" selection-end-column="6" />
|
||||
<state relative-caret-position="682">
|
||||
<caret line="31" column="71" selection-start-line="31" selection-start-column="71" selection-end-line="31" selection-end-column="71" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
<element signature="e#0#14#0" expanded="true" />
|
||||
<element signature="e#5085#9582#0" />
|
||||
<element signature="e#9661#13495#0" />
|
||||
<element signature="e#13574#17411#0" />
|
||||
<element signature="e#17456#17806#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
@ -455,29 +474,20 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/waiter.py">
|
||||
<entry file="file://$PROJECT_DIR$/pool.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="248">
|
||||
<caret line="254" column="67" lean-forward="true" selection-start-line="254" selection-start-column="67" selection-end-line="254" selection-end-column="67" />
|
||||
<state relative-caret-position="176">
|
||||
<caret line="8" column="65" lean-forward="true" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="65" />
|
||||
<folding>
|
||||
<element signature="e#0#14#0" expanded="true" />
|
||||
<element signature="e#5084#9581#0" />
|
||||
<element signature="e#12891#16593#0" />
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/order.py">
|
||||
<entry file="file://$PROJECT_DIR$/table.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="132">
|
||||
<caret line="6" selection-start-line="6" selection-end-line="6" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/game.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="402">
|
||||
<caret line="61" column="19" lean-forward="true" selection-start-line="61" selection-start-column="19" selection-end-line="61" selection-end-column="19" />
|
||||
<state relative-caret-position="506">
|
||||
<caret line="23" column="8" selection-start-line="23" selection-start-column="8" selection-end-line="23" selection-end-column="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
|
BIN
Images/stolik.png
Normal file
BIN
Images/stolik.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.5 KiB |
Binary file not shown.
Binary file not shown.
28
game.py
28
game.py
@ -27,6 +27,7 @@ class Game(object):
|
||||
self.row = []
|
||||
self.tableList = []
|
||||
|
||||
# TWORZENIE ELEMENTÓW PLANSZY
|
||||
for b in range(self.y):
|
||||
for i in range(self.x):
|
||||
if ((i == 0) or (i == 9)) and ((b == 0) or (b == 6)):
|
||||
@ -40,8 +41,8 @@ class Game(object):
|
||||
self.row.append(self.waiter)
|
||||
self.waiterNumberInGrid.x = i
|
||||
self.waiterNumberInGrid.y = b
|
||||
elif (((((b > 0 and b < 6) and (i > 0 and i < 9)) and not((i==1 or i == 8) and (b==1 or b==5))) \
|
||||
or (b>6 and (i<4 or i > 5) ))) and not i == 4:
|
||||
elif (((((b > 0 and b < 6) and (i > 0 and i < 9)) and not((i == 1 or i == 8) and (b == 1 or b == 5))) \
|
||||
or (b > 6 and (i < 4 or i > 5)))) and not i == 4 and not (b == 3):
|
||||
self.row.append(Pool(i * 50, b * 50, self))
|
||||
else:
|
||||
self.row.append(GridElement(i * 50, b * 50, self))
|
||||
@ -54,11 +55,12 @@ class Game(object):
|
||||
|
||||
#self.dfs(self.waiter, 3, [])
|
||||
|
||||
#self.bfs(self.waiter, 1, [])
|
||||
self.bfs(self.waiter, 3, [])
|
||||
self.bfs(self.waiter, 1, [])
|
||||
self.bfs(self.waiter, 4, [])
|
||||
|
||||
#path = self.waiter.bfsFind([self.waiter.positionX, self.waiter.positionY], [], 1)
|
||||
|
||||
# GŁÓWNA PĘTLA GRY
|
||||
while True:
|
||||
|
||||
for event in pygame.event.get():
|
||||
@ -72,6 +74,7 @@ class Game(object):
|
||||
#print(self.waiterNumberInGrid)
|
||||
self.fpsClock.tick(10)
|
||||
|
||||
# WYRYSOWANIE KAZDEGO ELEMENTU Z GRIDU NA EKRAN
|
||||
def draw(self):
|
||||
tempTable = []
|
||||
for row in self.grid:
|
||||
@ -96,6 +99,7 @@ class Game(object):
|
||||
elif object.type == "pool":
|
||||
return 'P'
|
||||
|
||||
|
||||
def showGrid(self, grid):
|
||||
charakterList = []
|
||||
row = []
|
||||
@ -104,24 +108,28 @@ class Game(object):
|
||||
charakterList.append(row)
|
||||
print(row)
|
||||
|
||||
# ZNAJDUJE NAJKRÓTSZĄ ŚCIEŻKĘ DFS I PRZECHODZI WEDŁUG LISTY KROKÓW
|
||||
def dfs(self, waiter, soughtID, operation=[]):
|
||||
visited = []
|
||||
waiter.dfsFind([waiter.positionX, waiter.positionY], operation, visited, soughtID)
|
||||
paths = waiter.dfsPaths
|
||||
paths.sort(key=len)
|
||||
print("Wszystkie sciezki dfs: ", paths)
|
||||
bestPath = paths[0]
|
||||
waiter.dfsPaths = []
|
||||
waiter.followThePath(bestPath)
|
||||
if paths:
|
||||
bestPath = paths[0]
|
||||
waiter.dfsPaths = []
|
||||
waiter.followThePath(bestPath)
|
||||
|
||||
# ZNAJDUJE NAJKRÓTSZĄ ŚCIEŻKĘ BFS I PRZECHODZI WEDŁUG LISTY KROKÓW
|
||||
def bfs(self, waiter, soughtID, operation=[]):
|
||||
waiter.bfsFind([waiter.positionX, waiter.positionY], operation, [], soughtID)
|
||||
paths = waiter.bfsPaths
|
||||
paths.sort(key=len)
|
||||
print("Wszystkie sciezki bfs: ", paths)
|
||||
bestPath = paths[0]
|
||||
waiter.bfsPaths = []
|
||||
waiter.followThePath(bestPath)
|
||||
if paths:
|
||||
bestPath = paths[0]
|
||||
waiter.bfsPaths = []
|
||||
waiter.followThePath(bestPath)
|
||||
|
||||
if __name__ == "__main__":
|
||||
v1 = Game()
|
||||
|
5
table.py
5
table.py
@ -14,10 +14,11 @@ class Table(object):
|
||||
self.isBusy = False
|
||||
self.isClean = True
|
||||
self.id = game.idTable
|
||||
self.image = pygame.image.load("./Images/tableSmall.png")
|
||||
self.image = pygame.image.load("./Images/stolik.png")
|
||||
#self.image = pygame.transform.scale(self.image, (50, 50))
|
||||
self.type = "table"
|
||||
|
||||
def draw(self):
|
||||
self.table = pygame.Rect(self.x, self.y, 50, 50)
|
||||
pygame.draw.rect(self.game.screen, (100, 0, 100), self.table)
|
||||
#self.game.screen.blit(self.image, (self.x, self.y))
|
||||
self.game.screen.blit(self.image, (self.x, self.y))
|
||||
|
13
waiter.py
13
waiter.py
@ -29,7 +29,7 @@ class Waiter(object):
|
||||
self.bfsQueue = []
|
||||
self.bfsPaths = []
|
||||
|
||||
|
||||
# NIEUZYWANA FUNKCJA ZNAJDOWANIA KELNERA NA PLANSZY; ZWRACA POZYCJĘ KELNERA
|
||||
def findWaiter(self, grid):
|
||||
for y in range(10):
|
||||
for x in range(10):
|
||||
@ -100,7 +100,7 @@ class Waiter(object):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
# SPRAWDZA NACIŚNIĘTE KLAWISZE
|
||||
def move(self, game):
|
||||
keys = pygame.key.get_pressed()
|
||||
|
||||
@ -122,7 +122,7 @@ class Waiter(object):
|
||||
#print(self.lastStep)
|
||||
self.game.screen.blit(self.image, (self.x, self.y))
|
||||
|
||||
|
||||
# SPRAWDZA CZY ELELEMNT, KTORY POBIERAMY NIE JEST SPOZA PLANSZY
|
||||
def isMoveInRange(self, move, position):
|
||||
|
||||
positionX = position[0]
|
||||
@ -141,7 +141,7 @@ class Waiter(object):
|
||||
if positionY == 9:
|
||||
return False
|
||||
return True
|
||||
|
||||
# SPRAWDZA MOZLIWOSCI RUCHU ZGODNIE Z OSTATNIM RUCHEM
|
||||
def checkPoss(self, position, lastOperation):
|
||||
|
||||
stackMove = []
|
||||
@ -232,7 +232,7 @@ class Waiter(object):
|
||||
if collisionObjectRight.type == "gridElement":
|
||||
stackMove.append("Right")
|
||||
return stackMove
|
||||
|
||||
# DFS
|
||||
def dfsFind(self, position, currentOperation, visited, idTable):
|
||||
#print("Sprawdzam czy stolik")
|
||||
|
||||
@ -312,7 +312,7 @@ class Waiter(object):
|
||||
while self.dfsStack:
|
||||
move = self.dfsStack.pop()
|
||||
self.dfsFind(move[0], move[1], move[2], move[3])
|
||||
|
||||
# BFS
|
||||
def bfsFind(self, position, currentOperation, visited, idTable):
|
||||
#print("Sprawdzam czy stolik")
|
||||
|
||||
@ -392,6 +392,7 @@ class Waiter(object):
|
||||
move = self.bfsQueue.pop(0)
|
||||
self.bfsFind(move[0], move[1],move[2], move[3])
|
||||
|
||||
# PORUSZA KELNERA WEDŁUG LISTY KROKOW
|
||||
def followThePath(self, path):
|
||||
for direction in path:
|
||||
if direction == "Left":
|
||||
|
Loading…
Reference in New Issue
Block a user