fork download
  1. import random
  2. import time
  3.  
  4. WIDTH = 15
  5. HEIGHT = 7
  6.  
  7. def main():
  8. # Начальные данные
  9. snake = [(5, 3), (4, 3), (3, 3)]
  10. food = (10, 5)
  11. directions = [(0, 1), (0, -1), (1, 0), (-1, 0)] # вниз, вверх, вправо, влево
  12.  
  13. # Сделаем 10 ходов автоматически
  14. for _ in range(10):
  15. # Рисуем поле
  16. print("-" * (WIDTH + 2))
  17. for y in range(HEIGHT):
  18. row = "|"
  19. for x in range(WIDTH):
  20. if (x, y) == food: row += "*"
  21. elif (x, y) in snake: row += "O"
  22. else: row += "."
  23. print(row + "|")
  24. print("-" * (WIDTH + 2))
  25.  
  26. # "ИИ" змейки: выбирает случайный ход
  27. d = random.choice(directions)
  28. new_head = (snake[0][0] + d[0], snake[0][1] + d[1])
  29.  
  30. # Проверка границ
  31. if 0 <= new_head[0] < WIDTH and 0 <= new_head[1] < HEIGHT:
  32. snake.insert(0, new_head)
  33. if new_head == food:
  34. food = (random.randint(0, WIDTH-1), random.randint(0, HEIGHT-1))
  35. else:
  36. snake.pop()
  37.  
  38. print(f"Змейка шагнула на {new_head}")
  39. print("\n")
  40.  
  41. if __name__ == "__main__":
  42. main()
  43.  
Success #stdin #stdout 0.02s 11736KB
stdin
Standard input is empty
stdout
-----------------
|...............|
|...............|
|...............|
|...OOO.........|
|...............|
|..........*....|
|...............|
-----------------
Змейка шагнула на (4, 3)


-----------------
|...............|
|...............|
|...............|
|....OO.........|
|...............|
|..........*....|
|...............|
-----------------
Змейка шагнула на (3, 3)


-----------------
|...............|
|...............|
|...............|
|...OOO.........|
|...............|
|..........*....|
|...............|
-----------------
Змейка шагнула на (3, 4)


-----------------
|...............|
|...............|
|...............|
|...OO..........|
|...O...........|
|..........*....|
|...............|
-----------------
Змейка шагнула на (4, 4)


-----------------
|...............|
|...............|
|...............|
|...O...........|
|...OO..........|
|..........*....|
|...............|
-----------------
Змейка шагнула на (4, 3)


-----------------
|...............|
|...............|
|...............|
|....O..........|
|...OO..........|
|..........*....|
|...............|
-----------------
Змейка шагнула на (4, 4)


-----------------
|...............|
|...............|
|...............|
|....O..........|
|....O..........|
|..........*....|
|...............|
-----------------
Змейка шагнула на (3, 4)


-----------------
|...............|
|...............|
|...............|
|....O..........|
|...OO..........|
|..........*....|
|...............|
-----------------
Змейка шагнула на (3, 3)


-----------------
|...............|
|...............|
|...............|
|...O...........|
|...OO..........|
|..........*....|
|...............|
-----------------
Змейка шагнула на (3, 4)


-----------------
|...............|
|...............|
|...............|
|...O...........|
|...O...........|
|..........*....|
|...............|
-----------------
Змейка шагнула на (3, 5)