А что вас смущает в вашей текущей реализации?
Лично мне не ясно только что вы будете делать в случае коллизий. Например, есть две клетки, между которыми находится еда, и они обе решили её съесть. Что произойдет? (другой вариант коллизии - одна клетка собралась атаковать, а другая уходит из атакуемой позиции)
А по поводу хранения игрового состояния в массиве у меня возражений нет.