Есть ли способ переместить спрайт через доску многомерного массива с конкретными взаимодействиями?

#java #multidimensional-array

#java #многомерный массив

Вопрос:

Мне было интересно, есть ли способ создать доску из списка массивов, а затем переместить спрайт через эту доску с конкретными взаимодействиями.

Это пример списка массивов, который я создал. Затем я рисую доску с помощью функции рисования. Но проблема в том, что после создания платы и ввода с клавиатуры я не совсем уверен, как переместить мой спрайт по этой плате с конкретными взаимодействиями. Идея заключается в том, что когда спрайт попадает на любое число, кроме числа 3, он сбрасывается обратно на число 2. Есть ли способ заставить это работать?

Просто для ясности, я ввел ввод с клавиатуры, например, перемещение влево при нажатии левой клавиши и тому подобное. Я просто застрял в том, чтобы сбросить его, когда он не попадает в правильную плитку на плате.

 private int[][] board = {
        {1, 1, 1, 1, 1, 1, 1, 1},
        {1, 0, 3, 3, 0, 3, 4, 1},
        {1, 0, 3, 3, 3, 0, 3, 1},
        {1, 3, 3, 0, 3, 3, 0, 1},
        {1, 0, 3, 0, 3, 0, 0, 1},
        {1, 3, 0, 3, 0, 0, 0, 1},
        {1, 2, 3, 0, 3, 0, 0, 1},
        {1, 1, 1, 1, 1, 1, 1, 1}};
  

Комментарии:

1. Вы не упоминаете, используете ли вы AWT, Swing или JavaFX для рисования. Мой совет — создать логическую модель из вашей платы и спрайта и логически определить, что происходит, когда спрайт попадает на разные числа. Ваш графический интерфейс (просмотр) должен показывать, что происходит в логической модели. Смотрите шаблон модель / вид / контроллер для более подробного объяснения.

2. @GilbertLeBlanc Я использую AWT для рисования. И, хорошо, спасибо, я постараюсь это сделать.