Source code for game.game_logic
# -*- coding: utf-8 -*-
[docs]def possible_moves(cordy_pionka, cord_list_of_bottom_pieces, cord_list_of_top_pieces):
return_dict = dict()
if cordy_pionka in cord_list_of_bottom_pieces:
if (cordy_pionka[0]-1, cordy_pionka[1]+1) not in cord_list_of_top_pieces + cord_list_of_bottom_pieces:
if cordy_pionka[0]-1 >= 0 and cordy_pionka[1]+1 <= 7:
return_dict[(cordy_pionka[0] - 1, cordy_pionka[1] + 1)] = 0
if (cordy_pionka[0]+1, cordy_pionka[1]+1) not in cord_list_of_top_pieces + cord_list_of_bottom_pieces:
if cordy_pionka[0]+1 <= 7 and cordy_pionka[1]+1 <= 7:
return_dict[(cordy_pionka[0] + 1, cordy_pionka[1] + 1)] = 0
else:
if (cordy_pionka[0]-1, cordy_pionka[1]-1) not in cord_list_of_top_pieces + cord_list_of_bottom_pieces:
if cordy_pionka[0]-1 >= 0 and cordy_pionka[1]-1 >= 0:
return_dict[(cordy_pionka[0] - 1, cordy_pionka[1] - 1)] = 0
if (cordy_pionka[0]+1, cordy_pionka[1]-1) not in cord_list_of_top_pieces + cord_list_of_bottom_pieces:
if cordy_pionka[0]+1 <= 7 and cordy_pionka[1]-1 >= 0:
return_dict[(cordy_pionka[0] + 1, cordy_pionka[1] - 1)] = 0
return return_dict
[docs]def possible_attacks(cordy_pionka, cord_list_of_bottom_pieces, cord_list_of_top_pieces):
if cordy_pionka in cord_list_of_bottom_pieces:
przeciwnik = cord_list_of_top_pieces
else:
przeciwnik = cord_list_of_bottom_pieces
wszystkie = cord_list_of_bottom_pieces + cord_list_of_top_pieces
return_dict = dict()
if (cordy_pionka[0] - 1, cordy_pionka[1] + 1) in przeciwnik and (cordy_pionka[0] - 2, cordy_pionka[1] + 2) not in wszystkie:
if cordy_pionka[0] - 2 >= 0 and cordy_pionka[1] + 2 <= 7:
return_dict[(cordy_pionka[0] - 2, cordy_pionka[1] + 2)] = (cordy_pionka[0] - 1, cordy_pionka[1] + 1)
if (cordy_pionka[0] + 1, cordy_pionka[1] + 1) in przeciwnik and (cordy_pionka[0] + 2, cordy_pionka[1] + 2) not in wszystkie:
if cordy_pionka[0] + 2 <= 7 and cordy_pionka[1] + 2 <= 7:
return_dict[(cordy_pionka[0] + 2, cordy_pionka[1] + 2)] = (cordy_pionka[0] + 1, cordy_pionka[1] + 1)
if (cordy_pionka[0] + 1, cordy_pionka[1] - 1) in przeciwnik and (cordy_pionka[0] + 2, cordy_pionka[1] - 2) not in wszystkie:
if cordy_pionka[0] + 2 <= 7 and cordy_pionka[1]-2 >= 0:
return_dict[(cordy_pionka[0] + 2, cordy_pionka[1] - 2)] = (cordy_pionka[0] + 1, cordy_pionka[1] - 1)
if (cordy_pionka[0] - 1, cordy_pionka[1] - 1) in przeciwnik and (cordy_pionka[0] - 2, cordy_pionka[1] - 2) not in wszystkie:
if cordy_pionka[0] - 2 >= 0 and cordy_pionka[1] - 2 >= 0:
return_dict[(cordy_pionka[0] - 2, cordy_pionka[1] - 2)] = (cordy_pionka[0] - 1, cordy_pionka[1] - 1)
return return_dict