Devided, method 'HasGameEnded', to several method : 'HasKingWon', 'CanKingMove', 'IsKingUpLeftMovementAvailable', 'IsKingUpRightMovementAvailable', 'IsKingDownLeftMovementAvailable',
'IsKingDownRightMovementAvaiable',
'HasKingWon' -> checks if games has ended, and then from logic in 'HasGameEnded' returns boolean value if king is winner or not, 'CanKingMove' -> checks if any of king's movements are avaiable , if not returns false,
'IsKingUpRightMovementAvailable' ->presumes that this turn is available, than after several checks, returns if this turn is really avaiable. Same logic for 'IsKingDownLeftMovementAvailable',
'IsKingUpLeftMovementAvailable',
'IsKingDownRightMovementAvailable'