# Path: chess_py/core/color.py
# class Color:
#     def __init__(self, raw):
#     def from_string(cls, string):
#     def __repr__(self):
#     def __str__(self):
#     def __bool__(self):
#     def __int__(self):
#     def __key(self):
#     def __hash__(self):
#     def __neg__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):


from ..core import color
# -*- coding: utf-8 -*-

"""
Static methods which check to see if
game is over, and if a King is checkmated.

Copyright © 2016 Aubhro Sengupta. All rights reserved.
"""



def no_moves(position):
    """
    Finds if the game is over.

    :type: position: Board
    :rtype: bool
    """
    return position.no_moves(color.white) \

# Path: chess_py/core/color.py
# class Color:
#     def __init__(self, raw):
#     def from_string(cls, string):
#     def __repr__(self):
#     def __str__(self):
#     def __bool__(self):
#     def __int__(self):
#     def __key(self):
#     def __hash__(self):
#     def __neg__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):


# Path: chess_py/game/game_state.py
from ..core import color

# -*- coding: utf-8 -*-

"""
Static methods which check to see if
game is over, and if a King is checkmated.

Copyright © 2016 Aubhro Sengupta. All rights reserved.
"""



def no_moves(position):
    """
    Finds if the game is over.

    :type: position: Board
    :rtype: bool
    """
    return position.no_moves(color.white) \

        or position.no_moves(color.black)