From 5d37ab54dc93d0dc2f698f4ec177d68e1dbfc3a2 Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Thu, 14 Dec 2023 13:55:08 +0330 Subject: [PATCH 1/9] fix coach run --- start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/start.sh b/start.sh index 57635c68..4adcc988 100755 --- a/start.sh +++ b/start.sh @@ -13,4 +13,4 @@ while [ $i -le 11 ] ; do done sleep 2 -python coach_main.py ${1+"$@"} +python base/main_coach.py ${1+"$@"} From 0abe8a18c05d87125a4f592ceb8d1dc9209799fd Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Thu, 14 Dec 2023 13:56:30 +0330 Subject: [PATCH 2/9] fix goalie catch return --- lib/player/player_agent.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/player/player_agent.py b/lib/player/player_agent.py index fcef44b6..0faae291 100644 --- a/lib/player/player_agent.py +++ b/lib/player/player_agent.py @@ -444,6 +444,7 @@ def do_catch(self): return False self._last_body_command.append(self.effector().set_catch()) + return True def do_turn_neck(self, moment: AngleDeg) -> bool: self._last_body_command.append(self._effector.set_turn_neck(moment)) From ebcc82718b51354993695c6225e36a2fb744fb72 Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Thu, 14 Dec 2023 13:57:02 +0330 Subject: [PATCH 3/9] add missing penalty types (crashfix) --- lib/rcsc/types.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/rcsc/types.py b/lib/rcsc/types.py index bf166169..d939e4a6 100644 --- a/lib/rcsc/types.py +++ b/lib/rcsc/types.py @@ -177,6 +177,13 @@ class GameModeType(Enum): PenaltyMiss_Right = "penalty_miss_r" PenaltyScore_Left = "penalty_score_l" PenaltyScore_Right = "penalty_score_r" + PenaltyOnfield_Left = "penalty_onfield_l" + PenaltyOnfield_Right = "penalty_onfield_r" + PenaltyFoul_Left = "penalty_foul_l" + PenaltyFoul_Right = "penalty_foul_r" + PenaltyWinner_Left = "penalty_winner_l" + PenaltyWinner_Right = "penalty_winner_r" + GoalieCatchBall_Left = "goalie_catch_ball_l" GoalieCatchBall_Right = "goalie_catch_ball_r" IllegalDefense_Left = "illegal_defense_l" @@ -231,6 +238,7 @@ def is_catch_fault(self): def is_ind_free_kick(self): return self == GameModeType.IndFreeKick_Left or self == GameModeType.IndFreeKick_Right + def is_penalty_setup(self): return self == GameModeType.PenaltySetup_Left or self == GameModeType.PenaltySetup_Right From e4ab12b4cab7b8f0a00a4f939f05317bb0eb3405 Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Thu, 14 Dec 2023 13:58:54 +0330 Subject: [PATCH 4/9] added vscode to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 696fe4a4..4e00451b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ */__pycache__/ */__pycache__/* *.pyc +.vscode/ venv/ lib/network/__pycache__/udp_socket.cpython-36.pyc lib/Player/__pycache__/ From 4410dcf8c4463836f58e123027fe1af45d295ecd Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Thu, 14 Dec 2023 14:06:07 +0330 Subject: [PATCH 5/9] fix extra empty line print --- lib/player/player_agent.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/player/player_agent.py b/lib/player/player_agent.py index 0faae291..07e833e6 100644 --- a/lib/player/player_agent.py +++ b/lib/player/player_agent.py @@ -336,8 +336,8 @@ def run(self): if self.is_decision_time(timeout_count, waited_msec) or (self._last_decision_time != self._current_time and self.world().see_time() == self._current_time): self.action() self.flush_logs() - if len(message) > 0: - print(pt.get()) + # if len(message) > 0: + # print(pt.get()) self.send_bye_command() def debug_players(self): From 05379a1e936acd5d67c13c5b9921caf8be0d8e2f Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Fri, 15 Dec 2023 09:48:59 +0330 Subject: [PATCH 6/9] fix penalty gamemode typo --- lib/rcsc/game_mode.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rcsc/game_mode.py b/lib/rcsc/game_mode.py index 9600b877..4176243b 100644 --- a/lib/rcsc/game_mode.py +++ b/lib/rcsc/game_mode.py @@ -79,7 +79,7 @@ def is_penalty_kick_mode(self): GameModeType.PenaltyReady_Left, GameModeType.PenaltyReady_Right, GameModeType.PenaltyTaken_Left, - GameModeType.PenaltyReady_Right, + GameModeType.PenaltyTaken_Right, GameModeType.PenaltyMiss_Left, GameModeType.PenaltyMiss_Right, GameModeType.PenaltyScore_Left, From be2d7181bfc1b0d1af87cbf184086539f64fab90 Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Fri, 15 Dec 2023 14:22:11 +0330 Subject: [PATCH 7/9] fix player kill if opponent not visible --- base/generator_shoot.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base/generator_shoot.py b/base/generator_shoot.py index 04247981..c3373dc9 100644 --- a/base/generator_shoot.py +++ b/base/generator_shoot.py @@ -117,6 +117,9 @@ def check_shoot(self, wm: 'WorldModel', target_point: Vector2D, first_ball_speed for o in range(1, 12): opp = wm.their_player(o) + if not opp: + log.sw_log().shoot().add_text("## cant see an opp") + continue if opp.unum() < 1: log.sw_log().shoot().add_text( '## opp {} can not, unum') continue From 55f834c19a12b4623984ac02a240255c95bf0991 Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Fri, 15 Dec 2023 23:30:55 +0330 Subject: [PATCH 8/9] added support for -n arg, number of players --- lib/player/soccer_agent.py | 1 + start.sh | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/player/soccer_agent.py b/lib/player/soccer_agent.py index e170af2f..4e7c2bf2 100644 --- a/lib/player/soccer_agent.py +++ b/lib/player/soccer_agent.py @@ -33,6 +33,7 @@ def parse_arguments(self): parser.add_argument('-g', '--goalie', help='Server Trainer port', action='store_true') + parser.add_argument("-n",help="number of players",type=int,default=11) args = parser.parse_args() if args.team_name: diff --git a/start.sh b/start.sh index 4adcc988..7102564d 100755 --- a/start.sh +++ b/start.sh @@ -1,11 +1,19 @@ #!/bin/sh export PYTHONPATH="${PYTHONPATH}:`pwd`" - +# take argument -n into num_players, with default value 11 +num_players=11 +while getopts n: option +do +case "${option}" +in +n) num_players=${OPTARG};; +esac +done python base/main_player.py -g ${1+"$@"}& sleep 1 i=2 -while [ $i -le 11 ] ; do +while [ $i -le $num_players ] ; do python base/main_player.py ${1+"$@"}& sleep 0.2 From add6eeb4e6acc549a1faa575687457b98fd0f91a Mon Sep 17 00:00:00 2001 From: Arad Firouzkouhi Date: Fri, 15 Dec 2023 23:31:44 +0330 Subject: [PATCH 9/9] fixed crash bug when no opp visible & has ball --- base/generator_action.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/base/generator_action.py b/base/generator_action.py index 964aed07..79948110 100644 --- a/base/generator_action.py +++ b/base/generator_action.py @@ -29,7 +29,10 @@ def __init__(self): def calculate_min_opp_dist(self, wm: 'WorldModel' = None): if wm is None: return 0.0 - return min([opp.pos().dist(self.target_ball_pos) for opp in wm.opponents() if opp is not None and opp.unum() > 0]) + opp_list = [opp.pos().dist(self.target_ball_pos) for opp in wm.opponents() if opp is not None and opp.unum() > 0] + if len(opp_list)==0: + return 9999 + return min(opp_list) def evaluate(self, wm: 'WorldModel' = None): self.min_opp_dist = self.calculate_min_opp_dist(wm)