fixing-Errors #24
@ -1,4 +1,7 @@
|
||||
[APP]
|
||||
cat = False
|
||||
movement = robot
|
||||
#accept: human, robot
|
||||
#accept: human, robot
|
||||
|
||||
[CONSTANT]
|
||||
NumberOfBananas = 20
|
BIN
decisionTree/decisionTree.jpg
Normal file
BIN
decisionTree/decisionTree.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
29
decisionTree/itemDescription.txt
Normal file
29
decisionTree/itemDescription.txt
Normal file
@ -0,0 +1,29 @@
|
||||
2-10 opakowania po cukierkach
|
||||
11-18 ka逝瞠 zwierz徠
|
||||
19-28 odpady zwierz璚e
|
||||
29-36 skarpetka
|
||||
37-44 kolczyk
|
||||
45 telefon
|
||||
46-48 banan
|
||||
49-57 zabawki
|
||||
58-61 kot
|
||||
62-65 pies
|
||||
66-79 kable
|
||||
80-91 w這sy
|
||||
92-100 szk這
|
||||
101-108 o堯wki
|
||||
109-113 chomik
|
||||
114-122 baterie
|
||||
123-128 resztki owoc闚
|
||||
129-140 etykiety
|
||||
141-149 bransoletki
|
||||
150-158 opakowania od jedzenia
|
||||
159-167 ksi捫ki
|
||||
168-177 papierki
|
||||
178-179 pielucha dzieci璚a
|
||||
180,181 pokrywka
|
||||
182,183 wazon
|
||||
184,185 karm
|
||||
186,187 dziecko
|
||||
188,189 pieni康ze
|
||||
190-198 kapcie
|
@ -24,7 +24,7 @@ class VacuumMoveCommand(Command):
|
||||
tmp = self.world.is_garbage_at(end_x, end_y)
|
||||
if len(tmp) > 0:
|
||||
for t in tmp:
|
||||
if self.vacuum.get_container_filling() < 1000:
|
||||
if self.vacuum.get_container_filling() < 100:
|
||||
self.vacuum.increase_container_filling()
|
||||
self.world.dust[end_x][end_y].remove(t)
|
||||
|
||||
|
@ -13,5 +13,5 @@ class Cat(Entity):
|
||||
self.busy = False
|
||||
self.sleeping = False
|
||||
self.direction = 0
|
||||
|
||||
self.props = [4,2,20,0,1,32,37,5]
|
||||
|
||||
self.properties = [4, 2, 20, 0, 1, 32, 37, 5]
|
||||
|
@ -5,4 +5,4 @@ from domain.world import World
|
||||
class Earring(Entity):
|
||||
def __init__(self, x: int, y: int):
|
||||
super().__init__(x, y, "EARRING")
|
||||
self.props = [1,9,0,1,0,1,20,0]
|
||||
self.properties = [1, 9, 0, 1, 0, 1, 20, 0]
|
||||
|
@ -6,6 +6,6 @@ class Garbage(Entity):
|
||||
super().__init__(x, y, "PEEL")
|
||||
self.wet = False
|
||||
self.size = 0
|
||||
self.props = [2,2,0,0,1,4,24,1]
|
||||
self.properties = [2, 2, 0, 0, 1, 4, 24, 1]
|
||||
|
||||
# TODO GARBAGE: add more properties
|
||||
|
@ -11,7 +11,7 @@ class Vacuum(Entity):
|
||||
self.container_filling = 0
|
||||
|
||||
def increase_container_filling(self) -> None:
|
||||
self.container_filling += 25
|
||||
self.container_filling += 5
|
||||
|
||||
def dump_trash(self) -> None:
|
||||
self.container_filling = 0
|
||||
|
@ -4,7 +4,7 @@ from domain.entities.entity import Entity
|
||||
|
||||
class World:
|
||||
def __init__(self, width: int, height: int) -> object:
|
||||
self.costs = [[1000 for j in range(height)] for i in range(width)]
|
||||
self.costs = [[1 for j in range(height)] for i in range(width)]
|
||||
self.width = width
|
||||
self.height = height
|
||||
self.dust = [[[] for j in range(height)] for i in range(width)]
|
||||
@ -35,7 +35,7 @@ class World:
|
||||
def is_garbage_at(self, x: int, y: int):
|
||||
if len(self.dust[x][y]) == 0:
|
||||
return []
|
||||
return [i for i in self.dust[x][y] if evaluate([i.props])[0] == 1]
|
||||
return [i for i in self.dust[x][y] if evaluate([i.properties])[0] == 1]
|
||||
|
||||
def is_docking_station_at(self, x: int, y: int) -> bool:
|
||||
return bool(self.doc_station.x == x and self.doc_station.y == y)
|
||||
@ -53,5 +53,6 @@ class World:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
def get_cost(self, x, y):
|
||||
return self.costs[x][y]
|
||||
return self.costs[x][y]
|
||||
|
21
main.py
21
main.py
@ -13,9 +13,10 @@ from domain.entities.earring import Earring
|
||||
from domain.entities.docking_station import Doc_Station
|
||||
from domain.world import World
|
||||
from view.renderer import Renderer
|
||||
|
||||
# from AI_brain.movement import GoAnyDirectionBFS, State
|
||||
# from AI_brain.rotate_and_go_bfs import RotateAndGoBFS, State
|
||||
from AI_brain.rotate_and_go_astar import RotateAndGoAStar, State
|
||||
from AI_brain.rotate_and_go_aStar import RotateAndGoAStar, State
|
||||
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
@ -97,12 +98,20 @@ class Main:
|
||||
def handle_action2(self, action):
|
||||
if action == "GO":
|
||||
self.commands.append(
|
||||
VacuumMoveCommand(self.world, self.world.vacuum, self.world.vacuum.direction)
|
||||
VacuumMoveCommand(
|
||||
self.world, self.world.vacuum, self.world.vacuum.direction
|
||||
)
|
||||
)
|
||||
elif action == "RR":
|
||||
self.world.vacuum.direction = (-self.world.vacuum.direction[1], self.world.vacuum.direction[0])
|
||||
self.world.vacuum.direction = (
|
||||
-self.world.vacuum.direction[1],
|
||||
self.world.vacuum.direction[0],
|
||||
)
|
||||
elif action == "RL":
|
||||
self.world.vacuum.direction = (self.world.vacuum.direction[1], -self.world.vacuum.direction[0])
|
||||
self.world.vacuum.direction = (
|
||||
self.world.vacuum.direction[1],
|
||||
-self.world.vacuum.direction[0],
|
||||
)
|
||||
|
||||
def process_input(self):
|
||||
for event in pygame.event.get():
|
||||
@ -136,7 +145,7 @@ class Main:
|
||||
|
||||
def generate_world(tiles_x: int, tiles_y: int) -> World:
|
||||
world = World(tiles_x, tiles_y)
|
||||
for _ in range(35):
|
||||
for _ in range(config.getint("CONSTANT", "NumberOfBananas")):
|
||||
temp_x = randint(0, tiles_x - 1)
|
||||
temp_y = randint(0, tiles_y - 1)
|
||||
world.add_entity(Garbage(temp_x, temp_y))
|
||||
@ -153,7 +162,6 @@ def generate_world(tiles_x: int, tiles_y: int) -> World:
|
||||
world.add_entity(Earring(9, 7))
|
||||
world.add_entity(Earring(5, 5))
|
||||
world.add_entity(Earring(4, 6))
|
||||
|
||||
|
||||
for x in range(world.width):
|
||||
for y in range(world.height):
|
||||
@ -163,6 +171,7 @@ def generate_world(tiles_x: int, tiles_y: int) -> World:
|
||||
world.costs[x][y] = 10
|
||||
return world
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = Main()
|
||||
if config["APP"]["movement"] == "human":
|
||||
|
Loading…
Reference in New Issue
Block a user