implementation module Team_Student_Rounds_Assignment /** Implement a solution to the rounds running assignment. Your team consists of one player. Below you only need to change the definition of footballer to your solution. Do not change the position and player identification. Do not change the implementation of base_TeamName_Student_Rounds. */ import Footballer import FootballerFunctions Team_Student_Rounds :: !Home !FootballField -> Team Team_Student_Rounds home field = if (home == West) team (mirror field team) where team = [ {footballer {clubName=club,playerNr=nr} & pos = toPosition (scale x field.flength,scale y field.fwidth)} \\ (x,y) <- positions & nr <- [2..] ] club = base_TeamName_Student_Rounds +++ if (home==West) "_W" "_E" positions = [(-0.49,0.00)] footballer playerID = {defaultFootballer playerID & name = "Peter88", brain = {memory = Void, ai = mind field}} base_TeamName_Student_Rounds :: String base_TeamName_Student_Rounds = "Student Rounds" mind :: !FootballField !(!BrainInput, !Void) -> (!BrainOutput, !Void) mind field (i=:{me}, mm) | y >= (t -o) && x > (~r+o) = (fix {px= ~r,py= t} c) (i, mm) | x <= (~r+o) && y > (~t+o) = (fix {px= ~r,py= ~t} c) (i, mm) | y <= (~t+o) && x < (r -o) = (fix {px= r, py= ~t} c) (i, mm) | x >= (r -o) && y < (t -o) = (fix {px= r, py= t} c) (i, mm) where (x, y, o, c) = (me.pos.px, me.pos.py, m 4.0, m 1.5) t = scale 0.5 field.fwidth r = scale 0.5 field.flength