├── .github └── workflows │ ├── build_docs.yml │ ├── pypi_release.yml │ └── test_pytest.yml ├── .gitignore ├── CHANGELOG.md ├── COPYING ├── README.md ├── README.tournament.md ├── check_layout_consistency.py ├── contrib ├── README.txt ├── ci.cfg ├── ci_engine.py └── test_ci_engine.py ├── demo ├── benchmark_game.py └── demo_run_game.py ├── doc ├── Makefile └── source │ ├── .gitignore │ ├── _static │ └── pelita.css │ ├── conf.py │ ├── images │ ├── small-game.png │ └── small-game@2x.png │ ├── index.rst │ └── info.rst ├── pelita ├── __init__.py ├── base_utils.py ├── exceptions.py ├── game.py ├── gamestate_filters.py ├── layout.py ├── maze_generator.py ├── network.py ├── player │ ├── FoodEatingPlayer.py │ ├── RandomExplorerPlayer.py │ ├── RandomPlayers.py │ ├── SmartEatingPlayer.py │ ├── SmartRandomPlayer.py │ ├── StoppingPlayer.py │ ├── __init__.py │ └── base.py ├── scripts │ ├── __init__.py │ ├── pelita_main.py │ ├── pelita_player.py │ ├── pelita_server.py │ ├── pelita_tkviewer.py │ ├── pelita_tournament.py │ └── script_utils.py ├── team.py ├── tournament │ ├── __init__.py │ ├── knockout_mode.py │ └── roundrobin.py ├── ui │ ├── __init__.py │ ├── tk_canvas.py │ ├── tk_sprites.py │ └── tk_viewer.py ├── utils.py └── viewer.py ├── pyproject.toml ├── test ├── demo01_stopping.py ├── demo02_random.py ├── fixtures │ ├── player_bad_team_name.py │ ├── player_import_error.py │ ├── player_long_cleanup.py │ ├── player_move_bad_args.py │ ├── player_move_bad_args_too_many.py │ ├── player_move_bad_type.py │ ├── player_move_bad_value.py │ ├── player_move_division_by_zero.py │ ├── player_move_import_error.py │ ├── player_move_type_error.py │ ├── player_move_value_error.py │ ├── player_no_move.py │ ├── player_no_name.py │ ├── player_syntax_error.py │ ├── remote_dumps_are_written_blue.py │ ├── remote_dumps_are_written_red.py │ ├── remote_dumps_with_failure_bad.py │ ├── remote_dumps_with_failure_good.py │ ├── remote_timeout_blue.py │ └── remote_timeout_red.py ├── test_filter_gamestates.py ├── test_game.py ├── test_layout.layout ├── test_layout.py ├── test_libpelita.py ├── test_maze_generation.py ├── test_network.py ├── test_pelita_player.py ├── test_player_base.py ├── test_players.py ├── test_remote_game.py ├── test_team.py ├── test_tournament.py └── test_utils.py └── tournament.yaml /.github/workflows/build_docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/.github/workflows/build_docs.yml -------------------------------------------------------------------------------- /.github/workflows/pypi_release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/.github/workflows/pypi_release.yml -------------------------------------------------------------------------------- /.github/workflows/test_pytest.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/.github/workflows/test_pytest.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/COPYING -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/README.md -------------------------------------------------------------------------------- /README.tournament.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/README.tournament.md -------------------------------------------------------------------------------- /check_layout_consistency.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/check_layout_consistency.py -------------------------------------------------------------------------------- /contrib/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/contrib/README.txt -------------------------------------------------------------------------------- /contrib/ci.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/contrib/ci.cfg -------------------------------------------------------------------------------- /contrib/ci_engine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/contrib/ci_engine.py -------------------------------------------------------------------------------- /contrib/test_ci_engine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/contrib/test_ci_engine.py -------------------------------------------------------------------------------- /demo/benchmark_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/demo/benchmark_game.py -------------------------------------------------------------------------------- /demo/demo_run_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/demo/demo_run_game.py -------------------------------------------------------------------------------- /doc/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/doc/Makefile -------------------------------------------------------------------------------- /doc/source/.gitignore: -------------------------------------------------------------------------------- 1 | /pelita/ 2 | -------------------------------------------------------------------------------- /doc/source/_static/pelita.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /doc/source/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/doc/source/conf.py -------------------------------------------------------------------------------- /doc/source/images/small-game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/doc/source/images/small-game.png -------------------------------------------------------------------------------- /doc/source/images/small-game@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/doc/source/images/small-game@2x.png -------------------------------------------------------------------------------- /doc/source/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/doc/source/index.rst -------------------------------------------------------------------------------- /doc/source/info.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/doc/source/info.rst -------------------------------------------------------------------------------- /pelita/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/__init__.py -------------------------------------------------------------------------------- /pelita/base_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/base_utils.py -------------------------------------------------------------------------------- /pelita/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/exceptions.py -------------------------------------------------------------------------------- /pelita/game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/game.py -------------------------------------------------------------------------------- /pelita/gamestate_filters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/gamestate_filters.py -------------------------------------------------------------------------------- /pelita/layout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/layout.py -------------------------------------------------------------------------------- /pelita/maze_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/maze_generator.py -------------------------------------------------------------------------------- /pelita/network.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/network.py -------------------------------------------------------------------------------- /pelita/player/FoodEatingPlayer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/player/FoodEatingPlayer.py -------------------------------------------------------------------------------- /pelita/player/RandomExplorerPlayer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/player/RandomExplorerPlayer.py -------------------------------------------------------------------------------- /pelita/player/RandomPlayers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/player/RandomPlayers.py -------------------------------------------------------------------------------- /pelita/player/SmartEatingPlayer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/player/SmartEatingPlayer.py -------------------------------------------------------------------------------- /pelita/player/SmartRandomPlayer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/player/SmartRandomPlayer.py -------------------------------------------------------------------------------- /pelita/player/StoppingPlayer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/player/StoppingPlayer.py -------------------------------------------------------------------------------- /pelita/player/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/player/__init__.py -------------------------------------------------------------------------------- /pelita/player/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/player/base.py -------------------------------------------------------------------------------- /pelita/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pelita/scripts/pelita_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/scripts/pelita_main.py -------------------------------------------------------------------------------- /pelita/scripts/pelita_player.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/scripts/pelita_player.py -------------------------------------------------------------------------------- /pelita/scripts/pelita_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/scripts/pelita_server.py -------------------------------------------------------------------------------- /pelita/scripts/pelita_tkviewer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/scripts/pelita_tkviewer.py -------------------------------------------------------------------------------- /pelita/scripts/pelita_tournament.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/scripts/pelita_tournament.py -------------------------------------------------------------------------------- /pelita/scripts/script_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/scripts/script_utils.py -------------------------------------------------------------------------------- /pelita/team.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/team.py -------------------------------------------------------------------------------- /pelita/tournament/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/tournament/__init__.py -------------------------------------------------------------------------------- /pelita/tournament/knockout_mode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/tournament/knockout_mode.py -------------------------------------------------------------------------------- /pelita/tournament/roundrobin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/tournament/roundrobin.py -------------------------------------------------------------------------------- /pelita/ui/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pelita/ui/tk_canvas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/ui/tk_canvas.py -------------------------------------------------------------------------------- /pelita/ui/tk_sprites.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/ui/tk_sprites.py -------------------------------------------------------------------------------- /pelita/ui/tk_viewer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/ui/tk_viewer.py -------------------------------------------------------------------------------- /pelita/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/utils.py -------------------------------------------------------------------------------- /pelita/viewer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pelita/viewer.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/pyproject.toml -------------------------------------------------------------------------------- /test/demo01_stopping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/demo01_stopping.py -------------------------------------------------------------------------------- /test/demo02_random.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/demo02_random.py -------------------------------------------------------------------------------- /test/fixtures/player_bad_team_name.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_bad_team_name.py -------------------------------------------------------------------------------- /test/fixtures/player_import_error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_import_error.py -------------------------------------------------------------------------------- /test/fixtures/player_long_cleanup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_long_cleanup.py -------------------------------------------------------------------------------- /test/fixtures/player_move_bad_args.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_move_bad_args.py -------------------------------------------------------------------------------- /test/fixtures/player_move_bad_args_too_many.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_move_bad_args_too_many.py -------------------------------------------------------------------------------- /test/fixtures/player_move_bad_type.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_move_bad_type.py -------------------------------------------------------------------------------- /test/fixtures/player_move_bad_value.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_move_bad_value.py -------------------------------------------------------------------------------- /test/fixtures/player_move_division_by_zero.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_move_division_by_zero.py -------------------------------------------------------------------------------- /test/fixtures/player_move_import_error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_move_import_error.py -------------------------------------------------------------------------------- /test/fixtures/player_move_type_error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_move_type_error.py -------------------------------------------------------------------------------- /test/fixtures/player_move_value_error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_move_value_error.py -------------------------------------------------------------------------------- /test/fixtures/player_no_move.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_no_move.py -------------------------------------------------------------------------------- /test/fixtures/player_no_name.py: -------------------------------------------------------------------------------- 1 | # Player without a team name 2 | 3 | def move(b, s): 4 | return b.position -------------------------------------------------------------------------------- /test/fixtures/player_syntax_error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/player_syntax_error.py -------------------------------------------------------------------------------- /test/fixtures/remote_dumps_are_written_blue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/remote_dumps_are_written_blue.py -------------------------------------------------------------------------------- /test/fixtures/remote_dumps_are_written_red.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/remote_dumps_are_written_red.py -------------------------------------------------------------------------------- /test/fixtures/remote_dumps_with_failure_bad.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/remote_dumps_with_failure_bad.py -------------------------------------------------------------------------------- /test/fixtures/remote_dumps_with_failure_good.py: -------------------------------------------------------------------------------- 1 | TEAM_NAME="good" 2 | def move(b, s): 3 | return b.position 4 | -------------------------------------------------------------------------------- /test/fixtures/remote_timeout_blue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/remote_timeout_blue.py -------------------------------------------------------------------------------- /test/fixtures/remote_timeout_red.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/fixtures/remote_timeout_red.py -------------------------------------------------------------------------------- /test/test_filter_gamestates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_filter_gamestates.py -------------------------------------------------------------------------------- /test/test_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_game.py -------------------------------------------------------------------------------- /test/test_layout.layout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_layout.layout -------------------------------------------------------------------------------- /test/test_layout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_layout.py -------------------------------------------------------------------------------- /test/test_libpelita.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_libpelita.py -------------------------------------------------------------------------------- /test/test_maze_generation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_maze_generation.py -------------------------------------------------------------------------------- /test/test_network.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_network.py -------------------------------------------------------------------------------- /test/test_pelita_player.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_pelita_player.py -------------------------------------------------------------------------------- /test/test_player_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_player_base.py -------------------------------------------------------------------------------- /test/test_players.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_players.py -------------------------------------------------------------------------------- /test/test_remote_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_remote_game.py -------------------------------------------------------------------------------- /test/test_team.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_team.py -------------------------------------------------------------------------------- /test/test_tournament.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_tournament.py -------------------------------------------------------------------------------- /test/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/test/test_utils.py -------------------------------------------------------------------------------- /tournament.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ASPP/pelita/HEAD/tournament.yaml --------------------------------------------------------------------------------