def representation(self) -> DrawingObjects: field = DrawingObjects( rects=[ DrawingRect(top=self.field.playing_area.top,left=self.field.playing_area.left,width=self.field.playing_area.width,height=self.field.playing_area.height, color=Color.WHITE, lines_thickness=3)], circles=[ DrawingCircle( center=self.field.playing_area.center.as_tuple(), radius=10, color=Color.WHITE, line_thickness=2), DrawingCircle( center=self.field.playing_area.center.as_tuple(), radius=75, color=Color.WHITE, line_thickness=2)], lines=[ DrawingLine( begin=self.field.playing_area.midtop.as_tuple(), end=self.field.playing_area.midbottom.as_tuple(), color=Color.WHITE, thickness=2)]) ball = SoccerBallPygameRenderable(soccer_ball=self.field.ball).representation() goal_1 = SoccerGoalPygameRenderable(soccer_goal=self.field.goals['red']).representation() goal_2 = SoccerGoalPygameRenderable(soccer_goal=self.field.goals['blue']).representation() team_1 = SoccerTeamPygameRenderable(team=self.field.teams['red']).representation() team_2 = SoccerTeamPygameRenderable(team=self.field.teams['blue']).representation() regions_list = [] for key, region in self.field.regions.items(): regions_list.append(SoccerRegionPygameRenderable(region).representation()) regions = reduce(lambda repr1, repr2: repr1 + repr2, regions_list) return field + ball + goal_1 + goal_2 + team_1 + team_2 + regions
def representation(self) -> DrawingObjects: return DrawingObjects(rects=[], circles=[ DrawingCircle( center=self.ball.pos.as_tuple(), radius=self.ball.radius, color=Color.BLACK, line_thickness=2) ], lines=[])
def representation(self) -> DrawingObjects: return DrawingObjects(rects=[], circles=[], lines=[ DrawingLine( begin=self.goal.left_post.as_tuple(), end=self.goal.right_post.as_tuple(), color=self.goal.colour, thickness=6) ])
def representation(self) -> DrawingObjects: return DrawingObjects(rects=[ DrawingRect(top=self.region.rect.top, left=self.region.rect.left, width=self.region.rect.width, height=self.region.rect.height, color=Color.WHITE, lines_thickness=1) ], circles=[], lines=[])
def representation(self) -> DrawingObjects: return DrawingObjects( rects=[], circles=[ # actual position DrawingCircle(center=self.player.pos.as_tuple(), radius=self.player.radius, color=self.player.colour, line_thickness=0) ], lines=[ # direction DrawingLine(begin=self.player.pos.as_tuple(), end=self.player.pos.translate_following( ((self.player.radius * 2) * self.player.direction)).as_tuple(), color=self.player.colour, thickness=6) ])