Facebook
From Queen Flamingo, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 58
  1.     def move_left(self):
  2.         '''
  3.         Moving the space to left
  4.         :return: a new board position or None if not possible
  5.         '''
  6.         # Replace 'return None' with you own code
  7.         new_node = copy.deepcopy(self.board)
  8.  
  9.         empty_space = []
  10.  
  11.         for i in range(3):
  12.             for j in range(3):
  13.                 if new_node[i][j] == 0:
  14.                     empty_space.append(i), empty_space.append(j)
  15.                     if empty_space[1] == 2:
  16.                         return None
  17.                     else:
  18.                         new_node[i][j], new_node[i][j - 1] = new_node[i][j - 1], new_node[i][j]
  19.                         return EightGameNode(new_node)
  20.  
  21.     def move_right(self):
  22.         '''
  23.         Moving the space to right
  24.         :return: a new board position or None if not possible
  25.         '''
  26.         # Replace 'return None' with you own code
  27.         new_node = copy.deepcopy(self.board)
  28.  
  29.         empty_space = []
  30.         for i in range(3):
  31.             for j in range(3):
  32.                 if new_node[i][j] == 0:
  33.                     empty_space.append(i), empty_space.append(j)
  34.                     if empty_space[1] == 2:
  35.                         return None
  36.                     else:
  37.                         new_node[i][j], new_node[i][j + 1] = new_node[i][j + 1], new_node[i][j]
  38.                         return EightGameNode(new_node)
  39.  
  40.  
  41.     def move_up(self):
  42.         '''
  43.         Moving the space up
  44.         :return: a new board position or None if not possible
  45.         '''
  46.         # Replace 'return None' with you own code
  47.         new_node = copy.deepcopy(self.board)
  48.  
  49.         empty_space = []
  50.  
  51.         for i in range(3):
  52.             for j in range(3):
  53.                 if new_node[i][j] == 0:
  54.                     empty_space.append(i), empty_space.append(j)
  55.                     if empty_space[1] == 2:
  56.                         return None
  57.                     else:
  58.                         new_node[i][j], new_node[i - 1][j] = new_node[i - 1][j], new_node[i][j]
  59.                         return EightGameNode(new_node)
  60.        
  61.  
  62.  
  63.     def move_down(self):
  64.         '''
  65.         Moving the space down
  66.         :return: a new board position or None if not possible
  67.         '''
  68.         # Replace 'return None' with you own code
  69.         new_node = copy.deepcopy(self.board)
  70.  
  71.         empty_space = []
  72.  
  73.         for i in range(3):
  74.             for j in range(3):
  75.                 if new_node[i][j] == 0:
  76.                     empty_space.append(i), empty_space.append(j)
  77.                     if empty_space[1] == 2:
  78.                         return None
  79.                     else:
  80.                         new_node[i][j], new_node[i + 1][j] = new_node[i + 1][j], new_node[i][j]
  81.                         return EightGameNode(new_node)
  82.