Skip to content

Commit 78a44a3

Browse files
fix: StarterFormation
1 parent 251a23b commit 78a44a3

11 files changed

+72
-34
lines changed

src/behaviors/starter_setplay/bhv_starter_setplay.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import TYPE_CHECKING
12
from src.interfaces.IBehavior import IBehavior
23
from src.interfaces.IAgent import IAgent
34
import math
@@ -14,7 +15,9 @@
1415
from src.utils.convertor import Convertor
1516
from src.strategy.starter_strategy import StarterStrategy
1617

17-
18+
if TYPE_CHECKING:
19+
from src.sample_player_agent import SamplePlayerAgent
20+
1821
class BhvStarterSetPlay(IBehavior):
1922
def __init__(self):
2023
pass
@@ -71,10 +74,10 @@ def decision(agent: IAgent):
7174

7275

7376

74-
def get_set_play_dash_power(agent: IAgent):
77+
def get_set_play_dash_power(agent: "SamplePlayerAgent"):
7578
wm = agent.wm
7679
if not wm.is_our_set_play:
77-
target_point = StarterStrategy.get_position(agent, wm.self.uniform_number)
80+
target_point = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
7881
if target_point.x > wm.self.position.x:
7982
if (wm.ball.position.x < -30.0 and
8083
target_point.x < wm.ball.position.x):
@@ -146,7 +149,7 @@ def get_avoid_circle_point(wm, target_point,agent:IAgent):
146149
count += 1
147150
return target_point
148151

149-
def is_kicker(agent: IAgent):
152+
def is_kicker(agent: "SamplePlayerAgent"):
150153
wm = agent.wm
151154
min_dist = 10000.0
152155
unum = 0
@@ -157,7 +160,7 @@ def is_kicker(agent: IAgent):
157160
elif i == wm.our_goalie_uniform_number:
158161
continue
159162
else:
160-
h_p:RpcVector2D = StarterStrategy.get_position(agent, i)
163+
h_p:RpcVector2D = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
161164
home_pos = Vector2D(h_p.x, h_p.y)
162165
if(home_pos.dist(ball_position) < min_dist):
163166
min_dist = home_pos.dist(ball_position)
@@ -235,9 +238,9 @@ def is_delaying_tactics_situation(agent: IAgent):
235238
return True
236239
return False
237240

238-
def doBasicTheirSetPlayMove(agent: IAgent):
241+
def doBasicTheirSetPlayMove(agent: "SamplePlayerAgent"):
239242
wm = agent.wm
240-
target = StarterStrategy.get_position(agent, wm.self.uniform_number)
243+
target = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
241244
target_point = Vector2D(target.x, target.y)
242245
ball_position = Vector2D(wm.ball.position.x, wm.ball.position.y)
243246
dash_power = BhvStarterSetPlay.get_set_play_dash_power(agent)

src/behaviors/starter_setplay/bhv_starter_setplay_freekick.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import TYPE_CHECKING
12
import math
23
from src.interfaces.IAgent import IAgent
34
from service_pb2 import *
@@ -12,6 +13,9 @@
1213
from src.strategy.starter_strategy import StarterStrategy
1314
from src.utils.convertor import Convertor
1415

16+
if TYPE_CHECKING:
17+
from src.sample_player_agent import SamplePlayerAgent
18+
1519
class BhvStarterSetPlayFreeKick:
1620
def __init__(self):
1721
pass
@@ -114,10 +118,10 @@ def doKickWait(agent:IAgent):
114118

115119
return []
116120

117-
def do_move(agent:IAgent):
121+
def do_move(agent: "SamplePlayerAgent"):
118122
wm = agent.wm
119123
actions = []
120-
target_point_rpc = StarterStrategy.get_position(agent, wm.self.uniform_number)
124+
target_point_rpc = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
121125
target_point = Convertor.convert_rpc_vector2d_to_vector2d(target_point_rpc)
122126
ball_positions = Convertor.convert_rpc_vector2d_to_vector2d(wm.ball.position)
123127
self_positions = Convertor.convert_rpc_vector2d_to_vector2d(wm.self.position)

src/behaviors/starter_setplay/bhv_starter_setplay_goal_kick.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import TYPE_CHECKING
12
from src.interfaces.IAgent import IAgent
23
from service_pb2 import *
34
from pyrusgeom.vector_2d import Vector2D
@@ -10,6 +11,8 @@
1011
from src.behaviors.bhv_starter_clearball import BhvStarterClearBall
1112
from src.utils.convertor import Convertor
1213

14+
if TYPE_CHECKING:
15+
from src.sample_player_agent import SamplePlayerAgent
1316
class BhvStarterSetPlayGoalKick:
1417
def __init__():
1518
pass
@@ -127,7 +130,7 @@ def do_intercept(agent:IAgent):
127130

128131
return actions
129132

130-
def do_move(agent:IAgent):
133+
def do_move(agent:"SamplePlayerAgent"):
131134
actions = []
132135
actions += BhvStarterSetPlayGoalKick.do_intercept(agent)
133136
from src.behaviors.starter_setplay.bhv_starter_setplay import BhvStarterSetPlay
@@ -136,7 +139,7 @@ def do_move(agent:IAgent):
136139
dash_power = BhvStarterSetPlay.get_set_play_dash_power(agent)
137140
dist_thr = max(wm.ball.dist_from_self * 0.07, 1.0)
138141

139-
target_rpc = StarterStrategy.get_position(agent, wm.self.uniform_number)
142+
target_rpc = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
140143
target_point = Vector2D(target_rpc.x, target_rpc.y)
141144
target_point.set_y(target_point.y() + wm.ball.position.y * 0.5)
142145

src/behaviors/starter_setplay/bhv_starter_setplay_indirect_freekick.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import TYPE_CHECKING
12
import math
23
from src.interfaces.IAgent import IAgent
34
from service_pb2 import *
@@ -16,6 +17,8 @@
1617
import math
1718
from src.utils.convertor import Convertor
1819

20+
if TYPE_CHECKING:
21+
from src.sample_player_agent import SamplePlayerAgent
1922
class BhvStarterSetPlayIndirectFreeKick:
2023
def __init__(self):
2124
pass
@@ -198,10 +201,10 @@ def get_avoid_circle_point(self, agent: IAgent, point: Vector2D):
198201
from src.behaviors.starter_setplay.bhv_starter_setplay import BhvStarterSetPlay
199202
return BhvStarterSetPlay.get_avoid_circle_point(wm, point)
200203

201-
def do_offense_move(agent: IAgent):
204+
def do_offense_move(agent: "SamplePlayerAgent"):
202205
wm = agent.wm
203206
actions = []
204-
target_point = StarterStrategy.get_position(agent, wm.self.uniform_number)
207+
target_point = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
205208
target_point.x = min(wm.offside_line_x - 1.0, target_point.x)
206209
target_point_vector2d = Vector2D(target_point.x, target_point.y)
207210

@@ -234,14 +237,14 @@ def do_offense_move(agent: IAgent):
234237

235238
return actions
236239

237-
def do_defense_move(agent: IAgent):
240+
def do_defense_move(agent: "SamplePlayerAgent"):
238241
actions = []
239242
SP = agent.server_params
240243
wm = agent.wm
241244
ball_position = Vector2D(wm.ball.position.x, wm.ball.position.y)
242245
self_position = Vector2D(wm.self.position.x, wm.self.position.y)
243246
self_velocity = Vector2D(wm.self.velocity.x, wm.self.velocity.y)
244-
target = StarterStrategy.get_position(agent, wm.self.uniform_number)
247+
target = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
245248
target_point = Vector2D(target.x, target.y)
246249
adjusted_point = BhvStarterSetPlayIndirectFreeKick.get_avoid_circle_point(agent, target_point)
247250

src/behaviors/starter_setplay/bhv_starter_setplay_kickin.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import TYPE_CHECKING
12
import math
23
from src.interfaces.IAgent import IAgent
34
from service_pb2 import *
@@ -10,6 +11,9 @@
1011
#from src.setplay.BhvSetPlay import BhvSetPlay
1112
from src.strategy.starter_strategy import StarterStrategy
1213
from src.utils.convertor import Convertor
14+
15+
if TYPE_CHECKING:
16+
from src.sample_player_agent import SamplePlayerAgent
1317
class BhvStarterSetPlayKickIn:
1418

1519
def __init__():
@@ -119,11 +123,11 @@ def do_kick_wait(agent: IAgent) -> bool:
119123

120124
return actions
121125

122-
def do_move(agent: IAgent):
126+
def do_move(agent: "SamplePlayerAgent"):
123127
wm = agent.wm
124128
actions = []
125129
ball_position = Vector2D(wm.ball.position.x, wm.ball.position.y)
126-
target = StarterStrategy.get_position(agent, wm.self.uniform_number)
130+
target = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
127131
target_point = Vector2D(target.x, target.y)
128132
avoid_opponent = False
129133

src/behaviors/starter_setplay/bhv_starter_setplay_kickoff.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import TYPE_CHECKING
12
from src.interfaces.IAgent import IAgent
23
#from src.setplay.BhvGoToPlacedBall import BhvGoToPlacedBall
34
#from src.setplay.BhvSetPlay import BhvSetPlay
@@ -8,6 +9,8 @@
89
from src.strategy.starter_strategy import StarterStrategy
910
from src.utils.convertor import Convertor
1011

12+
if TYPE_CHECKING:
13+
from src.sample_player_agent import SamplePlayerAgent
1114
class BhvStarterSetPlayKickOff:
1215
def __init__(self):
1316
pass
@@ -101,10 +104,10 @@ def do_kick_wait(agent: IAgent) -> bool:
101104
return actions
102105
return actions
103106

104-
def do_move(agent: IAgent):
107+
def do_move(agent: "SamplePlayerAgent"):
105108
wm = agent.wm
106109
actions = []
107-
target = StarterStrategy.get_position(agent, wm.self.uniform_number)
110+
target = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
108111
target_point = Vector2D(target.x, target.y)
109112
target_point.set_x(min(-0.5, target_point.x()))
110113
from src.behaviors.starter_setplay.bhv_starter_setplay import BhvStarterSetPlay

src/behaviors/starter_setplay/bhv_starter_their_goal_kick_move.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import TYPE_CHECKING
12
from src.interfaces.IAgent import IAgent
23
#from src.setplay.BhvSetPlay import BhvSetPlay
34
from service_pb2 import *
@@ -11,6 +12,8 @@
1112
from pyrusgeom.angle_deg import AngleDeg
1213
from src.utils.convertor import Convertor
1314

15+
if TYPE_CHECKING:
16+
from src.sample_player_agent import SamplePlayerAgent
1417
class BhvStarterTheirGoalKickMove:
1518
def __init__(self):
1619
pass
@@ -69,12 +72,12 @@ def execute(agent: IAgent) -> bool:
6972

7073
return actions
7174

72-
def do_normal(agent: IAgent):
75+
def do_normal(agent: "SamplePlayerAgent"):
7376
wm = agent.wm
7477
actions = []
7578
from src.behaviors.starter_setplay.bhv_starter_setplay import BhvStarterSetPlay
7679
dash_power = BhvStarterSetPlay.get_set_play_dash_power(agent)
77-
targ = StarterStrategy.get_position(agent, wm.self.uniform_number)
80+
targ = Convertor.convert_vector2d_to_rpc_vector2d(agent.strategy.get_position(wm.self.uniform_number, agent))
7881
target_point = Vector2D(targ.x, targ.y)
7982

8083
# Attract to ball

src/decision_makers/move_decision_maker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def make_decision(self, agent: "SamplePlayerAgent"):
7676
if self.bhv_block.execute(agent):
7777
return
7878

79-
target_point = agent.strategy.get_position(wm.self.uniform_number)
79+
target_point = agent.strategy.get_position(wm.self.uniform_number, agent)
8080
dash_power = MoveDecisionMaker.get_normal_dash_power(agent)
8181

8282
ball_pos = Convertor.convert_rpc_vector2d_to_vector2d(wm.ball.position)

src/decision_makers/penalty_decision_maker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from src.interfaces.IDecisionMaker import IDecisionMaker
33
from src.interfaces.IAgent import IAgent
44
from service_pb2 import *
5-
# from src.behaviors.bhv_penalty import BhvPenalty
5+
from src.behaviors.bhv_penalty import BhvPenalty
66
from src.behaviors.bhv_starter_penalty import BhvStarterPenalty
77

88
if TYPE_CHECKING:

src/sample_player_agent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def __init__(self, logger) -> None:
1111
super().__init__(logger)
1212
self.logger.info('SamplePlayerAgent created')
1313

14-
self.use_starter_code = False
14+
self.use_starter_code = True
1515

1616
self.decision_maker = DecisionMaker(self)
1717
self.strategy = FormationStrategy(self.logger) if not self.use_starter_code else StarterStrategy(self.logger)

0 commit comments

Comments
 (0)