Я собираюсь построить свой собственный bejeweld в c с Glut и Opengl game info(wiki).C++ bejeweld связанный список vs arraylist
короткая информация об игре Игра состоит из сетки, скажем, 8х8, с разными драгоценными камнями. Когда вы создаете строку/столбец, по меньшей мере, из 3 драгоценных камней того же типа, путем замены двух смежных драгоценных камней, драгоценные камни будут исчезать. Игровое поле будет заполнено сверху.
Два дизайн consepts Связанные списки против массива
Есть несколько способов реализации этого, но я хотел бы самым простым в обслуживании и эффективным способом. Моя идея:
(2D-массив представляет игровое поле/сетку).
1) Связанный список, содержащий все указатели на объекты драгоценных камней (экземпляры). И 2D-массив, который содержит все указатели на элементы связанного списка для быстрого доступа к списку. Связанный список можно использовать для легкой печати игровых объектов. Каждый связанный объект списка поставляется с местом (драгоценными камнями, табло, время ГЭ)
2) Той же идеей, что и выше, но связанным списком для каждой строки или столбца и связанный список для других игровых элементов
3) Только 2D-массив с указателями на объекты/экземпляры (драгоценные камни).
необходимые операции
-swap элементы (камни), путем замены указателей?
- «создать» новые элементы (в верхней части сетки)
-check для строк/colomns с по крайней мере 3 того же вида драгоценных камней рядом друг с другом
Я надеюсь, что я сделал все ясно. Как вы думаете, что будет лучшим решением?
Это действительно не вопрос.Попробуйте то, что вы считаете лучшим. Если это не так, начните, если это произойдет, ура! – Anthales
Я думаю, что лучше всего использовать только 2-мерный массив, но я получил подсказку для использования 2D-массива в сочетании со связанным списком (идея 1). Поэтому я хотел бы знать мысли других – user1345112