ulvis.paste.net - pastebin

Paste Search Dynamic
get_move
  1. DIM = 5
  2. POSITION = 'o'
  3. EMPTY = 'x'
  4. LEFT = 'l'
  5. RIGHT = 'r'
  6. UP = 'u'
  7. DOWN = 'd'
  8. QUIT = 'q'
  9.  
  10. def get_move():
  11.     ''' Returns a move corresponding to the user input direction '''
  12.     move = input('Move: ')
  13.    
  14.     if move not in [LEFT, RIGHT, UP, DOWN]:
  15.         return QUIT
  16.     else:
  17.         return move
  18.  
  19. def initialize_grid():
  20.     ''' Returns an initialized grid for the given dimension '''
  21.     grid = []
  22.  
  23.     for i in range(DIM):
  24.         sublist = []
  25.         for j in range(DIM):
  26.             sublist.append(EMPTY)
  27.         grid.append(sublist)
  28.  
  29.     grid[0][0] = POSITION  # Current position
  30.     return grid
  31.  
  32. def print_grid(grid):
  33.     for row in grid:
  34.         out_str = ''
  35.         for col in row:
  36.             out_str += str(col) + ' '
  37.         print(out_str.strip())
  38.  
  39. def make_move(grid, move, x, y):
  40.     # check what move we have
  41.     grid[x][y] = EMPTY
  42.     if move == LEFT:
  43.         if y == 0:
  44.             y = DIM - 1
  45.         else:
  46.             y -= 1
  47.     elif move == RIGHT:
  48.         if y == DIM - 1:
  49.             y = 0
  50.         else:
  51.             x -= 1
  52.     elif move == UP:
  53.         if x == 0:
  54.             x = DIM - 1
  55.         else:
  56.             x -= 1
  57.     elif move == DOWN:
  58.         if x == DIM - 1:
  59.             x = 0
  60.         else:
  61.             x += 1
  62.     grid[x][y] = POSITION
  63.     return grid, x, y
  64.  
  65. def if_on_edge():
  66.     pass
  67.  
  68. # Main program starts here
  69. # In your implementation, you have to use the functions and the constants given above
  70.  
  71. def main():
  72.     x = 0
  73.     y = 0
  74.     grid = initialize_grid()
  75.     move = ''
  76.     while move != QUIT:
  77.         print_grid(grid)    # print the grid
  78.         #print(grid) # todo make print function for grid
  79.         move = get_move()   # make the move
  80.         grid, x, y = make_move(grid, move, x, y)
  81.  
  82.  
  83. main()
Parsed in 0.017 seconds