Ejemplo n.º 1
0
def move_bishop(curr_pos,chessboard,next_pos):
   flag=False
   if abs(int(curr_pos[1])-int(next_pos[1]))==abs(ord(curr_pos[0])-ord(next_pos[0])): #move is valid (diagonal)
	   chessboard, flag = c.checkinbetween_diagonal(curr_pos,chessboard,next_pos)
   if flag:
	   chessboard[c.translate_position(next_pos)]=chessboard[c.translate_position(curr_pos)]
	   chessboard[c.translate_position(curr_pos)]='e'
   return chessboard, flag
Ejemplo n.º 2
0
def move_tower(curr_pos,chessboard,next_pos):
   flag=False
   if curr_pos[0]==next_pos[0]:
       chessboard, flag=  c.checkinbetweenhorizontal(curr_pos,chessboard,next_pos)
   elif curr_pos[1]==next_pos[1]:
       chessboard, flag=c.checkinbetweenvertical(curr_pos,chessboard,next_pos)
   if flag:
	   chessboard[c.translate_position(next_pos)]=chessboard[c.translate_position(curr_pos)]
	   chessboard[c.translate_position(curr_pos)]='e'
   return chessboard, flag
Ejemplo n.º 3
0
def move_pawn(curr_pos,chessboard,next_pos):
   valid_move=False
   if curr_pos[0]==next_pos[0]:
       if (abs(int(curr_pos[1])-int(next_pos[1]))==2):
          chessboard, valid_move= c.checkinbetweenhorizontal(curr_pos,chessboard,next_pos)
       elif abs(int(curr_pos[1])-int(next_pos[1]))==1:
          chessboard, valid_move= c.checkinbetweenhorizontal(curr_pos,chessboard,next_pos)
       elif (abs(int(curr_pos[1])-int(next_pos[1]))==1)and (ord(cur_pos[0]-next_pos[0])): 
          y=c.translate_position(next_pos)
          if chessboard[y]!='e':
              valid_move=True
   if valid_move:
       chessboard[c.translate_position(next_pos)]=chessboard[c.translate_position(curr_pos)]
       chessboard[c.translate_position(curr_pos)]='e'
   return chessboard, valid_move
Ejemplo n.º 4
0
def move_queen(curr_pos, chessboard, next_pos):
    flag = False
    if abs(int(curr_pos[1]) - int(next_pos[1])) == abs(
            ord(curr_pos[0]) - ord(next_pos[0])):  #move is valid (diagonal)
        chessboard, flag = c.checkinbetween_diagonal(curr_pos, chessboard,
                                                     next_pos)
    elif curr_pos[0] == next_pos[0]:
        chessboard, flag = c.checkinbetweenhorizontal(curr_pos, chessboard,
                                                      next_pos)
    elif curr_pos[1] == next_pos[1]:
        chessboard, flag = c.checkinbetweenvertical(curr_pos, chessboard,
                                                    next_pos)
    if flag:
        chessboard[c.translate_position(next_pos)] = chessboard[
            c.translate_position(curr_pos)]
        chessboard[c.translate_position(curr_pos)] = 'e'
    return chessboard, flag
Ejemplo n.º 5
0
def make_move(curr_pos, chessboard, next_pos):
    x = chessboard[c.translate_position(curr_pos)]
    if x == 'e': return chessboard, False
    elif x == 't' or x == 'T':
        return t.move_tower(curr_pos, chessboard, next_pos)
    elif x == 'h' or x == 'H':
        return h.move_knight(curr_pos, chessboard, next_pos)
    elif x == 'b' or x == 'B':
        return b.move_bishop(curr_pos, chessboard, next_pos)
    elif x == 'p' or x == 'P':
        return p.move_pawn(curr_pos, chessboard, next_pos)
    elif x == 'q' or x == 'Q':
        return q.move_queen(curr_pos, chessboard, next_pos)
    elif x == 'k' or x == 'K':
        return k.move_king(curr_pos, chessboard, next_pos)
Ejemplo n.º 6
0
def move_knight(curr_pos, chessboard, next_pos):
    flag = True
    chessboard[c.translate_position(next_pos)] = chessboard[
        c.translate_position(curr_pos)]
    chessboard[c.translate_position(curr_pos)] = 'e'
    return chessboard, flag