viligen

snake_2

Feb 18th, 2022
689
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.29 KB | None | 0 0
  1. def is_inside(r, c, size_):
  2.     if 0 <= r < size_ and 0 <= c < size_:
  3.         return True
  4.     return False
  5.  
  6.  
  7. size = int(input())
  8. field = []
  9.  
  10. snake_row, snake_col = None, None
  11. burrows = []
  12. total_food = 0
  13. for row in range(size):
  14.     field.append(list(input()))
  15.     if 'S' in field[row]:
  16.         snake_row, snake_col = row, field[row].index('S')
  17.     if 'B' in field[row]:
  18.         burrow_row, burrow_col = row, field[row].index('B')
  19.         burrows.append((burrow_row, burrow_col))
  20.  
  21. while total_food < 10:
  22.     command = input()
  23.     field[snake_row][snake_col] = '.'
  24.     if command == 'up':
  25.         snake_row -= 1
  26.     elif command == 'down':
  27.         snake_row += 1
  28.     elif command == 'right':
  29.         snake_col += 1
  30.     elif command == 'left':
  31.         snake_col -= 1
  32.  
  33.     if not is_inside(snake_row, snake_col, size):
  34.         print("Game over!")
  35.         break
  36.     if field[snake_row][snake_col] == '*':
  37.         total_food += 1
  38.     elif field[snake_row][snake_col] == 'B':
  39.         field[snake_row][snake_col] = '.'
  40.         snake_row, snake_col = burrows[0] if (snake_row, snake_col) == burrows[1] else burrows[1]
  41.  
  42.     field[snake_row][snake_col] = 'S'
  43.  
  44. else:
  45.     print("You won! You fed the snake.")
  46.  
  47. print(f"Food eaten: {total_food}")
  48.  
  49. for row in field:
  50.     print(*row, sep='')
  51.  
Advertisement
Add Comment
Please, Sign In to add comment