示例#1
0
    def __init__(self,pitch_name):
        """
        define constructor of class Pitch.
        """
        Logger.info("PITCH: Initializing pitch")
        self.i_min = 42
        self.i_max = 762
        self.j_min = 154
        self.j_max = 562
        self.i_border = 50

        Logger.debug("PITCH: init i_min=%s i_max=%s j_min=%s j_max=%s i_border=%s", str(self.i_min), str(self.i_max),
                     str(self.j_min), str(self.j_max), str(self.i_border))

        goal_width = 150
        j_middle = 0.5 * (self.j_min + self.j_max)
        self.goals = [Goal(self.i_min, j_middle, goal_width),
                      Goal(self.i_max, j_middle, goal_width)]

        # drawable part
        # TODO better pitch image
        Logger.info("PITCH: loading image")
        # self._image = pygame.image.load("resources/graphics/pitch.png")
        self._image = pygame.image.load(pitch_name)
        self._pos = Vector(0, 0)
示例#2
0
    def __init__(self, player_id, pitch):
        """
        initializes Player object and creates underlying Mallet
        :param player_id: defines which player are you creating
        :param pitch: pitch is needed to calculate borders for mallet
        :return:
        """
        if player_id == Player.PLAYER_RED:
            Logger.info("PLAYER: initializing PLAYER_RED")
            self.playerColor = Player.PLAYER_RED
            self._borders = ((pitch.i_min, (pitch.i_min + pitch.i_max) / 2),
                             (pitch.j_min, pitch.j_max))
            self._center = (200, 300)
            self._goal_to_score = pitch.get_right_goal()  # opponent's goal
        else:
            Logger.info("PLAYER: initializing PLAYER_BLUE")
            self.playerColor = Player.PLAYER_BLUE
            self._borders = (((pitch.i_min + pitch.i_max) / 2, pitch.i_max),
                             (pitch.j_min, pitch.j_max))
            self._center = (600, 300)
            self._goal_to_score = pitch.get_left_goal()

        self._points = 0
        self._name = ''
        self._player_id = player_id

        self._mallet = Mallet(20.5, self._center[0], self._center[1], 100,
                              self, self._borders)
示例#3
0
 def addPoint(self):
     """Should be called when player scores a goal."""
     Logger.info("PLAYER: player %s scored a point", str(self.playerColor))
     self._points += 1
     if self._points >= self.MAX_POINTS:
         raise TooManyPointsException