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

Fixed wrong file path while testing

parent 3b74d1fd
No related branches found
No related tags found
1 merge request!2Resolve "2D movement continuous"
E
\ No newline at end of file
from overcooked_simulator.player import Player from overcooked_simulator.player import Player
import sys import sys
from overcooked_simulator.simulation_runner import Simulator from pathlib import Path
from overcooked_simulator.overcooked_environment import Environment
from overcooked_simulator.player import Player
from overcooked_simulator.pygame_gui import PyGameGUI from overcooked_simulator.pygame_gui import PyGameGUI
def main(): def main():
simulator = Simulator(Environment, 300) simulator = Simulator(Path("overcooked_simulator/layouts/basic.layout"), 300)
simulator.register_player(Player("p1", [100, 200])) simulator.register_player(Player("p1", [100, 200]))
simulator.register_player(Player("p2", [200, 100])) simulator.register_player(Player("p2", [200, 100]))
......
...@@ -22,17 +22,18 @@ class Action: ...@@ -22,17 +22,18 @@ class Action:
class Environment: class Environment:
"""Environment class which handles the game logic for the overcooked-inspired environment. """Environment class which handles the game logic for the overcooked-inspired environment.
Handles player movement, collision-detection, counters, cooking processes, recipes, incoming orders, time. Handles player movement, collision-detection, counters, cooking processes, recipes, incoming orders, time.
# TODO Abstract base class for different environments # TODO Abstract base class for different environments
""" """
def __init__(self):
self.players = {} def __init__(self, layout_path):
self.counter_side_length = 40 self.players: dict[str, Player] = {}
self.layout_path = Path("overcooked_simulator/layouts/basic.layout") self.counter_side_length: float = 40
self.counters = self.create_counters(self.layout_path) self.layout_path: Path = layout_path
self.score = 0 self.counters: list[Counter] = self.create_counters(self.layout_path)
self.world_width = 800 self.score: int = 0
self.world_height = 600 self.world_width: int = 800
self.world_height: int = 600
def create_counters(self, layout_file: Path): def create_counters(self, layout_file: Path):
"""Creates layout of kitchen counters in the environment based on layout file. """Creates layout of kitchen counters in the environment based on layout file.
......
...@@ -17,13 +17,12 @@ class Simulator(Thread): ...@@ -17,13 +17,12 @@ class Simulator(Thread):
sim.start() sim.start()
""" """
def __init__(self, env_class: type, frequency: int): def __init__(self, env_layout_path, frequency: int):
self.finished: bool = False self.finished: bool = False
self.step_frequency: int = frequency self.step_frequency: int = frequency
self.prefered_sleeptime_ns: float = 1e9 / self.step_frequency self.prefered_sleeptime_ns: float = 1e9 / self.step_frequency
self.env: Environment = Environment(env_layout_path)
self.env: Environment = env_class()
super().__init__() super().__init__()
......
...@@ -3,11 +3,15 @@ from overcooked_simulator.player import Player ...@@ -3,11 +3,15 @@ from overcooked_simulator.player import Player
from overcooked_simulator.overcooked_environment import Environment, Action from overcooked_simulator.overcooked_environment import Environment, Action
import numpy as np import numpy as np
import time import time
from pathlib import Path
import numpy as np
from overcooked_simulator.counters import Counter from overcooked_simulator.counters import Counter
def test_player_registration(): def test_player_registration():
sim = Simulator(Environment, 200) sim = Simulator(Path("../overcooked_simulator/layouts/basic.layout"), 200)
p1 = Player("player1", np.array([0, 0])) p1 = Player("player1", np.array([0, 0]))
sim.register_player(p1) sim.register_player(p1)
...@@ -38,7 +42,8 @@ def test_simulator_frequency(): ...@@ -38,7 +42,8 @@ def test_simulator_frequency():
frequency = 2000 frequency = 2000
running_time_seconds = 4 running_time_seconds = 4
sim = Simulator(TestEnv, frequency) sim = Simulator(Path("../overcooked_simulator/layouts/basic.layout"), frequency)
sim.env = TestEnv() # Overwrite environment with a simple counting env
sim.start() sim.start()
time.sleep(running_time_seconds) time.sleep(running_time_seconds)
...@@ -52,7 +57,7 @@ def test_simulator_frequency(): ...@@ -52,7 +57,7 @@ def test_simulator_frequency():
def test_collision_detection(): def test_collision_detection():
sim = Simulator(Environment, 200) sim = Simulator(Path("../overcooked_simulator/layouts/empty.layout.layout"), 200)
counter_pos = np.array([50, 100]) counter_pos = np.array([50, 100])
counter = Counter(counter_pos) counter = Counter(counter_pos)
sim.env.counters = [counter] sim.env.counters = [counter]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment