<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _map_hash(self):
 """Compute a map hash based on a combination of map attributes. - Elevation - Map name - Player names, colors, and civilizations """

        elevation_bytes = bytes([tile.elevation for tile in self._header.map_info.tile])
        map_name_bytes = self._map.name().encode()
        player_bytes = b''
        for _, attributes in self._players():
            player_bytes += (mgz.const.PLAYER_COLORS[attributes.player_color].encode() +
                             attributes.player_name.encode() +
                             mgz.const.CIVILIZATION_NAMES[attributes.civilization].encode())
        return hashlib.sha1(elevation_bytes + map_name_bytes + player_bytes).hexdigest()