Программируем танк

Пример: поиск монеток

Рассмотрим пример: если бот видит монетку слева, он будет перемещаться в ее сторону. Этот пример легко расширить на все остальные направления.

Для поиска монетки, нам нужно перебрать все точки слева от нашей позиции (меняется координата по оси x, координата по оси y остается прежней).

def make_choice(x,y,field):
    width = len(field)
    height = len(field[0])

    for i in range(0, x):
        if field[i][y] == 1:
            return "go_left"

    # остальной код танка

Аналогично можно искать противников:

def make_choice(x,y,field):
    width = len(field)
    height = len(field[0])

    for i in range(0, x):
        # если в клетке не стена, не пусто и не монетка
        if field[i][y] not in [-1, 0 ,1]: 
            return "fire_left"

    # остальной код танка

В реальном коде танка нам также потребуется учитывать наличие стен.

Назад Вперед