initial framework added
[fp1415-soccerfun.git] / src / StdTeam / Team_Opponent_DeepPass_Assignment.icl
1 implementation module Team_Opponent_DeepPass_Assignment
2
3 import StdEnvExt
4 import Team
5 from Buffer import buffer
6
7 Team_Opponent_DeepPass :: !Home FootballField -> Team
8 Team_Opponent_DeepPass home field
9 = map tagName fielders
10 where
11 club = base_TeamName_Opponent_DeepPass +++ if (home == West) "_W" "_E"
12 fielders = getFielders club home field
13
14 base_TeamName_Opponent_DeepPass :: String
15 base_TeamName_Opponent_DeepPass = "Opp_Deep_Pass"
16
17 getFielders :: String Home FootballField -> [Footballer]
18 getFielders club home field
19 # buf1 = {buffer field home south {clubName=club,playerNr=2 } & pos={px=scale 0.07 field.flength, py=scale 0.40 field.fwidth}}
20 # buf2 = {buffer field home south {clubName=club,playerNr=3 } & pos={px=scale 0.12 field.flength, py=scale 0.08 field.fwidth}}
21 # buf3 = {buffer field home north {clubName=club,playerNr=4 } & pos={px=scale 0.06 field.flength, py=scale 0.00 field.fwidth}}
22 # buf4 = {buffer field home south {clubName=club,playerNr=5 } & pos={px=scale 0.11 field.flength, py=scale -0.20 field.fwidth}}
23 # buf5 = {buffer field home north {clubName=club,playerNr=6 } & pos={px=scale 0.12 field.flength, py=scale 0.20 field.fwidth}}
24 # buf6 = {buffer field home south {clubName=club,playerNr=7 } & pos={px=scale 0.13 field.flength, py=scale 0.00 field.fwidth}}
25 # buf7 = {buffer field home south {clubName=club,playerNr=8 } & pos={px=scale 0.10 field.flength, py=scale -0.19 field.fwidth}}
26 # buf8 = {buffer field home north {clubName=club,playerNr=9 } & pos={px=scale 0.15 field.flength, py=scale 0.07 field.fwidth}}
27 # buf9 = {buffer field home north {clubName=club,playerNr=10} & pos={px=scale 0.05 field.flength, py=scale -0.08 field.fwidth}}
28 # buf10 = {buffer field home south {clubName=club,playerNr=11} & pos={px=scale 0.15 field.flength, py=scale 0.22 field.fwidth}}
29 # buf11 = {buffer field home north {clubName=club,playerNr=12} & pos={px=scale 0.08 field.flength, py=scale -0.14 field.fwidth}}
30 # fielders = [buf1,buf2,buf3,buf4,buf5,buf6,buf7,buf8,buf9,buf10,buf11]
31 | home == East = fielders
32 | otherwise = mirror field fielders
33 where
34 (south,north) = if (home == West) (North,South) (South,North)
35
36 tagName :: !Footballer -> Footballer
37 tagName fb=:{playerID,name} = {Footballer | fb & name = name <+++ "_" <+++ playerID.playerNr}