Я нахожусь на заключительной стадии создания игры Pacman для класса Computer Science. Моя игра функционирует так, как должна, за исключением одной ключевой вещи. Это изменчиво. Я знаю причину, почему она изменчивая, но я не знаю, как ее исправить. Моя проблема в том, что я умножаюсь на 21 из и массива (ниже) для Pacman's и Ghost's Coords. И у меня есть отсрочка 100 мс, означающая, что pacman перемещает 21 пиксель каждые 100 мс, что не является гладким.Создание гладкой анимации при движении из массива
Вот что массив выглядит как в случае, если это имеет значение:
public int board[][] =
{{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2}, //1
{2, 0, 3, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 3, 0, 2}, //2
{2, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 2}, //3
{2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2}, //4
{2,0,1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,1,0,2}, //5
{2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,0,2}, //6
{2,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2}, //7
{2,2,2,2,0,1,0,1,1,1,1,1,1,1,0,1,0,2,2,2,2}, //8
{0,0,0,0,0,1,0,1,0,0,-1,0,0,1,0,1,0,0,0,0,0}, //9
{5,2,2,2,2,1,1,1,0,2,2,2,0,1,1,1,2,2,2,2,6}, //10
{0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0}, //11
{2,2,2,2,0,1,0,1,1,1,2,1,1,1,0,1,0,2,2,2,2}, //12
{2,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,2}, //13
{2,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,2}, //14 - pacman on this row
{2,0,1,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,2}, //15
{2,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2}, //16
{2,0,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,0,2}, //17
{2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1,0,2}, //18
{2,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,2}, //19
{2,0,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,2}, //20
{2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2}}; //21
В основном каждая строка является строкой. Из этого берется доска. Например, для перемещения вверх, это просто вопрос проверки, находится ли пятно над текущим местоположением, и если оно добавляет его в массив и умножает на 21 для новой позиции.
Что я хочу сделать, это замедлить скорость движения Pacman и в то же время сделать ее гладкой. Если вам нужна другая информация, я могу предоставить еще несколько фрагментов кода.
Редактировать: В соответствии с запросом приведен код. Я знаю, что это, вероятно, не все нужно, но я не знал, какие части будут необходимы, чтобы помочь в полной мере. И это в значительной степени полностью прокомментировано.
Вот ссылка на него, так как это долго для предела полукокса здесь: Pastebin - Pacman
Я не уверен, если это уместно, но это было бы намного легче просто создайте файл, содержащий «строки», а затем прочитайте его. Кроме того, разместите код. – Jimmt
Добавлен код. Надеюсь, это поможет! – ComputerLocus