Я пытаюсь сделать игру Snake со светодиодом 16x16, используя Arduino (C ++).
Мне нужно назначить случайный индекс сетки для следующей плитки еды.
У меня есть список индексов, которые заняты змеей (snakeSquares).
Итак, я подумал, что мне нужно составить список потенциальных foodSquares. Затем я могу выбрать случайный индекс из этого списка и использовать его значение для моего следующего квадрата еды.
У меня есть некоторые идеи для этого, но они кажутся немного неуклюжими, поэтому я искал обратную связь. Я использую библиотеку Arduino LinkedList.h для своих списков вместо stdio.h (и random () вместо rand ()):
Создайте список (foodSquares), содержащий целые числа [0, 255], чтобы индексы соответствовали значениям в списке (я не знаю быстрого способа сделать это, возможно, потребуется использовать цикл a).
При создании списка snakeSquares установите foodSquares [i] = -1. После этого переберите foodSquares и удалите все элементы, равные -1.
Затем сгенерируйте случайное число randNum из [0, foodSquares.size () - 1] и сделайте следующий квадрат пищи, равный foodSquares [randNum].
Так что я думаю, мой вопрос, будет ли этот подход работать, и есть ли лучший способ сделать это?
Спасибо.