как вариант делаешь матрицу NxM из интежеров, с разными значениями, допустим:
0-путо
11-наш золдатен
12-не наш убер золдатен
21-дерево
22-стена
и т.д.
а потом проверяя - если матр[x;y]<>0 - занято, елс - не занято
когда-то таким макаром сделал пошаговую стратежку без ИИ

на дельфях...