import random
WIDTH = 15
HEIGHT = 7
def main():
# Начальные данные
snake = [(5, 3), (4, 3), (3, 3)]
food = (10, 5)
directions = [(0, 1), (0, -1), (1, 0), (-1, 0)] # вниз, вверх, вправо, влево
# Сделаем 10 ходов автоматически
for _ in range(10):
# Рисуем поле
print("-" * (WIDTH + 2))
for y in range(HEIGHT):
row = "|"
for x in range(WIDTH):
if (x, y) == food: row += "*"
elif (x, y) in snake: row += "O"
else: row += "."
print(row + "|")
print("-" * (WIDTH + 2))
# "ИИ" змейки: выбирает случайный ход
d = random.choice(directions)
new_head = (snake[0][0] + d[0], snake[0][1] + d[1])
# Проверка границ
if 0 <= new_head[0] < WIDTH and 0 <= new_head[1] < HEIGHT:
snake.insert(0, new_head)
if new_head == food:
food = (random.randint(0, WIDTH-1), random.randint(0, HEIGHT-1))
else:
snake.pop()
print(f"Змейка шагнула на {new_head}")
print("\n")
if __name__ == "__main__":
main()
aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQoKV0lEVEggPSAxNQpIRUlHSFQgPSA3CgpkZWYgbWFpbigpOgogICAgIyDQndCw0YfQsNC70YzQvdGL0LUg0LTQsNC90L3Ri9C1CiAgICBzbmFrZSA9IFsoNSwgMyksICg0LCAzKSwgKDMsIDMpXQogICAgZm9vZCA9ICgxMCwgNSkKICAgIGRpcmVjdGlvbnMgPSBbKDAsIDEpLCAoMCwgLTEpLCAoMSwgMCksICgtMSwgMCldICMg0LLQvdC40LcsINCy0LLQtdGA0YUsINCy0L/RgNCw0LLQviwg0LLQu9C10LLQvgogICAgCiAgICAjINCh0LTQtdC70LDQtdC8IDEwINGF0L7QtNC+0LIg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgKICAgIGZvciBfIGluIHJhbmdlKDEwKToKICAgICAgICAjINCg0LjRgdGD0LXQvCDQv9C+0LvQtQogICAgICAgIHByaW50KCItIiAqIChXSURUSCArIDIpKQogICAgICAgIGZvciB5IGluIHJhbmdlKEhFSUdIVCk6CiAgICAgICAgICAgIHJvdyA9ICJ8IgogICAgICAgICAgICBmb3IgeCBpbiByYW5nZShXSURUSCk6CiAgICAgICAgICAgICAgICBpZiAoeCwgeSkgPT0gZm9vZDogcm93ICs9ICIqIgogICAgICAgICAgICAgICAgZWxpZiAoeCwgeSkgaW4gc25ha2U6IHJvdyArPSAiTyIKICAgICAgICAgICAgICAgIGVsc2U6IHJvdyArPSAiLiIKICAgICAgICAgICAgcHJpbnQocm93ICsgInwiKQogICAgICAgIHByaW50KCItIiAqIChXSURUSCArIDIpKQoKICAgICAgICAjICLQmNCYIiDQt9C80LXQudC60Lg6INCy0YvQsdC40YDQsNC10YIg0YHQu9GD0YfQsNC50L3Ri9C5INGF0L7QtAogICAgICAgIGQgPSByYW5kb20uY2hvaWNlKGRpcmVjdGlvbnMpCiAgICAgICAgbmV3X2hlYWQgPSAoc25ha2VbMF1bMF0gKyBkWzBdLCBzbmFrZVswXVsxXSArIGRbMV0pCgogICAgICAgICMg0J/RgNC+0LLQtdGA0LrQsCDQs9GA0LDQvdC40YYKICAgICAgICBpZiAwIDw9IG5ld19oZWFkWzBdIDwgV0lEVEggYW5kIDAgPD0gbmV3X2hlYWRbMV0gPCBIRUlHSFQ6CiAgICAgICAgICAgIHNuYWtlLmluc2VydCgwLCBuZXdfaGVhZCkKICAgICAgICAgICAgaWYgbmV3X2hlYWQgPT0gZm9vZDoKICAgICAgICAgICAgICAgIGZvb2QgPSAocmFuZG9tLnJhbmRpbnQoMCwgV0lEVEgtMSksIHJhbmRvbS5yYW5kaW50KDAsIEhFSUdIVC0xKSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHNuYWtlLnBvcCgpCiAgICAgICAgCiAgICAgICAgcHJpbnQoZiLQl9C80LXQudC60LAg0YjQsNCz0L3Rg9C70LAg0L3QsCB7bmV3X2hlYWR9IikKICAgICAgICBwcmludCgiXG4iKQoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIG1haW4oKQo=
-----------------
|...............|
|...............|
|...............|
|...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)