title: Moving "robot" in x y grid - python
body: <p>My ultimate goal with this program I'm making is to use the A Star algorithm to let a robot find its goal in the grid. I'm not at the A star stage quite yet and I'm trying to figure out how to move the robot, but I'm not sure how to move the robot from it's current position to its next position (north, south, east, west).</p>
  
  <p>Note: I have not taken into consideration the grid boundaries or walls when moving quite yet. If anyone has a good idea on how I could tackle that, feel free to share your knowledge.</p>
  
  <p>Also, I can't seem to print out my grid, I don't use python often and I'm not entirely sure how to print out the grid. How would I print out the grid with certain characters representing a robot, walls, traps or paths?</p>
  
  <p>Thanks in advance. </p>
  
  <pre><code>class robot:
  
      def __init__ (self, name, grid, position):
          self.name = name
          self.position = position
          self.grid = grid
  
      def robot_position(position):
          position = (x,y)
          return robot.position
  
      def robot_neighbours(self, position):
          position = (x,y)
          results = [(x+1, y), (x, y-1), (x-1, y), (x, y+1)]
          return results
  
      def move_north():
          north = (x,y+1)
          robot.robot_position = north
          return robot.robot_position
  
  
  
  
  
  class game_board:
  
      def boundary(self, point): #defines the grids boundaries
          point = (x,y)
          return 0 &lt;= x &lt; self.width and 0 &lt;=y &lt; self.height
  
      def node_neighbours(self, point): #defines the current nodes neighbours
          point = (x,y)
          results = [(x+1, y), (x, y-1), (x-1, y), (x, y+1)]
          results = filter(self.grid_boundary, results) #filters out the boundary results
          results = filter(self.can_pass_through, results) #filters out the coordinates that you can pass through from those you can't
          return results
  
      def can_pass_through(self, point):
          return point not in self.walls
          return point not in self.traps
  
  #constructsthe2Dgrid
      def __init__(self, width, height): 
          self.width = width
          self.height = height
          self.name = " . "
          self.walls = []
          self.traps = []
  
      def build_grid(grid):
          for x in range(grid.width):
              for y in range (grid.height):
                  print(x, y)
          return "grid created" + width + " " + height
  </code></pre>