# -*- coding: utf-8 -*- # Chess UDF from numpy import genfromtxt # Piece Placement ------------------------------------------------------------- def placement(board): board = genfromtxt('ChessBoard.txt',str) return board # Black Dictionary ------------------------------------------------------------ def black(): B_pawn1 = { 'Row': 1, 'Column': 0, 'Taken?': 'No' } B_pawn2 = { 'Row': 1, 'Column': 1, 'Taken?': 'No' } B_pawn3 = { 'Row': 1, 'Column': 2, 'Taken?': 'No' } B_pawn4 = { 'Row': 1, 'Column': 3, 'Taken?': 'No' } B_pawn5 = { 'Row': 1, 'Column': 4, 'Taken?': 'No' } B_pawn6 = { 'Row': 1, 'Column': 5, 'Taken?': 'No' } B_pawn7 = { 'Row': 1, 'Column': 6, 'Taken?': 'No' } B_pawn8 = { 'Row': 1, 'Column': 7, 'Taken?': 'No' } B_rook1 = { 'Row': 0, 'Column': 0, 'Taken?': 'No'} B_rook2 = { 'Row': 0, 'Column': 7, 'Taken?': 'No'} B_knight1 = { 'Row': 0, 'Column': 1, 'Taken?': 'No'} B_knight2 = { 'Row': 0, 'Column': 6, 'Taken?': 'No'} B_bishop1 = { 'Row': 0, 'Column': 2, 'Taken?': 'No'} B_bishop2 = { 'Row': 0, 'Column': 5, 'Taken?': 'No'} B_queen = { 'Row': 0, 'Column': 3, 'Taken?': 'No'} B_king = { 'Row': 0, 'Column': 4, 'Taken?': 'No'} Pawns = { 'Pawn 1': B_pawn1, 'Pawn 2': B_pawn2, 'Pawn 3': B_pawn3, 'Pawn 4': B_pawn4, 'Pawn 5': B_pawn5, 'Pawn 6': B_pawn6, 'Pawn 7': B_pawn7, 'Pawn 8': B_pawn8 } Rooks = { 'Rook 1': B_rook1, 'Rook 2': B_rook2 } Knights = { 'Knight 1': B_knight1, 'Knight 2': B_knight2 } Bishops = { 'Bishop 1': B_bishop1, 'Bishop 2': B_bishop2 } Queen = { 'Queen': B_queen } King = { 'King': B_king } Black = { 'Pawns': Pawns, 'Rooks': Rooks, 'Knights': Knights, 'Bishops': Bishops, 'Queen': Queen, 'King': King } return Black # White Dictionary ------------------------------------------------------------ def white(): W_pawn1 = { 'Row': 6, 'Column': 0, 'Taken?': 'No' } W_pawn2 = { 'Row': 6, 'Column': 1, 'Taken?': 'No' } W_pawn3 = { 'Row': 6, 'Column': 2, 'Taken?': 'No' } W_pawn4 = { 'Row': 6, 'Column': 3, 'Taken?': 'No' } W_pawn5 = { 'Row': 6, 'Column': 4, 'Taken?': 'No' } W_pawn6 = { 'Row': 6, 'Column': 5, 'Taken?': 'No' } W_pawn7 = { 'Row': 6, 'Column': 6, 'Taken?': 'No' } W_pawn8 = { 'Row': 6, 'Column': 7, 'Taken?': 'No' } W_rook1 = { 'Row': 7, 'Column': 0, 'Taken?': 'No'} W_rook2 = { 'Row': 7, 'Column': 7, 'Taken?': 'No'} W_knight1 = { 'Row': 7, 'Column': 1, 'Taken?': 'No'} W_knight2 = { 'Row': 7, 'Column': 6, 'Taken?': 'No'} W_bishop1 = { 'Row': 7, 'Column': 2, 'Taken?': 'No'} W_bishop2 = { 'Row': 7, 'Column': 5, 'Taken?': 'No'} W_queen = { 'Row': 7, 'Column': 3, 'Taken?': 'No'} W_king = { 'Row': 7, 'Column': 4, 'Taken?': 'No'} Pawns = { 'Pawn 1': W_pawn1, 'Pawn 2': W_pawn2, 'Pawn 3': W_pawn3, 'Pawn 4': W_pawn4, 'Pawn 5': W_pawn5, 'Pawn 6': W_pawn6, 'Pawn 7': W_pawn7, 'Pawn 8': W_pawn8 } Rooks = { 'Rook 1': W_rook1, 'Rook 2': W_rook2 } Knights = { 'Knight 1': W_knight1, 'Knight 2': W_knight2 } Bishops = { 'Bishop 1': W_bishop1, 'Bishop 2': W_bishop2 } Queen = { 'Queen': W_queen } King = { 'King': W_king } White = { 'Pawns': Pawns, 'Rooks': Rooks, 'Knights': Knights, 'Bishops': Bishops, 'Queen': Queen, 'King': King } return White # Pawn Movement --------------------------------------------------------------- # def wpawn(board,color,which): # if which_one == 1: # board[color['Pawns']['Pawn 1']['Row'],color['Pawns']['Pawn 1']['Column']] = '' # empty current pos # temprow = color['Pawns']['Pawn 1']['Row'] # color['Pawns']['Pawn 1']['Row'] = temprow - 1 # edit row value in dictionary # board[color['Pawns']['Pawn 1']['Row'],color['Pawns']['Pawn 1']['Column']] = 'W_pawn' # update new pos in board # elif which_one == 2: # board[color['Pawns']['Pawn 2']['Row'],color['Pawns']['Pawn 2']['Column']] = '' # empty current pos # temprow = color['Pawns']['Pawn 2']['Row'] # color['Pawns']['Pawn 2']['Row'] = temprow - 1 # edit row value in dictionary # board[color['Pawns']['Pawn 2']['Row'],color['Pawns']['Pawn 2']['Column']] = 'W_pawn' # update new pos in board # elif which_one == 3: # board[color['Pawns']['Pawn 3']['Row'],color['Pawns']['Pawn 3']['Column']] = '' # empty current pos # temprow = color['Pawns']['Pawn 3']['Row'] # color['Pawns']['Pawn 3']['Row'] = temprow - 1 # edit row value in dictionary # board[color['Pawns']['Pawn 3']['Row'],color['Pawns']['Pawn 3']['Column']] = 'W_pawn' # update new pos in board # elif which_one == 4: # board[color['Pawns']['Pawn 4']['Row'],color['Pawns']['Pawn 4']['Column']] = '' # empty current pos # temprow = color['Pawns']['Pawn 4']['Row'] # color['Pawns']['Pawn 4']['Row'] = temprow - 1 # edit row value in dictionary # board[color['Pawns']['Pawn 4']['Row'],color['Pawns']['Pawn 4']['Column']] = 'W_pawn' # update new pos in board # elif which_one == 5: # board[color['Pawns']['Pawn 5']['Row'],color['Pawns']['Pawn 5']['Column']] = '' # empty current pos # temprow = color['Pawns']['Pawn 5']['Row'] # color['Pawns']['Pawn 5']['Row'] = temprow - 1 # edit row value in dictionary # board[color['Pawns']['Pawn 5']['Row'],color['Pawns']['Pawn 5']['Column']] = 'W_pawn' # update new pos in board # elif which_one == 6: # board[color['Pawns']['Pawn 6']['Row'],color['Pawns']['Pawn 6']['Column']] = '' # empty current pos # temprow = color['Pawns']['Pawn 6']['Row'] # color['Pawns']['Pawn 6']['Row'] = temprow - 1 # edit row value in dictionary # board[color['Pawns']['Pawn 6']['Row'],color['Pawns']['Pawn 6']['Column']] = 'W_pawn' # update new pos in board # elif which_one == 7: # board[color['Pawns']['Pawn 7']['Row'],color['Pawns']['Pawn 7']['Column']] = '' # empty current pos # temprow = color['Pawns']['Pawn 7']['Row'] # color['Pawns']['Pawn 7']['Row'] = temprow - 1 # edit row value in dictionary # board[color['Pawns']['Pawn 7']['Row'],color['Pawns']['Pawn 7']['Column']] = 'W_pawn' # update new pos in board # elif which_one == 8: # board[color['Pawns']['Pawn 8']['Row'],color['Pawns']['Pawn 8']['Column']] = '' # empty current pos # temprow = color['Pawns']['Pawn 8']['Row'] # color['Pawns']['Pawn 8']['Row'] = temprow - 1 # edit row value in dictionary # board[color['Pawns']['Pawn 8']['Row'],color['Pawns']['Pawn 8']['Column']] = 'W_pawn' # update new pos in board # return board,color def pawn(board,color,which): if color == 'white': nr = -1 spot = 'W_pawn' else: nr = 1 spot = 'B_pawn' # empty current pos board[color['Pawns']['Pawn %s' %(which)]['Row'],color['Pawns']['Pawn %s' %(which)]['Column']] = '' # edit row value in dictionary color['Pawns']['Pawn %s' %(which)]['Row'] += nr # update new pos in board board[color['Pawns']['Pawn %s' %(which)]['Row'],color['Pawns']['Pawn %s' %(which)]['Column']] = spot return board,color