Во-первых, когда я запускаю этот код, я получаю 4, как я думаю, вы ищете. Если вы хотите знать, был ли уже собран мусор в вашем квадрате, я думаю, вам может потребоваться отслеживать это параллельно с вашими перемещениями и коллекциями ... есть несколько способов сделать это, я бы предложил список списков для вашего grid, если вам нужна сетка 3x3, создайте что-то вроде:
grid = [[0,0,0],[0,0,0],[0,0,0]]
, теперь у вас может быть что-то для отслеживания того, где был собран мусор и есть ли какой-то мусор.
Итак, теперь вашим следующим шагом будет определение начальной точки, например
grid[0][0]
, тогда, если вы переместитесь на одну выше, вы окажетесь в
grid[1][0]
если вы посетите это место, в своей функции сделайте что-нибудь вроде:
newPos = grid[1][0]
if (newPos != 1) {
// do your collecting and change grid[1][0] form 0 to 1
} else {
// don't collect, track your movement or whatever else you want.
}
Надеюсь, это было полезно! Удачи