Самый компактный способ представления перемещений граней игральных костей в кардинальных направлениях - PullRequest
0 голосов
/ 13 января 2019

Я делаю двумерную игру в кости на бейсике (думаю, механика похожа на игру в кости дьявола на Playstation, но 2D-графику сверху вниз). Я пытаюсь точно представить переходы кубика, когда он катится с одного лица на другое по кардинальным направлениям. Я могу посмотреть текущее значение кубика в данной позиции, но я не поддерживаю фактические представления объектов, соответствующие физическому кубику, поэтому моделирование трехмерных кубиков в игре отсутствует.

Я могу придумать два способа сделать это, но не могу реализовать их правильно.

  1. Создайте справочную таблицу с заданной гранью, ориентацией и направлением крена, которая возвращает новую правильно ориентированную поверхность штампа.
  2. Что-то о побитовой арифметике, которую я не понимаю из ответа # 3 на этой странице . Кажется, что это может быть сложнее в реализации, но, возможно, меньше, более элегантный код. Однако мне не нужно ничего делать с вращением, ребрами или анимацией, просто выбирая следующую грань вверх.

Я стараюсь не преждевременно оптимизировать, но в конечном итоге код должен быть настолько компактным, насколько это возможно. BASIC, так что я не использую никаких сложных 3D-библиотек или игровых движков, я хочу держать это близко к голому металлу, насколько логическое моделирование физики идет.

...