Skip to content
Snippets Groups Projects
Commit 508cea8a authored by Fabian Heinrich's avatar Fabian Heinrich
Browse files

Salad viz, unlimited orders possible

parent b9058b83
No related branches found
No related tags found
1 merge request!27Resolve "Orders"
Pipeline #44006 passed
...@@ -549,15 +549,18 @@ class PyGameGUI: ...@@ -549,15 +549,18 @@ class PyGameGUI:
self.timer_label.set_text(f"Time remaining: {display_time}") self.timer_label.set_text(f"Time remaining: {display_time}")
def draw_orders(self, state): def draw_orders(self, state):
orders = [ # print(state["orders"])
"Burger", # for o in state["orders"]:
"TomatoSoupPlate", # print(o.meal.name)
"OnionSoupPlate", # orders = [
"OnionSoupPlate", # "Burger",
"OnionSoupPlate", # "TomatoSoupPlate",
"OnionSoupPlate", # "OnionSoupPlate",
] # "OnionSoupPlate",
# "OnionSoupPlate",
# "OnionSoupPlate",
# ]
orders = [o.meal.name for o in state["orders"]]
orders_width = self.game_width - 100 orders_width = self.game_width - 100
orders_height = self.screen_margin orders_height = self.screen_margin
self.orders_screen = pygame.Surface( self.orders_screen = pygame.Surface(
......
...@@ -193,6 +193,12 @@ Burger: ...@@ -193,6 +193,12 @@ Burger:
path: images/burger.png path: images/burger.png
size: 0.8 size: 0.8
Salad:
parts:
- type: image
path: images/salad.png
size: 0.8
TomatoSoup: TomatoSoup:
parts: parts:
- type: image - type: image
......
...@@ -88,6 +88,7 @@ class RandomOrderGeneration(OrderGeneration): ...@@ -88,6 +88,7 @@ class RandomOrderGeneration(OrderGeneration):
return self.create_orders_for_meals( return self.create_orders_for_meals(
random.choices(self.available_meals, k=self.kwargs.num_start_meals), random.choices(self.available_meals, k=self.kwargs.num_start_meals),
now, now,
self.kwargs.sample_on_serving,
) )
def get_orders( def get_orders(
...@@ -100,6 +101,7 @@ class RandomOrderGeneration(OrderGeneration): ...@@ -100,6 +101,7 @@ class RandomOrderGeneration(OrderGeneration):
return self.create_orders_for_meals( return self.create_orders_for_meals(
random.choices(self.available_meals, k=len(new_finished_orders)), random.choices(self.available_meals, k=len(new_finished_orders)),
now, now,
True,
) )
if self.kwargs.sample_on_dur: if self.kwargs.sample_on_dur:
if self.needed_orders: if self.needed_orders:
...@@ -122,16 +124,21 @@ class RandomOrderGeneration(OrderGeneration): ...@@ -122,16 +124,21 @@ class RandomOrderGeneration(OrderGeneration):
) )
return [] return []
def create_orders_for_meals(self, meals: list[Item], now: datetime) -> list[Order]: def create_orders_for_meals(
self, meals: list[Item], now: datetime, no_time_limit: bool = False
) -> list[Order]:
orders = [] orders = []
for meal in meals: for meal in meals:
duration = timedelta( if no_time_limit:
seconds=int( duration = datetime.max - now
getattr(random, self.kwargs.duration_sample["func"])( else:
**self.kwargs.duration_sample["kwargs"] duration = timedelta(
seconds=int(
getattr(random, self.kwargs.duration_sample["func"])(
**self.kwargs.duration_sample["kwargs"]
)
) )
) )
)
log.info(f"Create order for meal {meal} with duration {duration}") log.info(f"Create order for meal {meal} with duration {duration}")
orders.append( orders.append(
Order( Order(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment